short a=10; byte b=100;为什么没有报错啊?

short a=10; byte b=100;为什么没有报错啊?

short a=10; byte b=100;按理说,后面应该默认为int,int没法自动转换为short或者byte啊,这里怎么又可以了啊?


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,在java中byte、short、int、long都是整数类型,

其中  byte的取值范围    -2^7(-128)<byte<2^7-1(127)

        short的取值范围    -2^15(-32768)<short<2^15-1(32767)

         int的取值范围      -2^31(-2147483648)<int<2^31-1(2147483647)

         long的取值范围    -2^63<long<2^63-1

所以   short a=10;   byte b=100;  定义没有错误。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~


  • weixin_慕虎5578550 提问者 #1
    谢谢,应该是byte、short的特例吧。
    2019-05-15 16:29:27
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师