下边分别对&和&&进行说明:
&是按位与操作符,a&b是把a和b都转换成二进制数后,然后再进行按位与的运算。而&&是逻辑操作符,a&&b就是当且仅当两个操作数均为true时,其结果才为true。只要有一个为false,其计算结果就为false。
此外,&&还具有短路的功能,在参与运算的两个表达式中,只有当第一个表达式的值为true时,才会去计算第二个表达式的值,如果第一个表达式的值为false,则此时的运算结果就为false,同时,不会去计算第二个表达式的值。例如,if(i!=0&&i++>10),当i的值为0时,表达式!=0的返回值为false,,因此,将不会执行第二个表达式i++>10的判断。