黑马程序员技术交流社区
标题:
byte b=1+1; byte b=1,b=++b;怎么运行同过了
[打印本页]
作者:
菜鸟小6
时间:
2014-10-24 22:57
标题:
byte b=1+1; byte b=1,b=++b;怎么运行同过了
不明白 尤其是++b
作者:
田峻菘
时间:
2014-10-24 23:12
不可能通过,第二步byte b = 1;错了,不能重复定义变量,b = ++b是对的,这是赋值运算
作者:
踏云
时间:
2014-10-25 00:25
byte b=1+1这个也可以,这个应该会转成int吧
作者:
英雄传说ER
时间:
2014-10-25 02:06
byte b=1+1 把2赋值给b的时候 会先判断2是否在byte范围内,是的话就可以通过
byte b=1 这个不用说 把1赋值给b 应该没什么问题 b=++b 因为是本身数据类型赋给本身是没有什么问题的
如果是b = b+1就不会通过,因为1是整型,所以b+1会转为整型,是不能赋给byte型的;
作者:
饼子
时间:
2014-10-25 07:19
因为这两个是正确的,都有自动转型。第一个相当于b=2.所以正确,第二个也是正确的,因为++操作的本类型的数据,所以也是正确的
作者:
戏言丶
时间:
2014-10-25 07:29
++b会自动强转,如果是b+1就不行了
作者:
neokevin
时间:
2014-10-28 02:19
byte类型取值范围在-128~127之间,所以b=1+1以及b=1都是没有问题的,b=++b会产生警告,由于运算符优先级的问题b先自增然后赋值给自己是没有意义的,直接可以用++b或者b++就可以了!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2