位置:首頁 > 軟件操作教程 > 編程開發(fā) > C# > 問題詳情

C# 布爾邏輯

提問人:劉團(tuán)圓發(fā)布時間:2020-11-12

19世紀(jì)中葉的英國數(shù)學(xué)家喬治?布爾(George Boole)為布爾邏輯奠定了基礎(chǔ)。

例如,考慮下述情形:要根據(jù)變量myVal的值是否小于10來確定是否執(zhí)行代碼。為此, 需要確定語句“myVal小于10” 的真假,即需要了解比較的布爾結(jié)果。

布爾比較需要使用布爾比較運(yùn)算符(也稱為關(guān)系運(yùn)算符),如表所示。

運(yùn)算符

類 別

示例表達(dá)式

結(jié)果

==

二元

varl = var2 = = var3;

如果var2等于var3, varl的值就是true,否則

false

r=

二元

varl = var2 != var3;

如果var2不等于var3, varl的值就是true,

則為fclse

<

二元

varl = var2 < var3;

如果var2小于var3, varl的值就是true否則

fhise

>

二元

varl = var2 > var3;

如果var2大于var3, varl的值就是true,否則

fiilse

<=

二元

varl = var2 <= var3;

如果var2小于或等于var3,varl的值就是true,

否則為fclse

>=

二元

varl = var2 >= var3;

如果var2大于或等于var3, varl的值就是true

否則為fclse

在上表中,varl都是bool類型的變量,var2和var3則可以是不同類型。

在代碼中,可以對數(shù)值使用這些運(yùn)算符:

bool isLessThanlO; isLessThanlO = myVal < 10;

如果myVal存儲的值小于10,這段代碼就給isLessThanlO賦予true值,否則賦予felse值。

也可以對其他類型使用這些比較運(yùn)算符,例如字符串:

bool isBenjamin;

isBenjamin = myString == "Benjamin";

如果myString存儲的字符串是“Benjamin”,isBenjamin的值就為true。

也可以對布爾值使用這些運(yùn)算符:

bool isTrue;

isTrue = myBool == true;

但只能使用=和!=運(yùn)算符。

注意:

錯誤地認(rèn)為當(dāng)vall<val2為fiilse時,vail >val2 true,則會導(dǎo)致一個常見的代碼錯誤....如果‘val.l. = val2, 那么前兩條語句’都是'fclsL ?

&和丨運(yùn)算符也有兩個類似的運(yùn)算符,稱為條件布爾運(yùn)算符。

運(yùn)算符

類別

示例表達(dá)式

結(jié)果

&&

二元

varl = var2 && var3;

如果var2var3都是true,varl的值就是true,否則為false

(邏輯與)

II

二元

varl = var21| var3;

如果vai2var3true(或兩者都是),varl的值就是tiue,否 則為&ke (邏_

這些運(yùn)算符的結(jié)果與&和丨完全相同,但得到結(jié)果的方式有一個重要區(qū)別:其性能更好。兩者都是檢查第 —個操作數(shù)的值(上表中的var2),如果已經(jīng)能判斷結(jié)果,就根本不必處理第二個操作數(shù)(上表中的var3)。

如果&&運(yùn)算符的第一個操作數(shù)是false,就不爾要考慮第二個操作數(shù)的值_f,因?yàn)闊o論第二個操作數(shù)的值是什么,其結(jié)果都是false。同樣,如果第一個操作數(shù)是true, ||運(yùn)算符就返回true,不必再考慮第二個操作數(shù)的值。


繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部