publicclassDemo02{publicstaticvoidmain(String[] args){int i =128;byte a =(byte)i;//强制转换 因为byte不能超过128,超过就是溢出double b = i;//自动转换//强制转换 (类型)变量名 高-->低//自动转换 低-->高//低------------------>高//byte-->short-->char-->int-->long-->doubleSystem.out.println(i);System.out.println(a);System.out.println(b);/*
注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换;反之不用动(自动转换)
4.转换的时候可能存在内存溢出,或者精度问题
*/System.out.println((int)27.5);//结果为27System.out.println((int)-45.7);//结果为-45char c ='a';int d = c +1;System.out.println(d);System.out.println((char)d);}}
补充
publicclassDemo03{publicstaticvoidmain(String[] args){//操作比较大的数的时候,注意溢出问题//JDK7新特性,数字之间可以用下划线分割int a =1234567891;int b =12_3456_7891;int c =20;int total = a*c;//-1078445956,计算的时候溢出了long total1 = a*c;//默认是int,转换之前已经存在问题了long total2 = a*((long)c);System.out.println(a);System.out.println(b);System.out.println(total);System.out.println(total1);System.out.println(total2);//L和l最好用大写的L}}