條件式計算式
大家熟悉的加減乘除,即使進入了程式碼的世界,上過數學課仍能輕鬆理解其義,然而,對於條件判斷運算式,大家可能比較陌生一些,例如要比較兩個整數是否相等的條件式運算式,說不定目前的你會寫作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。