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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 菜鸟小6 中级黑马   /  2014-10-24 22:57  /  1714 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

不明白  尤其是++b

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

6 个回复

倒序浏览
不可能通过,第二步byte b = 1;错了,不能重复定义变量,b = ++b是对的,这是赋值运算
回复 使用道具 举报
byte b=1+1这个也可以,这个应该会转成int吧
回复 使用道具 举报
byte b=1+1 把2赋值给b的时候 会先判断2是否在byte范围内,是的话就可以通过

byte b=1   这个不用说 把1赋值给b 应该没什么问题 b=++b 因为是本身数据类型赋给本身是没有什么问题的

如果是b = b+1就不会通过,因为1是整型,所以b+1会转为整型,是不能赋给byte型的;

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

回复 使用道具 举报
饼子 来自手机 中级黑马 2014-10-25 07:19:12
报纸
因为这两个是正确的,都有自动转型。第一个相当于b=2.所以正确,第二个也是正确的,因为++操作的本类型的数据,所以也是正确的
回复 使用道具 举报
++b会自动强转,如果是b+1就不行了
回复 使用道具 举报
neokevin 来自手机 初级黑马 2014-10-28 02:19:02
7#
byte类型取值范围在-128~127之间,所以b=1+1以及b=1都是没有问题的,b=++b会产生警告,由于运算符优先级的问题b先自增然后赋值给自己是没有意义的,直接可以用++b或者b++就可以了!

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马