您的位置:首页 > 编程语言 > Java开发

JAVA编程中关于类型转换的问题

2015-05-11 22:15 253 查看
昨天做题,有遇到这样的判断题:

判断下列语句那些正确,那些错误:

A:  byte a=1;a=a+1;

B:  byte a=1;a++;

C:  byte a=1;a=a+=1;

经过测试,A是错误的,BC正确。

A的错误原因是类型不相符,a的类型是byte型的,而1是整型,从低位往高位转换,需要强制类型转换,也就是(int)(a+1)。

可是B,C为什么编译正确呢?

在参与诸如++,+=,*=等运算的时候,会发生自动类型转换。

那么在转化之后的a是什么类型的呢?是int型还是byte型的?

答案是byte型的(至于为什么是byte型的,楼主表示自己很菜,没整明白)。
https://shop145619674.taobao.com/?spm=a313o.7775905.1998679131.d0011.inZI48女性点击,有女朋友的男性也可以点哦,单身男性尽量不要点。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 编程