&&
表示逻辑与,即and,当符号(&&)两边的结果都为真时,整个运算结果为真,如果有一边为假则结果为假。
通常表示为:
if(条件1 && 条件2)、while(条件1 && 条件2)等,&&属于短路操作,即如果第一个表达式为假,则不再计算第二个表达式。
另外:
(0 && 23)结果为0;(12 && -12)结果为1;
&
表示按位与,即将 & 两侧的数用二进制展开,每一位都求与运算(二进制与运算,跟逻辑与差不多),最后得到的二进制数即为结果。&&与&区别在于&&(逻辑与)结果只讲真和假,而&(按位与)得出的确实一个实实在在的数。
例如:
(1&1)=0001与0001从低位到高位对应位做与运算,结果为0001,输出结果为1;
(5&9)=0101与1001从低位到高位对应位做与运算,结果为0001,输出结果为1;
||
表示逻辑或,即or,当符号(||)两边的结果有一个为真时,整个运算结果为真,两边都为假(即两个条件均不满足)则结果为假。
通常表示为:
if(条件1 || 条件2)、while(条件1 || 条件2)等
另外:
(0 || 23)结果为1;(12 && -12)结果为1;(0 || 0)结果为0;
|
表示按位或,即将 | 两侧的数用二进制展开,每一位都求或运算,最后得到的二进制数即为结果。|| 与 | 区别在于||(逻辑或)结果只讲真和假,而 | (按位或)得出的确实一个实实在在的数。
例如:
(5 | 9)=0101与1001从低位到高位每一位都做或运算,结果为1101,输出结果为13;
(7 | 5)=0111与0101从低位到高位每一位都做或运算,结果为0111,输出结果为7;