A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马田杰 中级黑马   /  2013-2-21 10:05  /  2289 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黑马田杰 于 2013-4-5 18:21 编辑

将int强转成byte的问题:

int强转成byte的问题.jpg (34.28 KB, 下载次数: 180)

int强转成byte的问题.jpg

4 个回复

倒序浏览
byte类型和byte类型运算的结果是int型,而不是byte类型,所以会报错。
你创建个int类型的变量接收就没问题了。
回复 使用道具 举报
b=(byte)255-b;
你的左边的b是byte类型的,右边的(byte)255-b结果本是byte类型的但是在Java中默认的是int类型的会强制的转换为int类型的然后在在赋值的,所以会出现上面的那个问题的。
可以这样写的:b=(byte)((byte)255-b),把运行的结果强制转换成byte;类型的在赋值给b。
回复 使用道具 举报
    byte b = 23;
   b = (byte)(255 - b);  //255-b返回一个int类型  b是byte类型,把225-b的返回值进行强转
回复 使用道具 举报
JAVA默认255-b返回值是int类型,所以将结果强制转换就可以啦---------b=(byte)(255-b)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马