Java程序运行机制:
编写程序 .java —> 编译生成字节码文件 .class —>虚拟机解释执行
编译生成 .class文件 :javac xxx.java
执行:java xxx
注释、标识符、变量、常量
注释快捷键: Ctrl + /
标识符:字符、数字、下划线、$ ,必须以字母、下划线、$开头
变量:局部变量,成员变量(实例变量:从属于对象,静态变量:从属于类)
常量: final关键字, 比如: final int a = 10;
基本数据类型与引用数据类型
基本数据类型:
数值型:byte, short, int, long, float, double (大小分别是1, 2, 4, 8, 4, 8字节)
字符型:char (2字节)
布尔型:boolean (只能是true, false)
引用数据类型: 类:class , 接口:interface , 数组 (都是4字节)
注意:
- 整型常量默认为int类型,后面加L才是long类型的常量。 // long a = 100L
- 浮点型常量默认为double类型,float类型赋值时需要加F。// float a = 3.14F
- 浮点数不精确,一定不要用比较,不要在金融领域使用。如果需要使用java.math包中的BigInteger 和 BigDecimal类。
运算符
进制: 二进制: 0b, 八进制:0,十六进制:0x
运算符:+, -, *, /, %, ++, –
整数运算注意:
- 两个数中只要有一个为long,结果为long; 没有long时, 结果都为int
- 两个数有一个为double,结果为double; 只有两个都为float, 结果才为float
- 操作比较大的数时,要留意是否溢出,尤其是整数操作时。// long a = 2332L*money; //money位int类型
关系运算符:==, !=, >=, <=, >, <
逻辑运算符:短路与:&& 短路或:|| 其它:&, |, !, ^
位运算符:~, &, |, ^, >>, <<
条件运算符:x ? y : z
自动类型转换:由容量小的转向容量大的。
强制类型装换: (int), (long), (char)… // char a = (char)97;
选择结构、循环结构
选择结构: if(){}, if(){} else{}, if(){} else if(){} else if(){} else{}, switch
循环结构:while(){}, for(){}
方法、重载
方法语法:[修饰符1, 修饰符2…] 返回值类型 方法名(参数){ }
public int add(int a, int b){
return a + b;
}
方法的重载:实际是完全不同的方法,只是名称相同。
构成方法重载的条件:
- 不同的含义:形参类型,形参个数,形参类型不同时的形参的顺序。
- 只有返回值不同,不构成方法的重载。只有形参名称不同,不构成方法的重载。
public int add(int a, int b){
return a + b;
}
// 重载方法, 形参个数不同
public int add(int a, int b, int c){
return a + b + c;
}