public class Demo04 { //类型转换 //低->高 //byte,short,char->int->long->float->double public static void main(String[] args) { int i =128; //强制转换 高->低 byte e = (byte)i; System.out.println(i); System.out.println(e); /* * 128 * -128 内存溢出 * */ int i2 =128; //自动转换 低->高 double d = i2; System.out.println(i); System.out.println(d); /*注意点 * 1。不能对布尔值转换 * 2。不能把对象类型转换为不相干的类型 * 3。把高容量的转为低容的时候,强制转换 * 4。强转可能会内容溢出,或者精度问题 * */ System.out.println("=========="); System.out.println((int)23.7);//23 System.out.println((int)-45.89f);//-45 System.out.println("=========="); char c='a'; int dd =c+1; System.out.println(c);//a System.out.println(dd);//98 System.out.println((char)dd);//b } } public class Demo06 { public static void main(String[] args) { //操作比较大数的时候,注意溢出问题 //JDK7新特性,数字之间可以用下划线分割 int money =10_0000_0000; System.out.println(money); int years = 20; int total = money*years;//-1474836480 内存溢出 System.out.println(total); //建议方法 long total2 =money*((long)years); System.out.println(total2);//20000000000 //L和l } }