&& 和 &,||和|
【&& 与||】
条件a &&条件b:逻辑与运算,两者都为真,结果才为真
注意:&&采用的是短路运算,如果条件a为假,那么条件b不判断,直接判定结果为假。同理,||运算中,如果一个条件为真,第二个条件不判断,结果直接为真。
&、|:可以用作整数的位运算,也可以用作逻辑与、逻辑或运算,如果用作逻辑与、或运算,和&&、||的不同点是,两个条件都会判断。
eg:
在上述这个例子中,a的值首先为2,此时a>2结果为假,a自增为3,逻辑与后面的条件不进行判断,也就是--b不会执行,最终输出a=3,b=1,c=3-1=2;
若将代码中的&&改为&,首先a>2结果为假,a自增为3,接着进行&后面的条件判断,b的值减1为0,0<1为真,&两边整体判断结果为假,最终输出a=3,b=0,c=3-0=3