黑马程序员技术交流社区

标题: java基础细节上的小问题,欢迎大家发表各自的总结观点 [打印本页]

作者: H马凯    时间: 2015-2-14 18:41
标题: java基础细节上的小问题,欢迎大家发表各自的总结观点
看了老毕的视频之后,有几个不太懂的问题不知道理解的对不对,所以大家都谈谈自己的理解吧!
问题一:赋值运算符中有+=、=这两个运算符,当对 a = a+b(整型)和 a+=b;有什么区别?分别是什么?
问题二:逻辑运算符中有&和&&,那么&和&&有什么区别?在使用方面有什么要求么?因为我看到“&”经常出现在位运算里,而&&在位运算里却不常见,在位运算上又有什么区别?
问题三:位运算符右移(<<)和无符号右移(<<<)的区别?
作者: 枪杆不如笔杆    时间: 2015-2-14 22:54
+=是二目运算符,也是一种赋值运算符,a=a+b(整形)是a喝
作者: 枪杆不如笔杆    时间: 2015-2-14 23:08
上面按错了,a=a+b(整型)是a和b按整型进行运算后得到的整型结果赋值给a这是一个运算过程,系统在赋值时不会强制转换,而a+=b则是单纯的赋值过程,虽然其和a=a+b结果是一样但是赋值操作系统会有强制转换的过程。
第二个问题:&&是并且的意思,是boolean类型的,是判断两边结果是否同时为真得逻辑运算符,而&是两个二进制数按照位进行与运算,得到的是二进制结果,使用的场合不同
问题三:你写错了<<为左移没有<<<,>>右移是带符号的右移,如果为负数每次在最前面补1,>>>为无符号右移,不管是负数还是正数都补0
作者: H马凯    时间: 2015-2-15 11:36
噢  貌似懂了  谢谢
作者: franksight    时间: 2015-2-15 12:01
哎,稍微学过编程的都知道。。。多奋斗吧骚年
作者: cuixinfu    时间: 2015-2-15 12:26
努力学习中




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