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

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

【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”

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
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部