关系运算符
C#中的关系运算符(又称为比较运算符) 作用是对运算符两侧的操作数(包括变量,表达式等)进行比较,得到一个比较后的结果,其结果是布尔型只有true或false。
常用做选择或循环结构中的条件判断语句中,用于控制其是否继续执行流程中的代码。
关系运算符共有6种:>(大于)<(小于)==(等于)!=(不等于)>=(大于等于)<=(小于等于)。
关系运算符使用规则:运算符两侧操作数的数据类型(包括类型转换)必须一样。
在基本数据类型中可以使用的关系运算符如下:
1、在数值类型数据中以比较数值的大小得到关系运算的结果值
假设变量 A 的值为 1 ,变量 B 的值为 9 使用关系运算符可得以下结果。
运算符 | 说明 | 表达式 | 结果 |
> | 如果运算符左侧操作数大于右侧,结果为真 | A > B | 假(false) |
< | 如果运算符左侧操作数小于右侧,结果为真 | A < B | 真(true) |
== | 如果运算符左侧操作数等于右侧,结果为真 | A == B | 假(false) |
!= | 如果运算符左侧操作数不等于右侧,结果为真 | A != B | 真(true) |
>= | 如果运算符左侧操作数大于等于右侧,结果为真 | A >= B | 假(false) |
<= | 如果运算符左侧操作数小于等于右侧,结果为真 | A <= B | 真(true) |
示例:代码实现命题1) 猫(3kg)比狗(10kg)质量轻 2) 鸡(2kg)与鸭(2kg)质量一样重。
2、在其他非数值类型(如string)的数据中一般只使用==与!=关系运算符
在非数值类型中有个特殊的类型字符型(char)可以使用所有关系运算符。
3、在字符型数据中以比较字符ASCII码值的大小得到关系运算的结果值
常见字符种类大小排序:空格<数字(0~9)<大写字母(A~Z)<小写字母(a~z)<汉字。
逻辑运算符(条件)
逻辑运算符:运算符一般连接两侧的操作数必须是布尔类型的值或表达式求解的值必须是布尔类型。
逻辑运算符主要有:&&(逻辑与) ||(逻辑或) !(逻辑非)。
逻辑运算表达式:就是使用连接运算符连接的式子 如 表达式1 && 表达式2。
1、&&(逻辑与) 连接两个表达式的值全部为真,结果为真,其余为假
表达式1 | 表达式2 | 表达式1 && 表达式2 | 结果 |
true | true | true && true | true |
true | false | true && false | false |
false | true | false && true | false |
false | false | false && false | false |
示例:1编写判断年份(year)是否为闰年的表达式 2)通过此表达式输入的年份是否为闰年。
闰年判断条件:能被4整除但不能被100整除。
2、||(逻辑或) 连接两个表达式中有一个为真,结果为真
表达式1 | 表达式2 | 表达式1 || 表达式2 | 结果 |
true | true | true || true | true |
true | false | true || false | true |
false | true | false || true | true |
false | false | false || false | false |
示例:将判断闰年的条件修改为:
- 能被4整除但不能被100整除。
- 可以被400整除。
3、逻辑非(单目操作) 在表达式前面 表示取反
表达式 | !表达式 | 结果 |
true | !true | false |
false | !false | true |
运算符的优先级
C#中优先级的作用影响到一个表达式如何计算及最终结果。
下表将按运算符优先级从高到低列出各个已学的运算符在表达式中运算等级,较高优先级的运算符会优先被计算。
等级 | 运算符名称 | 运算符 |
1 | 一元算术(后置) | x++ x-- |
2 | 二元逻辑(逻辑非) | ! |
3 | 一元算术(前置) | ++x --x |
4 | 二元算术(乘除取余) | * / % |
5 | 二元算术(加减) | + - |
6 | 二元关系运算符 | > < >= <= |
7 | 二元关系运算符 | == != |
8 | 二元逻辑与 | && |
9 | 二元逻辑或 | || |
10 | 二元赋值运算符 | *= /= %= += -= = |
未加小括号提升优先级,首先按照上表的从高到低进行运算,所有二元运算符则从左到右进行运算。