类型转换
public class Dome03 {
public static void main(String[] args) {
int i = 128;
byte b = (byte)i; //强制转换,内存溢出 128超出了byte的数值范围所以显示出-128
//byte b = i; //自动转换
//强制转换 (类型)变量名 高--->低
//自动转换 低--->高
System.out.println(i); //128
System.out.println(b); //-128
/*
注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不想干的类型
3.在把高容量转换到低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题!
*/
//精度问题
System.out.println((int)44.23); //44
System.out.println((int)-25.342f); //-25
System.out.println("==================");
//字符问题
char c = 'a';
int d = c + 1;
System.out.println(d); //98
System.out.println((char)d); //b
//操作比较大的数时,注意溢出问题
//JDK7的新特性,在数字之间可以用下划线分割
int money = 10_0000_0000;
int years = 20;
int total = money*years; //-1474836480,计算是溢出了
long total02 = money*years; //默认是int,转换之前已经存在问题了
long total03 = money*((long)years); //先把一个数转换为long
System.out.println(total03); //20000000000
}
}
日积月累!大佬们带带我!!!好助理一枚!