类型转换
不同类型之间进行计算会有默认转换(从低到高)
从高到低,要进行强制转换
强制转换的问题
- 转换后可能会出现内存溢出
int i = 128;
byte b = (byte)i;
System.out.println(b);
结果:-128
- 不能对boolean进行转换
- 不能转换互不相干的对象
- 可能会出现精度问题
System.out.println((int)23.7);
System.out.println((int)-45.89f);
结果:23
-45
大数操作注意内存溢出问题
int money = 10_0000_0000;//jdk1.7特性,数字之间可以加下划线
int years = 20;
System.out.println(money*years);
int month = 200;
System.out.println(money*month);
System.out.println(money*(long)month);
结果:-1474836480
-1474836480
20000000000
希望在码农的山坡上越攀越高,欢迎各位大佬看官的指正及补充