iT邦幫忙

2022 iThome 鐵人賽

DAY 5
0

講認真的,那時候我還真的沒想到我還要接觸到這個我大學一入學就不知道能不能吃的東西 “數學”
但想不到還是要遇到他,真的是逃的了一時,逃不了一世。
那就讓我們繼續看下去。

求餘運算符

看到這個不要聽到以為是那個緣木求魚的求魚而是拿餘數的求餘捏,還是以為是動物的犰狳。
聽起來很像是在討論 IKEA我都唸IKEA,但我知道有的人也是念IKEA,但也有聽說是念IKEA,我是都念IKEA拉的討論文章。

反正求餘運算符(a % b)是計算 b 的多少倍剛剛好可以容入 a,返回多出來的那部分(餘數)。

9 % 4 //等於 1
// 9 ÷ 4 = 2...1 長這樣

% 的運算符 走的方式是
a % b == a = (b*最大倍數) + 餘數

9 % 4 == 9 = (4 * 2) + 1

同樣方式計算 -9 % 4

-9 % 4 == -9 = (4 * -2) + (-1)
//所以 -9 % 4 等於 -1

就是一個幫你把那長長的除法簡略後,拿他剩下的餘數出來。
但是呢,在對負數 b 求餘時,b 的符號會被忽略。這意味著 a % b 和 a % -b 的結果是相同的。

一元負號運算符

簡單來說就是數學上的負號(-)

let three = 3
let minusThree = -three       // minusThree 等於 -3
let plusThree = -minusThree   // plusThree 等於 3, 或 "負負3"

一元正號運算符

一元正號符(+)不做任何改變地返回操作數的值:

let minusSix = -6
let alsoMinusSix = +minusSix  // alsoMinusSix 等於 -6

雖然一元正號符什麼都不會改變,但當你在使用一元負號來表達負數時,你可以使用一元正號來表達正數,如此你的代碼會具有對稱美。
畢竟有的人會希望程式碼好看一點,就像是有的人喜歡程式碼的 = 對齊一樣,雖然沒什麼用但就是看起來順眼。

var a   = 12345
var abc = 123

組合賦值運算符

如同 C 語言,Swift 也提供把其他運算符和賦值運算(=)組合的組合賦值運算符,組合加運算(+=)是其中一個例子:

var a = 1
a += 2 // 這段等於 a = a + 2
// a 現在是 3

基本上也是縮短程式碼的長度,可以縮短並且讓程式碼更好讀一些。畢竟寫一個案子東西基本上一定會很多,所以會有很多能讓一些算是簡化的運算符。因為大家也不想要一直寫程式波動拳(X

比較運算符 (Comparison Operators)

比較運算符就比較簡單了,就像你平常生活上你一定也會比較很多東西,買菜拉、看妹子拉、買東西拉、穿搭拉⋯⋯等等。你都會比較一下才會做最後得決定麻。

Swift 支持以下的比較運算符:

  • 等於(a == b)
  • 不等於(a != b)
  • 大於(a > b)
  • 小於(a < b)
  • 大於等於(a >= b)
  • 小於等於(a <= b)

每個比較運算符都會回傳一個標準表達式是否成立的Bool值

1 == 1   // true, 因為 1 等於 1
2 != 1   // true, 因為 2 不等於 1
2 > 1    // true, 因為 2 大於 1
1 < 2    // true, 因為 1 小於2
1 >= 1   // true, 因為 1 大於等於 1
2 <= 1   // false, 因為 2 並不小於等於 1

比較運算符比較常使用於 if 語句裡面 來去判斷是否有達成條件

但人家也常說沒有比較沒有傷害,我是滿認同的拉。就像是穿搭,你看了這麼多,最後還是看臉穿搭(X

好拉,今天先到這裡,運算符的篇幅真的比較長,明天要來講一下比較困難的三元運算符,算是如果以你本身沒寫過程式很容易看不太懂他到底在幹嘛的東西。
感謝大家,我們繼續佛系修煉。


上一篇
30天的 iOS 修仙道路 (4)
下一篇
30天的 iOS 修仙道路 (6)
系列文
30天的 iOS 修仙道路 站穩腳步基礎篇30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言