上一篇文章已經說明了kotlin基本中的基本:變數、基本類型

 

這次再繼續介紹其他基本語法

 

這次的文檔:https://www.kotlincn.net/docs/reference/operator-overloading.html

運算子

這次就來介紹kotlin的運算子,也就是加減乘除

基本運算符

+ : 加

- : 減

* : 乘

/ : 除

% : 餘數

這比較簡單理解,下面幾個例子:

fun main() {

    val a  = 5
    val b  = 2

    println(a+b) //結果 : 7
    println(a-b) //結果 : 3
    println(a*b) //結果 : 10
    println(a/b) //結果 : 2
    println(a%b) //結果 : 1

}

結果應該蠻好理解的,唯一比較奇怪的是a/b,答案應該是2.5阿,怎麼會是2呢?

其實原理也很簡單,a和b都是Int,自然結果也是Int了,程式會自動省略後面的5

解決方法便是將a和b轉換為Double即可

fun main() {

    val a  = 5 //aInt
    val b  = 2 //bInt

    println(a/b) //結果 : 2
    //ab轉換為Double
    println(a.toDouble()/b.toDouble()) //結果 : 2.5

}

遞增與遞減

a++ 遞增

a-- 遞減

++是原來的數值+1,而--是原來的數值-1

fun main() {

    var a  = 5
    a++ //a+1
    println(a) //結果 : 6
    a-- //a-1
    println(a) //結果 : 5

}

另外還存在++a與--a,運算子在前面代表先+1再執行,在後面則是先執行再+1,例子:

fun main() {

    var a = 5
    var b = 5

    println(a++) //print+1,結果 : 5
    println(a) //結果 : 6

    println(++b) //+1print,結果 : 6
    println(b) //結果 : 6
    //--亦是如此
}

廣義賦值

a += b

a -= b

a *= b

a /= b

a %= b

其實這種寫法就是將運算結果賦予a,也就是 a = a + b的意思,例子:

fun main() {

    var a : Double = 5.0 //設為Double,且為變數
    val b : Double = 2.0 //設為Double

    a += b //a = a + b
    println(a) //結果 7.0

    a = 5.0
    a -= b // a= a - b
    println(a) //結果 3.0

    a = 5.0
    a *= b // a = a * b
    println(a) //結果 10.0

    a = 5.0
    a /= b // a = a / b
    println(a) //結果 2.5

    a = 5.0
    a %= b // a = a % b
    println(a) //結果 1.0

}

等於與不等於

==

!=

=的定義是將後者的值賦予給前者,而==則是比較兩者的值是否相等並回傳一個Boolean(true or false),多用於判斷是(如:if)

fun main() {

    var a  = 5
    val b  = 2

    println(a == b) //a的值不等於b的值,結果 : false
    a = b //b的值賦予給a
    println(a) //結果 : 2
    println(a == b) //a的值不等於b的值,結果 : true
    
}

比較符

>

<

>=

<=

這就很好理解了,就是單純的比大小了

fun main() {
    
    val a = 5
    val b = 5

    println(a > b) //false
    println(a < b) //false
    println(a >= b) //true
    println(a <= b) //true
    
}

 

 

運算子的介紹就到這邊了,下次再介紹其他語法

創作者介紹
創作者 HC 日記 的頭像
HC

HC 日記

HC 發表在 痞客邦 留言(0) 人氣( 0 )