新时代IT民工_up 2021-02-04 09:20 采纳率: 62.5%
浏览 58
已采纳

关于java数据类型转换

我是一名java学习的初学者,我涉及到数据类型转换时有一个点把我难住了。

①当要把数据范围大的数据类型赋值给数据范围小的类型的时候需要强制类型转换。

所以就出现了类似 --》 int a = (int) 99.9;等表达式,那byte类型的数据范围比int类型的数据范围小,为何在赋值时不时 --》byte a = (byte)10;?而是直接的 --》 byte a = 10;呢?

  • 写回答

3条回答 默认 最新

  • 小新蜡笔e 2021-02-04 09:52
    关注
    int b=2;
    byte b1=b;//b为int变量,无法直接赋值给byte
    byte b2=2;//整数型常量且在byte范围内,编译自动默认为byte,通过 
    byte b3=288;//超出byte范围编译不通过

    如果把一个较小的整数型常量(在byte或short范围内)赋值给byte或short,系统在编译时会自动将这个整数型常量当作byte或short来处理

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?