byte b = 127 + 1;不能编译?

Vancl 发布于 2011/08/03 14:44
阅读 1K+
收藏 0

int i = 2147483647 + 1; OK;

但是为什么 byte b = 127 + 1;不能编译?

加载中
0
红薯
红薯

可以强制转换:byte b = (byte)(127 + 1);

否则你就等于是把一个 int 型赋值给 byte 型

Ryan-瑞恩
Ryan-瑞恩
en ....正解。
Vancl
Vancl
谢谢@红薯
0
王佑槐
王佑槐
byte 的范围是-128到127,你把一个超这了这个范围的值 给它,当然会报错啦,像上面那样进行强转就可以了
0
0晓风残月0
0晓风残月0
超出范围当然错误了 byte 的范围是-128到127
返回顶部
顶部