黑马程序员技术交流社区

标题: 将int强转成byte的问题 [打印本页]

作者: 黑马田杰    时间: 2013-2-21 10:05
标题: 将int强转成byte的问题
本帖最后由 黑马田杰 于 2013-4-5 18:21 编辑

将int强转成byte的问题:

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

int强转成byte的问题.jpg

作者: 徐荣权    时间: 2013-2-21 10:25
byte类型和byte类型运算的结果是int型,而不是byte类型,所以会报错。
你创建个int类型的变量接收就没问题了。
作者: Just_Only    时间: 2013-2-21 11:56
b=(byte)255-b;
你的左边的b是byte类型的,右边的(byte)255-b结果本是byte类型的但是在Java中默认的是int类型的会强制的转换为int类型的然后在在赋值的,所以会出现上面的那个问题的。
可以这样写的:b=(byte)((byte)255-b),把运行的结果强制转换成byte;类型的在赋值给b。

作者: 王立    时间: 2013-2-21 12:12
    byte b = 23;
   b = (byte)(255 - b);  //255-b返回一个int类型  b是byte类型,把225-b的返回值进行强转
作者: 杨博    时间: 2013-2-21 17:46
JAVA默认255-b返回值是int类型,所以将结果强制转换就可以啦---------b=(byte)(255-b)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2