Kotlin學習

var => 宣告變數

val => 宣告常數

宣告可以只宣告型態但不預設值,或是設定預設值會自動推導型態,或是同時設定型態和預設值。

var a1: Int //設定預設值會自動推導型態
var a2 = 1 //只宣告型態但不預設值
var a3: Int = 1 //同時設定型態和預設值

$ => 以變數取代

var s1 = "abc"
print("name is $s1")

字串內運算要用大括號

var i1 = 1
var i2 = 2
print("sum is ${i1 + i2}")

以下為宣告各種型態array的方法

var iArray = intArrayOf(1, 2, 3)
var fArray = floatArrayOf(1.0f, 2.0f, 3.0f)
var bArray = booleanArrayOf(true, false, true)
var cArray = charArrayOf('a', 'b', 'c')

foreach走訪迴圈 => 元素 in 陣列/迴圈

foreach迴圈中取得值 => 因為透過陣列去找某index屬於運算行為,所以要用大括號

for(i in iArray.indices)
{
    println("${iArray[i]}")
}

foreach的累加 - 逐次加

for(i in 1...100){
    sum += i
}
println(sum)

foreach的累加 - 設定累加step(遞增)

//2 + 4 + 6 + 8 + 10
for(i in 2...10 step 2){
    sum += i
}
println(sum)

foreach的累減 - 設定累減step(遞減)

//10 8 6 4 2
for(i in 10 down to 2 step 2){
    print(sum + "")
}

foreach界線 - until => 只會走到9

//1 2 3 4 5 6 7 8 9 
for(item in 1 until 10)
{
    print("$item")
}

條件判斷

if

var a1 = 1
var a2 = 2
var a3 = if(a1 < a2) a1 else a2

when(Jave的switch), else在裡面類似default

when(x)
{
    1-> //do something
    2 -> //do something
    else -> //do something 
}

in和!in可以表示在某範圍裡面

when(x)
{
    in 1..10 -> //do something
    !in 1..10 -> //do something
    else -> //do something
}

is和is!可以判斷是否為某型態

val hasPrefix = when (x) {
    is String -> x.startsWith("prefix")
    else -> false
}

Last updated