Java &与&&的区别

来源:互联网 发布:js书籍推荐 编辑:程序博客网 时间:2024/06/10 12:55

学习中一些容易混淆的概念,记录一下,方便自己,也方便他人。

 

 

 

&和&&都是用来做“与”运算的,当运算符两边的表达式都为"true"时,结果才为"true",只要有一方为"false",结果就为false。

 

在"名称"上,一般把&叫做"逻辑与",&&叫做"短路与",不知道老外有没有更好的"专业"的叫法,其实都是逻辑"与"操作,只是给个名字方便区分。

 

&&短路"与"的意思是,如果第一个表达式的结果为false,则第二个表达式不再计算。

 

&还可以做"位运算",当&两边的表达式不是boolean时,表示按位运算。比较经典的面试题有:最高效的做2*8的方法,2<<3;

2在内存中的表示*********************0010,左移3位,************************10000。

原创粉丝点击