黑马程序员技术交流社区
标题:
强转问题
[打印本页]
作者:
aiq黑马程序员
时间:
2014-7-2 12:07
标题:
强转问题
short b+=1
//就是short b =(short)(b+1),short类型占2bit内存,1默认int型占4bit,所以s自动提升成int类型。左右边内存大小不等,右边内存比左边大,需要强转成short类型。那么,short b =b+=1也只是多了一步赋值而已。
这是在我回复中看到的,强转不是大内存转小内存吗?short能自动提升成int?
作者:
weitz
时间:
2014-7-2 13:33
强转不是向上转型的麽。。
作者:
天,殇心
时间:
2014-7-2 13:42
+=:这个运算符暗含着类型强制转换。类型强制转换就是向下转型,会丢失精度。
short b=1;
b+=1;
这样就不会报错
作者:
I'm_permanent.
时间:
2014-7-2 16:27
内存里头是这样的吧
0x00 0x01 这是short类型
0x00 0x00 0x00 0x01这样是int类型。
作者:
haohanlinyu
时间:
2014-7-2 23:14
和+运算符做运算的时候,short会自动提升为int类型
作者:
fantacyleo
时间:
2014-7-2 23:19
java中写个1默认是int类型——这个说法有根据么?
作者:
aiq黑马程序员
时间:
2014-7-3 14:50
明白了 谢谢大家了
作者:
inception
时间:
2014-7-21 23:04
int 占4个字节(byte),32位(bit)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2