Java类型转换

Java类型转换


// 低-->高
// byte,short,char -> int -> long -> float -> double
//转换时可能会造成“内存溢出”或“精度丢失”
int i = 128;
byte b = i;   //内存溢出,结果为-127,byte最大值127
byte b = (byte)i;  //需要强制转换

double c = 45.5;
float d = -45.5f;
sout((int)c);  //输出45
sout((int)d);  //输出-45

//JDK7新特性,数值之间可以用“_”分割,输出时不显示_
int salary = 10_0000_0000;
int years - 20;
int total1 = salary*years;  //结果为-1474836480,计算时溢出了
long total2 = salary*years;  //显示前的计算就已经出现了内存溢出,默认还是int类型
long total3 = salary*((long)years);  //先转换一个值为long类型

 

posted @ 2022-01-18 23:42  梦境者  阅读(43)  评论(0)    收藏  举报