类型转换
public class D06 {
public static void main(String[] args) {
//int i =128;
/*byte b =(byte) i;*///内存溢出
//强制转换(类名)变量名 高----低
//自动转换(类名)变量名 低----高
/*double b =i;
System.out.println(i);
System.out.println(b);
System.out.println("======================================");
System.out.println((int) 23.7);//23
System.out.println((int) -45.89f);//- 45*/
System.out.println("=================================================");
char c='a';
int d = c+2;
System.out.println(d);
System.out.println((char) d);
}
}
/*
* 1.不能对布尔值进行转换
* 2.不能把对象类型转换为不相干的类型
* 3.高----低的时候,强制转换
* 4.转换的时候可能存在内存溢出,或者精度问题
*/
public class D07 {
public static void main(String[] args) {
int money =10_0000_0000;//数字之间可以用下划线切割
int years =20;
int xw=money*years;
long xw1=money*years;
System.out.println(xw);//计算溢出-1474836480
System.out.println(xw1);//默认是int,转换前就存在问题了
System.out.println("================================");
long xw2=money*((long)years);//先转换一个数为long
System.out.println(xw2);
long xw3 =((long) money)*years;
System.out.println(xw3);
long i5=2000000000000L;//L尽量大写
System.out.println(i5);
}
}