算術運算子用於數值型別的運算,kotlin語言支援基本的算術運算:加法「+」、減法「-」、乘法「*」、除法「/」、取餘「%」、以及自增自減運算。
如:
var inta:int =5+
5// 10
val intb:int =10-
2// 8
val intc:int =3*
4// 12
val intd:int =10/
5// 2
val inte:int =10%
3// 1,除不盡,保留餘數
val intf:int =10/
6// 1,除不盡,僅保留整數部分
inta = inta /
0// 報錯,除數不能為0
自增和自減運算子也是單目運算子,因為它只有乙個運算元。**自增運算子 「++」 表示使運算元加1,自減運算子 「–」 表示使運算元減1,**其運算元可以使整數和浮點型等數字型別。如:
var inta : int =
5inta++
// 等於 inta = inta + 1
println
("inta = "
+ inta)
// 輸出 inta = 6
值得注意的是,自增運算子和自減運算子還會分為前置自增、後置自增、前置自減和後置自減,放在運算元前面的是前置,放在運算元後面的是後置運算子。
後置運算,則為先進性表示式返回,才進行自增、自減運算。
前置運算子,則先進行自增、自減運算,在進行表示式返回。
如:
var intinca: int =
5var intincb: int =
5var intincc: int =
5var intincd: int =
5println
(++intinca)
// 先自增, 後返回。 輸出 :6
println
(--intincb)
// 先自減, 後返回。 輸出 :4
println
(intincc--
)// 先返回, 後自減。 輸出 :5
println
(intincd++
)// 先返回, 後自增。 輸出 :5
賦值運算a=b,表示等號右邊的b初始化或者維護等號左邊的a,b可以是變數、常量、字面量或表示式。
如:
var inta:int =
5val intb:int =
10inta =2+
1;inta = intb
在kotlin語言中還有另一種賦值運算子,叫做算術自反賦值運算子。它是一種由兩個普通運算子組成的符合運算子,它包括:「+=」、「-=」、「*=」、「/=」、「%=」。如:
var inta:int =
5val intb:int =
10inta += intb // 作用等於 inta = inta + intb
inta -= intb // 作用等於 inta = inta - intb
inta *= intb // 作用等於 inta = inta * intb
inta /= intb // 作用等於 inta = inta / intb
inta %= intb // 作用等於 inta = inta % intb
比較運算子用於對兩個數值、變數或者表示式進行比較,**其結果是乙個布林值,即true或false,**接下來列舉kotlin中的比較運算子及其用法。
如:
println(10
==10
)// true
println(1
!=5)// true
println(1
<5)
// true
println(1
>5)
// false
println(4
<=5)
// true
println(4
>=5)
// false
注意:
1. 關係運算子的優先順序低於算術運算子。
2. 關係運算子的優先順序高於賦值運算子。
邏輯運算子是對布林型的資料進行操作,其結果仍是乙個布林型別資料,接下來列舉邏輯運算子及其用法。
如:
部落格為個人收集學習,供大家交流學習。
學習Kotlin 看看In運算子幷包含
對於所有這些,我們經常想知道範圍或集合中何時存在某些東西,這就是 in 運算子進入的位置。在下面的示例中,我們使用 in 運算子首先檢查陣列中的值,然後在範圍,然後是字串中的子字串 以下每個示例都將返回true。val letters arrayof a b c d e 的println c 中的 ...
Kotlin展開運算子
當你需要傳遞乙個陣列引數時,在kotlin中需要你解包陣列,以便每個陣列元素在函式中能作為單獨的引數來呼叫。我們使用 號來展開這個陣列。fun main one,two,three,four 下面這為錯誤的 fun main type mismatch inferred type is listbu...
Kotlin學習筆記5 7 其他 運算子過載
kotlin官網 other operator overloading kotlin支援過載運算子,運算子有對應固定名字的函式,可以定義為成員函式或者擴充套件函式,函式前加operator。表示式轉換 aa.unaryplus aa.unaryminus aa.not 編譯器的轉換步驟 注意,對於基...