條件式計算式
大家熟悉的加減乘除,即使進入了程式碼的世界,上過數學課仍能輕鬆理解其義,然而,對於條件判斷運算式,大家可能比較陌生一些,例如要比較兩個整數是否相等的條件式運算式,說不定目前的你會寫作while (a=b) ...
而對於電腦的報錯感到莫名其妙,我們在此章介紹一些常用的運算:
==
:左右兩端相等回傳true
,否則回傳false
。!=
:左右兩端不相等回傳true
,否則回傳false
。>, >=
:和我們所認為的大於、大於等於相同意思。<, <=
:和我們所認為的小於、小於等於相同意思。
目前我們學會的Int
、Float
、Double
、String
四種資料型態都可以使用這些運算來比較,在比較String
時會由左到右逐個比較字元,如果完全相等,那麼>=
、<=
、==
指令會回傳true
,!=
會回傳false
。若是比較大小,在第一個不相等的字元出現時,就會依照比較結果回傳true
或false
。而Bool
型態是無法進行這些比較運算的。
// String 比較的玩耍,大家可以自行實驗 print("C" > "c") print("🐶" < "🐧")
有時候我們在進行迴圈時需要比較複雜的條件運算,像上一小節做出來的購買功能,現在要新增一個檢查玩家物品欄是否已滿的功能,再物品欄未滿的情況下,才能不斷的進行購買,否則就讓購買中斷。
while coins >= price && (玩家物品欄有空間) { // 進行購買和扣錢的動作,並更新物品欄資訊 }
這個&&
稱為邏輯運算子,和我們所認為的「而且」意思相同,我們介紹三種最常用的邏輯運算子如下:
(Bool) && (Bool)
:即是「而且」,左右兩邊的Bool
都為true
時,結果為true
,否則為false
。(Bool) || (Bool)
:即是「或者」,左右兩邊的Bool
只要有一個為true
,結果就為true
,否則為false
。!(Bool)
:傳回和括號內的Bool
相反的結果。例如!(true)
就會計算出false
。