本文仅为注意事项,非学习方案
1. 隐式数据类型转换
代码不需要特殊处理,自动完成 数据范围从小到大
long num1=100;
double num2=2.5F;
2. 强制类型转换
int num =(int)100L;
2.1. 数据溢出
可以运行通过,但是数据精度会发生问题
byte/short/char这三种类型在运算的时候,都会被首先提升成为int类型 然后计算
在Java中,boolean类型的不能进行数值转换,不能被默认当作1/0
3. +号在字符串中的应用
String str="hello";
System.out.println(str+20+30);//输出hello2030
System.out.println(str+(20+30));//输出hello50
4. 与非或关系
&& ! ||
5. 轻量化使用java ————jshell
在命令行输入jshell 退出 /exit
6. 编译器注意事项
对于byte/short/char三种类型来说,如果右侧赋值的数值没有超过范围,
那么javac编译器将会自动隐含地为我们补上一个(byte)(short)(char)。
如果没有超过左侧的范围,编译器补上强转。
如果右侧超过了左侧范围,那么直接编译器报错。
在给变量进行赋值的时候,如果右侧的表达式当中全都是常量,没有任何变量,
那么编译器javac将会直接将若干个常量表达式计算得到结果。
short result = 5 + 8; // 等号右边全都是常量,没有任何变量参与运算
编译之后,得到的.class字节码文件当中相当于【直接就是】:
short result = 13;
右侧的常量结果数值,没有超过左侧范围,所以正确。