程序验证:

public class Test {
   
     
    public static void main(String[] args) {
   
     
        System.out.println('a'+'b'); 
    } 
} 

结果:

195 

结论:

当对byte、short、char类型进行混合运算时,最终结果一定是整型,当然你也可以把它们都转换成int类型的,之后在进行混合运算

当多种数据类型进行混合运算的时候,最后的数据类型一定是它们中取值最大的那个数据类型,如果里面有字符串的话,那最后的数据类型一定是字符串类型,至于中间怎么运算的,接下来我通过几个例子来说明一下:

例1:

public class Test {
   
     
    public static void main(String[] args) {
   
     
        System.out.println(1 / 2 + 1.1); 
        System.out.println(1.0 / 2 + 1.1); 
    } 
} 

结果:

1.1 
1.6 

解释:

如果没有直接和1.1相加运算,那1/2还是按照整型去计算的,计算结果是0,然后加上1.1,结果就是double类型的;
如果计算的过程中直接就是1.0/2,那结果就是0.5,之后和1.1相加那结果就是1.6,结果还是double

例2:

public class Node {
   
     
    public static void main(String[] args) {
   
     
        System.out.println(1 + 2 + "3"); 
        System.out.println("1" + 2 + 3); 
    } 
} 

结果:

33 
123 

解释:

通过第一个结果可以看出是先进行1+2,得出结果是3,之后在和字符串3拼接,所以结果是字符串33;
然后看第二个结果,那就是字符串1和2拼接,结果是字符串12,然后字符串12和3拼接,结果就是字符串123;


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

《码出高效:Java开发手册》百度网盘下载