码迷,mamicode.com
首页 > 编程语言 > 详细

021- Java语言基础-基本数据类型的一些问题和总结

时间:2019-07-02 00:25:35      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:mamicode   语言   兼容   自动转换   com   令行   运行   color   int   

我们输入以下代码:

public class DataType07
{
    public static void main(String[]args){
    
    byte b1 = 4;
    byte b2 = 5;
    byte b3 = b2 + b1;
    System.out.println(b3);   
    }
}

在命令行编译如下:

技术图片

我们发现报错了,不兼容的类型,程序运行的时候,会将b1和b2转换成iint类型,然后再做加法运算。

所以我们应该这样做,输入以下代码:

public class DataType07
{
    public static void main(String[]args){
    
    byte b1 = 4;
    byte b2 = 5;
    //byte b3 = b2 + b1;   error 不兼容的类型,程序运行的时候,会将b1和b2转换成iint类型,然后再做加法运算。
    //System.out.println(b3);  

    byte b3 = (byte)(b1+b2);
    System.out.println(b3);
    
    }
}

 

命令行解释如下:

技术图片

我们是把b1+b2强制转换成了byte类型。

在输入以下这段代码:

public class DataType07
{
    public static void main(String[]args){
    
    byte b1 = 4;
    byte b2 = 5;
    //byte b3 = b2 + b1;   error 不兼容的类型,程序运行的时候,会将b1和b2转换成iint类型,然后再做加法运算。
    //System.out.println(b3);  

    byte b3 = (byte)(b1+b2);
    System.out.println(b3);


    byte b4 = 10;
    byte s1 = 5;
    int i1 = b4 + s1 ;
    System.out.println(i1);

    
    }
}

 

 命令行结果为:

技术图片

我们可以看到是没有报错的,因为程序会默认把byte类型的数字与short类型的数字自动转换成int类型。

 

021- Java语言基础-基本数据类型的一些问题和总结

标签:mamicode   语言   兼容   自动转换   com   令行   运行   color   int   

原文地址:https://www.cnblogs.com/Chamberlain/p/11117649.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!