&&、||属于逻辑运算符,&、|属于位运算符,那么它们在用法上有什么区别?
1.逻辑运算符只能对Boolean型进行逻辑运算,而位运算符还能对数值进行逻辑运算
即:可以有true&&true,true&true,2&1,但是不可以有2&&1。
2.逻辑运算符运算存在“短路”现象,即前面的表达式可以得到最终结果时,后面的表达式将不被执行。
例如:
true&& 无论所空之处是什么,都不会被执行,因为已得到结果为true。
而位运算符则不会有这种情况,因为位运算符计算是先将两边的表达式进行相应计算后再得到结果。