此笔记记录一些在学习C语言时没有见过的Java语言的特性/用法/等等.
1.存储类型
四类 | 八种 | 字节数 | 数据范围(2的次方) |
整型 | byte | 1 | -128~127(7) |
short | 2 | -32768~32767(15) | |
int | 4 | (31) | |
long | 8 | (63) | |
浮点型 | float | 4 | -3.40E38 ~ +3.40E38(128) |
double | 8 | -1.79E308 ~ +1.79E308(1024) | |
字符型 | char | 2 | 单个字符 |
布尔型 | boolean | 1 | true/false |
2.自动类型转换
范围小的类型自动转换为大的类型:
byte -> short -> int -> long -> float -> double
3.强制类型转换
范围大到范围小 的需强制类型转换.强制类型转换可能会导致损失精度:
范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值;
如: int i = (int) 6.28;
赋值运算中的强转:
byte b = 1;
b += b+1; <=> b = (byte)(b+1);
赋值运算符自带强转.
4.逻辑运算符
^ 异或: 符号两边相同为false,不同为true.
&& 短路与: 一边是false,另一边不运行. 比&效率高.
|| 短路或: 一边是ture,另一边不运行. 比|效率高.