ReviewDay1
一. 数据类型
1. 整型
-
int 32 位, 4 字节 (20亿)
-
byte 8 位, 1 字节
-
long 8 字节, short 2字节 (声明long型须加’l’or ‘L’)
2 浮点类型
-
float 32 位, 4 字节 (声明需要加 ‘f’ or ‘F’)
-
double 64 位, 8 字节 (小数默认为double)
*正无穷大: Double.POSITIVE_INFINITY
*负无穷大: Double.NEGATIVE_INFINITY
*不是数字: Double.NaN
浮点数=符号位+指数位+尾数位
二进制无法精确表示 1/10 就好像十进制无法精确表示 1/3
如果数值计算中不允许有舍入误差,应用 BigDecimal 类,这不是基本Java类型,而是Java对象。
3 char 类型
-
’ ’ 单引号括起来的单个字符
-
\u: 转义序列 \u
注释中的 \u
// \u000A is a newline
注释中的 \u000A 会被替换为一个换行符,从而产生语法错误
4 boolean 类型
- ture / false
整形值不能和Boolean相互转换
二. 变量与常量
1. 声明: 变量类型 + 变量名
-
大小写敏感
-
不能用Java保留字
2. 变量初始化
-
不能使用未经初始化的变量
-
必须先用赋值语句对变量显式初始化
变量的声明尽量靠近变量第一次使用的地方
3. 常量
- 关键字 final 指示常量
final 修饰的变量只能被赋值一次
4.枚举类型
三. 运算符
1. 算术运算符
- +, -, *, /, %
整数除法只会保留整数部分如: 10/3 = 3
整数被 零除会产生异常, 浮点数被 零除将得到无穷大或 NaN
strictfp 修饰下的main所有指令都将使用严格的浮点计算
-
&& 短路与:如果第一个条件为 false,则第二个条件不会判断,最终结果为 false,效率高
-
& 逻辑与:不管第一个条件是否为 false,第二个条件都要判断,效率低
-
|| 短路或:如果第一个条件为 true,则第二个条件不会判断,最终结果为 true,效率高
-
| 逻辑或:不管第一个条件是否为 true,第二个条件都要判断,效率低
2. 数学函数与常量
- Math 类