目录
基本数据类型
Java中共有8中数据类型,整型(byte,short,int,long)、浮点型(float,double)、字符型、布尔型。
- 进制:十进制不能以0开头,八进制以0开头,十六进制以0X或0x开头。
- 整型:使用long类型时要在后面加L或l防止精度缺失(溢出)。Java默认整数为int类型。
- 浮点型:使用float类型时要在后面加F或f否则会出错。Java默认小数为double类型。
为避免4.35*100=4.34999999的问题,使用Math.round()进行四舍五入。
为避免2.0-1.9 == 0.1不相等,使用Math.abs(),如果两个数之间的绝对值小于1e-6,判定为0,即认为相等。
- 字符类型:Java使用unicode编码,字符编码从0x0000-0xffff。占两个字节。
- char型
- 转义
- 布尔类型:true、false
变量与常量
- 标识符:由字母、下划线、美元符号、数字组成,并且第一个字符不能是数字。
- 关键字:
- 变量:
- 必须是一个有效的标识符;不能使用关键字;不重复;选择有意义的变量名。
- 局部变量屏蔽静态变量
- 常量:final 数据类型 变量名[=值]。
- final变量属于成员变量(类成员变量)时必须在定义时赋值。
- 属于方法内的常量时可以先定义,后赋值。
- 变量的范围:
- 成员变量分为静态变量(加static int a;可以跨类,使用类.变量名引用)和实例变量(一般的int a)。
- 局部变量(方法中定义的变量)屏蔽成员变量(类中定义的变量)
运算符
- 赋值运算符:=
- 算术运算符:
- 自增自减运算符:++a,a++,--a,a--。
- 先改变值还是先使用值的区别。
- 单目运算符,不能放在括号外。
- 比较运算符:
- 不能串联使用
- 逻辑运算符:
- &&,||:操作数必须是boolean类型,短路
- 位逻辑运算符也可以进行逻辑运算:&、|、^
- 位运算符:
- 位逻辑运算符:按位与&、按位或|、按位取反~、按位异或^;
- 位移运算符:左移<<、右移>>、无符号右移>>>
- 技巧:右移移位相当于除以2,左移移位相当于除以2。
- 三元运算符:条件表达式? 值1:值2; 条件表达式为true整个表达式取值1,否则取值2。
- 是有返回值的,必须使用。
- 运算符优先级
类型转换
- 隐式类型转换:byte < short < int < long < float < double。char型也可以转换为int及更高级类型。转换为byte、short有可能溢出,因为byte只有一个字节、short有两个字节,但是超过32767的数就会为负数,char是unicode编码为两个字节。
- 显式类型转换:
- 除了boolean之外,其他基本类型之间的转换都能以显式类型转换的方法达到。int a = (int)1.2;
- 把一个值赋给byte、short、int、long型变量时,不能超出变量的取值范围,否则会报错,必须使用强制类型转换。
- 强制类型转换会造成数据失准、小数点丢失、溢出。
代码规范
- 代码注释:单行注释//、多行注释/*...*/、文档注释/**...*/
- 注意:多行注释不可嵌套多行注释
标识符命名规范
- 类名:通常使用名词,所有单词首字母大写
- 方法名:通常使用动词,首单词字母小写,后续单词首字母大写
- 变量:首单词字母小写,后续单词首字母大写
- 常量:所有字母均大写