publicclassTypeDemo1{publicstaticvoidmain(String[] args){// 目标:理解自动类型转换byte a =20;int b = a;// 发生自动类型转换System.out.println(a);// 20System.out.println(b);// 20int age =22;double db = age;System.out.println(db);// 22.0char ch ='a';// 00000000 01100001int code = ch;// 00000000 00000000 00000000 01100001System.out.println(code);// 97}}
2. 表达式的自动类型转换
表达式的自动类型转换
在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算。 (byte、short、char) → int → long → float → double
注意事项
表达式的最终结果类型由表达式中的最高类型决定。
在表达式中,byte、short、char是直接转换成int类型参与运算的。
publicclassTypeDemo2{publicstaticvoidmain(String[] args){// 目标:掌握表达式的自动类型转换的规则byte a =10;int b =20;double c =1.0;double result = a + b + c;System.out.println(result);// 31.0double rs = a + b +2.3;System.out.println(rs);// 32.3// 面试题byte i =10;byte j =20;// byte number = i + j; 报错int number = i + j;System.out.println(number);// 30}}