運算子
Last updated
Last updated
在開始介紹運算子之前我們先來認識一個IntelliJ裡面一個實用的功能:
REPL是read(讀取)、evaluate(求值)、print(輸出)、loop(迴圈)四個字的開頭。我們可以寫下一小段想測試的程式碼執行然後Kotlin REPL會依序執行上面的流程,讓我們可以在不影響專案的情況下測試一段程式碼。
那要怎麼開啟Kotlin REPL呢?
頂部選單 Tools -> Kotlin-> Kotlin REPL 就能開啟囉~接下來我們有關運算子的介紹就會使用 Kotlin REPL 來介紹
指定運算子其實就是把"右邊運算出來的結果",設定到"左邊的變數裡面",所以 x = x + 1,翻譯成白話文就是"把 x 變數裡的值加1之後,再設定回x變數裡"的意思。我們可以測試看看下面的程式碼看看會出現什麼樣的結果~
+:加法運算
- :減法運算
*:乘法運算
/:除法運算
%:取餘數運算
我們來試試看下面會出現什麼結果吧~
a += 1:等價於 a = a + 1
a -= 1:等價於 a = a - 1
a *= 1:等價於 a = a * 1
a /= 1:等價於 a = a / 1
a %= 1:等價於 a = a % 1
單元運算子顧名思義,他用來處理單個運算元,簡單來說單元運算子只有其中一邊有東西
+:正號運算子(一般來說都會省略)
-:負號運算子(負數變正數、正數變負數)
++:遞增運算子
— :遞減運算子
!:反向運算子(true變false、false變true)
這邊比較值得注意的地方是遞增(減)運算子有前綴跟後綴的差別,我們可以來比較一下他們的差異
執行後有沒有看出什麼差異呢?
===:兩個實例是否為相同參照
!==:兩個實例是否為不同參照
==:左右側的值是否相等
!=:左右側的值是否相異
>:左側是否大於右側
>=:左側是否大於等於右側
<:左側是否小於右側
<=:左側是否小於等於右側
&&:and運算
||:or運算
true
true
false
false
false
false
true
true
true
false
true
false
&& 跟 || 有個很重要的特性,我們把它稱之為短路:在可以確認運算結果的時候會自動忽略後面全部的運算。
這是什麼意思呢?我們可以先在程式碼裡面加入下面兩個函數試試看
即便我們現在還沒有學過函數,但是我們依然可以用Kotlin PERL呼叫看看執行的時候會發生什麼事情。那接下來我們來試試看在Kotlin PERL分別執行下面的程式碼又會發生什麼事呢?
我們在這邊先簡單的認識過在Kotlin裡面比較常用的運算子了
BUT!對就是這個BUT!
運算子在Kotlin裡面的定義並不僅僅是現在這樣看到的這麼簡單而已,這個我們在之後學習到函數的時候會再介紹什麼是“operator function”,以及運算子怎麼跟operator function交互運作的