(1)常见的逻辑运算符如下:
运算
符
术语
示例
结果
!
非
!a
如果a为假,则!a为真;
如果a为真,则!a为假。
&&
与
a && b
如果a和b都为真,则结果为真,否则为假。
||
或
a || b
如果a和b有一个为真,则结果为真,二者都为假时,结果为假。
有逻辑运算符连接的表达式叫做逻辑表达式
通过以上表格我们发现:逻辑表达式的结果同样也是bool类型
逻辑运算符两边放的一般都是关系表达式或者bool类型的值。
例如:
5>3 &&true
3>5||false
案例演示:
让用户输入老王的语文和数学成绩,输出以下判断是否正确,正确输出True,错误输出False
2.1)老王的语文和数学成绩都大于90分
2.2)语文和数学有一门是大于90分的
总结:
(3.1)逻辑与 &&
表达式1&&表达式2
表达式1
表达式2
表达式1&&表达式2
True
True
True
False
True
False
True
False
False
False
False
false
(3.2)逻辑或 ||
表达式1||表达式2
表达式1
表达式2
表达式1||表达式2
True
True
True
True
False
True
False
True
True
False
False
false
(3.3)逻辑非 !
!表达式
表达式
!表达式
True
False
False
true
案例演示
注意事项和细节说明
1) &&也叫短路与:如果第一个条件为 false,则第二个条件不会判断,最终结果为 false
2) ||也叫短路或:如果第一个条件为 true,则第二个条件不会判断,最终结果为 true
3) 案例演示
Go语言的逻辑运算符如下表所示。(假定 A 值为 True,B 值为 False)
运算符
描述
实例
&&
逻辑 AND 运算符。如果两边的操作数都是 True,则条件 True,否则为 False
(A && B) 为 False
||
逻辑 OR 运算符。如果两边的操作数有一个 True,则条件 True,否则为 False
(A || B) 为 True
!
逻辑 NOT 运算符。如果条件为 True,则逻辑 NOT 条件 False,否则为 True
!(A && B) 为 True
表:逻辑运算符
逻辑运算符的用法如下所示。
package main
import "fmt"
func main() {
var a bool = true
var b bool = false
if a && b {
fmt.Printf("第一行 - 条件为 true \n")
}
if a || b {
fmt.Printf("第二行 - 条件为 true \n")
}
// 修改 a 和 b 的值
a = false
b = true
if a && b {
fmt.Printf("第三行 - 条件为 true \n")
} else {
fmt.Printf("第三行 - 条件为 false \n")
}
if !(a && b) {
fmt.Printf("第四行 - 条件为 true \n")
}
}
运行结果如下:
第二行 - 条件为 true
第三行 - 条件为 false
第四行 - 条件为 true