關(guān)系運(yùn)算符與邏輯運(yùn)算符及其表達(dá)式,運(yùn)算符的優(yōu)先級(jí)
關(guān)系運(yùn)算符
C#中的關(guān)系運(yùn)算符(又稱為比較運(yùn)算符) 作用是對(duì)運(yùn)算符兩側(cè)的操作數(shù)(包括變量,表達(dá)式等)進(jìn)行比較,得到一個(gè)比較后的結(jié)果,其結(jié)果是布爾型只有true或false。
常用做選擇或循環(huán)結(jié)構(gòu)中的條件判斷語(yǔ)句中,用于控制其是否繼續(xù)執(zhí)行流程中的代碼。
關(guān)系運(yùn)算符共有6種:>(大于)<(小于)==(等于)!=(不等于)>=(大于等于)<=(小于等于)。
關(guān)系運(yùn)算符使用規(guī)則:運(yùn)算符兩側(cè)操作數(shù)的數(shù)據(jù)類型(包括類型轉(zhuǎn)換)必須一樣。
在基本數(shù)據(jù)類型中可以使用的關(guān)系運(yùn)算符如下:
1、在數(shù)值類型數(shù)據(jù)中以比較數(shù)值的大小得到關(guān)系運(yùn)算的結(jié)果值
假設(shè)變量 A 的值為 1 ,變量 B 的值為 9 使用關(guān)系運(yùn)算符可得以下結(jié)果。
運(yùn)算符 | 說明 | 表達(dá)式 | 結(jié)果 |
> | 如果運(yùn)算符左側(cè)操作數(shù)大于右側(cè),結(jié)果為真 | A > B | 假(false) |
< | 如果運(yùn)算符左側(cè)操作數(shù)小于右側(cè),結(jié)果為真 | A < B | 真(true) |
== | 如果運(yùn)算符左側(cè)操作數(shù)等于右側(cè),結(jié)果為真 | A == B | 假(false) |
!= | 如果運(yùn)算符左側(cè)操作數(shù)不等于右側(cè),結(jié)果為真 | A != B | 真(true) |
>= | 如果運(yùn)算符左側(cè)操作數(shù)大于等于右側(cè),結(jié)果為真 | A >= B | 假(false) |
<= | 如果運(yùn)算符左側(cè)操作數(shù)小于等于右側(cè),結(jié)果為真 | A <= B | 真(true) |
示例:代碼實(shí)現(xiàn)命題1) 貓(3kg)比狗(10kg)質(zhì)量輕 2) 雞(2kg)與鴨(2kg)質(zhì)量一樣重。
數(shù)值類型比較結(jié)果
2、在其他非數(shù)值類型(如string)的數(shù)據(jù)中一般只使用==與!=關(guān)系運(yùn)算符
非數(shù)值類型比較結(jié)果
在非數(shù)值類型中有個(gè)特殊的類型字符型(char)可以使用所有關(guān)系運(yùn)算符。
3、在字符型數(shù)據(jù)中以比較字符ASCII碼值的大小得到關(guān)系運(yùn)算的結(jié)果值
常見字符種類大小排序:空格<數(shù)字(0~9)<大寫字母(A~Z)<小寫字母(a~z)<漢字。
邏輯運(yùn)算符(條件)
邏輯運(yùn)算符:運(yùn)算符一般連接兩側(cè)的操作數(shù)必須是布爾類型的值或表達(dá)式求解的值必須是布爾類型。
邏輯運(yùn)算符主要有:&&(邏輯與) ||(邏輯或) !(邏輯非)。
邏輯運(yùn)算表達(dá)式:就是使用連接運(yùn)算符連接的式子 如 表達(dá)式1 && 表達(dá)式2。
1、&&(邏輯與) 連接兩個(gè)表達(dá)式的值全部為真,結(jié)果為真,其余為假
表達(dá)式1 | 表達(dá)式2 | 表達(dá)式1 && 表達(dá)式2 | 結(jié)果 |
true | true | true && true | true |
true | false | true && false | false |
false | true | false && true | false |
false | false | false && false | false |
示例:1編寫判斷年份(year)是否為閏年的表達(dá)式 2)通過此表達(dá)式輸入的年份是否為閏年。
閏年判斷條件:能被4整除但不能被100整除。
閏年邏輯表達(dá)式示例
2、||(邏輯或) 連接兩個(gè)表達(dá)式中有一個(gè)為真,結(jié)果為真
表達(dá)式1 | 表達(dá)式2 | 表達(dá)式1 || 表達(dá)式2 | 結(jié)果 |
true | true | true || true | true |
true | false | true || false | true |
false | true | false || true | true |
false | false | false || false | false |
示例:將判斷閏年的條件修改為:
- 能被4整除但不能被100整除。
- 可以被400整除。
閏年的多條件邏輯表達(dá)式
3、邏輯非(單目操作) 在表達(dá)式前面 表示取反
表達(dá)式 | !表達(dá)式 | 結(jié)果 |
true | !true | false |
false | !false | true |
運(yùn)算符的優(yōu)先級(jí)
C#中優(yōu)先級(jí)的作用影響到一個(gè)表達(dá)式如何計(jì)算及最終結(jié)果。
下表將按運(yùn)算符優(yōu)先級(jí)從高到低列出各個(gè)已學(xué)的運(yùn)算符在表達(dá)式中運(yùn)算等級(jí),較高優(yōu)先級(jí)的運(yùn)算符會(huì)優(yōu)先被計(jì)算。
等級(jí) | 運(yùn)算符名稱 | 運(yùn)算符 |
1 | 一元算術(shù)(后置) | x++ x-- |
2 | 二元邏輯(邏輯非) | ! |
3 | 一元算術(shù)(前置) | ++x --x |
4 | 二元算術(shù)(乘除取余) | * / % |
5 | 二元算術(shù)(加減) | + - |
6 | 二元關(guān)系運(yùn)算符 | > < >= <= |
7 | 二元關(guān)系運(yùn)算符 | == != |
8 | 二元邏輯與 | && |
9 | 二元邏輯或 | || |
10 | 二元賦值運(yùn)算符 | *= /= %= += -= = |
未加小括號(hào)提升優(yōu)先級(jí),首先按照上表的從高到低進(jìn)行運(yùn)算,所有二元運(yùn)算符則從左到右進(jìn)行運(yùn)算。