public class leixingzhuanhuan {
public static void main(String[] args) {
int i = 128;
byte b = (byte)i;
double d = i;
System.out.println(i);
System.out.println(b);//-128
System.out.println(d);//128.0
//内存溢出
//强制转换 (类型)变量名 高到低
//自动转换 (类型)变量名 低到高
/*
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.高容量转换到低容量,强制转换
4.注意内存溢出的问题,或者精度的问题。
*/
System.out.println("=============================");
System.out.println((int)35.7);//35
System.out.println((int)-45.2f);//-45 精度问题
System.out.println("=============================");
char as = 'a';
int ad = as + 1;
System.out.println(ad);
System.out.println((char)ad);
System.out.println("=============================");
//======================================================================
//操作较大的数的时候,注意溢出
int money = 20_0000_0000;
int year = 10;
int total = money*year;
System.out.println(total);//-1474836480 溢出了
long total2 = money*year;
System.out.println(total2);//-1474836480 还是溢出了
// 默认是int 先转换为int 这时已出问题 再转换为long
long total3 = ((long)money)*year;//先把一个数转换为long
System.out.println(total3);//20000000000
}
}
标签:类型转换,转换,int,System,long,println,out
From: https://www.cnblogs.com/799rijiyuelei/p/16754022.html