import java.sql.SQLOutput;
public class Demo06 {
public static void main(String[] args) {
int i = 128;
byte b = (byte) i;//byte最大值位127 所以变为负数是内存溢出
//转换时尽量避免溢出的情况
//强制转换 格式(类型) 变量名 高----低
System.out.println(i);
System.out.println(b);
//自动转换 低----高
int u = 128;
double y = u;
System.out.println(u);
System.out.println(y);
/*注意点;1.不能对布尔值进行转换2.不能把对象类型转换为不相干的类型3.在把高容量转换到底容量的时候,强制转换4.转换的时候可能存在内存溢出,或者精度问题!*/System.out.println("=============================");System.out.println((int) 23.7);//23System.out.println((int) -45.89);//-45//这就是精度的问题System.out.println("===========================");char c = 'a';int d = c+1;System.out.println(d);System.out.println((char)d);}
}
public class Demo07 {
public static void main(String[] args) {
//操作比较大的数的时候,注意溢出问题
//JDK新特性,数字之间可以用下划线分割
int money =10_0000_0000;
System.out.println(money);
int years = 20;
int total = moneyyears;//-1474836480,负数是因为计算的时候溢出了
long total2 =moneyyears;//默认使得int,转换之前已经存在问题了?
long total3 =money*((long)years);//先把一个数转换成long
System.out.println(total3);
//Long L尽量大写
}
}
