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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

看了老毕的视频之后,有几个不太懂的问题不知道理解的对不对,所以大家都谈谈自己的理解吧!
问题一:赋值运算符中有+=、=这两个运算符,当对 a = a+b(整型)和 a+=b;有什么区别?分别是什么?
问题二:逻辑运算符中有&和&&,那么&和&&有什么区别?在使用方面有什么要求么?因为我看到“&”经常出现在位运算里,而&&在位运算里却不常见,在位运算上又有什么区别?
问题三:位运算符右移(<<)和无符号右移(<<<)的区别?

5 个回复

正序浏览
努力学习中
回复 使用道具 举报
哎,稍微学过编程的都知道。。。多奋斗吧骚年
回复 使用道具 举报
噢  貌似懂了  谢谢
回复 使用道具 举报
上面按错了,a=a+b(整型)是a和b按整型进行运算后得到的整型结果赋值给a这是一个运算过程,系统在赋值时不会强制转换,而a+=b则是单纯的赋值过程,虽然其和a=a+b结果是一样但是赋值操作系统会有强制转换的过程。
第二个问题:&&是并且的意思,是boolean类型的,是判断两边结果是否同时为真得逻辑运算符,而&是两个二进制数按照位进行与运算,得到的是二进制结果,使用的场合不同
问题三:你写错了<<为左移没有<<<,>>右移是带符号的右移,如果为负数每次在最前面补1,>>>为无符号右移,不管是负数还是正数都补0
回复 使用道具 举报
+=是二目运算符,也是一种赋值运算符,a=a+b(整形)是a喝
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马