逻辑运算符只对布尔型操作数进行运算,并返回一个布尔类型数据(真true或假false)。
运算符
含义
解释
&&
与(AND)
两个操作数皆为真,结果才为真
&
||
或(OR)
两个数只要有一个为真,运算结果才为真
|
!
非(NOT)
返回与操作数相反的布尔值
举个例子:
1>0&&3>0;//结果为true 1>0||3>8;//结果为true !(1>0);//结果为false程序运行结果:
程序中,第3行,由于i=5,所以(i<3)为false,对于&&逻辑运算符,其操作数之一为false,其返回值必然为false,故再确定其左边的操作数为false,对于后一个运算操作数(i<4)无需计算,也就是&&短路。
类似的,对于“||”运算符,由于i=5,所以(i>4)为true,对于||逻辑运算符,其操作数之一为true,整体返回值必然为true,故再确定其左边的操作数为true,对于后一个运算操作数(i>3)无需计算,也就是“||”短路。
截张图来理解
输出结果为:
代码解析:
第10行,实现与操作,相“与”的两位,如果全部为1结果才是1,有一个为0结果就是0。
13的二进制: 0000000 0000000 0000000 0000110
17的二进制: 00000000 00000000 00000000 00000111 “与”的结果: 00000000 00000000 00000000 00000101
所以输出的结果为5。 第12行,实现或操作,位“或”的两位,如果全为0才是0,有一个为1结果就是1。
13的二进制: 00000000 00000000 00000000 00001101 7的二进制: 00000000 00000000 00000000 00000111
“或”的结果: 00000000 0000000 0000000 00001111所以输出的结果为15。
