数据转换注意事项
public class Demo3 {
public static void main(String[] args) {
int i = 128;
byte b = (byte)i; //强制转换
System.out.println(i); //128
System.out.println(b); //-128 不能高转低 会出现数值溢出
System.out.println("====================================");
// 不能高转低 会出现数值溢出
int i1 = 128;
long l = i1;
System.out.println(l);//128
//低转高 自动转换
/*
注意点
1. 不能对布尔值进行转换
2. 不能把对象类型转换成不相干的类型
3.在把高容量转换为低容量 强制转换
4.转换的时候可能存在内存溢出,或者精度问题
*/
System.out.println((int)23.7); //23
System.out.println((int)24.89F);//24
System.out.println("===============");
char c = 'b';
int i3 = c+1;
System.out.println(i3);//99
int money =10_0000_0000;
int year = 20;
int total = money*year;
System.out.println(total);//-1474836480
long total2 = money*year;//转换前是int 类型 输出还是-1474836480
System.out.println(total2);
long total3 = ((long)money)*((long)year);//先转换为同类型的再运算
System.out.println(total3);
//long类型 用L 大写表示 规范 不要用小写l 容易看错
}
}