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整除。
//编写闰年表达式的思路//1)能被4整除year%4==0;//表示可以被4整除的关系表达式//2)但不能被100整除year%100!=0;//不能被100整除的关系表达式//因为是两个条件必须满足,因此使用逻辑与进行组合year%4==0 && year%100!=0;//代码实现 bool leapYear = year % 4 == 0 && year % 100 != 0; bool leapYear = (year % 4 == 0) && (year % 100 != 0);//推荐使用加小括号方式
闰年逻辑表达式示例
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整除。//编写闰年表达式的思路//1)条件1上面编写过不再赘述//2)可以被400整除year%400==0;//可以被400整除//3)可以理解为:能被4整除但不能被100整除或者可以被400整除//因此判断前两个条件为一个整体的与后一个条件的关系为逻辑或//正确表达式 使用小括号将条件1作为整体与条件2进行逻辑或比较bool leapYear=((year % 4 == 0) && (year % 100 != 0))||(year%400==0);
闰年的多条件逻辑表达式
3、逻辑非(单目操作) 在表达式前面 表示取反表达式 | !表达式 | 结果 |
true | !true | false |
false | !false | true |
C#中优先级的作用影响到一个表达式如何计算及最终结果。
下表将按运算符优先级从高到低列出各个已学的运算符在表达式中运算等级,较高优先级的运算符会优先被计算。
等级 | 运算符名称 | 运算符 |
1 | 一元算术(后置) | x++ x-- |
2 | 二元逻辑(逻辑非) | ! |
3 | 一元算术(前置) | ++x --x |
4 | 二元算术(乘除取余) | * / % |
5 | 二元算术(加减) | + - |
6 | 二元关系运算符 | > < >= <= |
7 | 二元关系运算符 | == != |
8 | 二元逻辑与 | && |
9 | 二元逻辑或 | || |
10 | 二元赋值运算符 | *= /= %= += -= = |
未加小括号提升优先级,首先按照上表的从高到低进行运算,所有二元运算符则从左到右进行运算。