- Java基础——狂神说
- 一、第一章——基础语法
- 1、标识符
- 1.1、关键字
- 1.2、合法标识符的规范
- 2、变量、数据类型、常量
- 2.1、变量的分类
- 2.1.1、按数据类型分类
- 2.1.1.1、整数类型
- 2.1.1.2、浮点类型
- 2.1.2、按声明的位置的不同分类
- 3、基本数据类型转换
- 4、常量
- 5、名称的命名规则
- 6、运算符
- 二、第二章——流程控制
- 1、用户交互Scanner
- 1.1 基本语法
- 1.2 next()和nextLine()的区别
- 2、顺序结构
- 3、选择结构
- 4、循环结构
- 三、第三章——方法
- 1、方法的重载
- 2、可变参数
- 3、递归算法
- 3.1、递归的思路
- 3.2、代码演示——斐波那契数列
- 四、第四章——数组
- 1、一维数组
- 1.1、一维数组的声明
- 1.2、一维数组的三种初始化
- 1.2.1、静态初始化
- 1.2.2、动态初始化
- 1.2.3、默认初始化及默认初始化值
- 1.3、内存分析
| Java | C语言 |
|---|---|
| 由26个英文字母大小写,0-9 ,_或 $ 组成 | 由字母、下划线(_)或数字(0~9)组成 |
| 数字不可以开头。 | 必须由一个字母或下划线(_)开头 |
| 不可以使用关键字,但能包含关键字。 | |
| Java中严格区分大小写,长度无限制。 | |
| 标识符不能包含空格。 |
注意:最好避免完全使用float数进行比较(下面代码是反例)
public static void main(String[] args) {
float num1 = 1321546541212154f;
float num2 = num1 + 100.54152113124f;
System.out.println(num1 == num2);//结果为:true
}
2.1.2、按声明的位置的不同分类
3、基本数据类型转换
容量大——>容量小:强制类型转换
容量小——>容量大:自动类型转换
public static void main(String[] args) {
double num1 = 14.235;
int num2 = (int)num1;
System.out.println(num2);//14(强制类型转换)
int num3 = 123;
double num4 = num3;
System.out.println(num4);//123.0(自动类型转换)
}
4、常量
5、名称的命名规则
6、运算符
大部分与c语言的运算符类似,新增了“instanceof”运算符,用来测试指定对象是否是指定类型(类或子类或接口)的实例。
需要注意的是 :逻辑与(&)和短路与(&&)的区别:
public static void main(String[] args) {
//创建一个Scanner对象
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接受:");
//判断是否输入字符串
if(scanner.hasNext()){
String str = scanner.next();//键盘输入的是"hello world"
System.out.println("输入的内容为:" + str);//输入的结果为:hello
}
scanner.close();
}
public static void main(String[] args) {
//创建一个Scanner对象
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方式接受:");
//判断是否输入字符串
if(scanner.hasNextLine()){
String str = scanner.nextLine();//键盘输入的是"hello world"
System.out.println("输入的内容为:" + str);//输出的结果为:hello world
}
scanner.close();
}
2、顺序结构
与c语言内容类似,不赘述。
3、选择结构与c语言内容类似,不赘述。
4、循环结构其他内容与c语言内容类似,不赘述。
增强for循环:主要用于数组或集合
代码演示:
public static void main(String[] args) {
double[] scores = new double[]{60,70,80,90,40};
demo01.test(scores.length,scores);
}
public static void test(int count , double ... scores){
if(count <= 0){
System.out.println("无输入的数据");
}else{
System.out.println("输入的数据为:");
for (int i = 0; i < scores.length; i++) {
System.out.print(scores[i] + "t");
}
}
}
输出的结果为:
3、递归算法 3.1、递归的思路输入的数据为:
60.0 70.0 80.0 90.0 40.0
一个方法在执行时,调用自身被称为“递归”。
递归相当于数学归纳法,有一个起始条件,有一个递推公式。
递归可以分为:单路递归和多路递归(如二叉树和斐波那契数列)。
斐波那契数列:1 1 2 3 5 8 13
public static void main(String[] args) {
System.out.println(fib(7));//输出的结果为:13
}
public static int fib(int n){
if(n==1 || n==2){
return 1;
}
return fib(n-1) + fib(n-2);
}
四、第四章——数组
1、一维数组
1.1、一维数组的声明
1.2、一维数组的三种初始化
1.2.1、静态初始化
1.2.2、动态初始化
1.2.3、默认初始化及默认初始化值
默认初始化值:
内存解析实例



