Kotlin區間 循環語句 分支語句 延遲初始化筆記

val range : IntRange = 0..1024;//代表着區間[0, 1024]
val range_exclusive : IntRange = 0 until 1024;//待變着半開區間[0, 1024) = [0, 1023]

val arrayOfInt : IntArray = intArrayOf(1,3,5,7)
val arrayOfInt1 : Array<Int> = arrayOf(1, 3, 5, 7)// arrayOfInt.slice(1..2)  -->數組切片

val arrayOfString : Array<String> = arrayOf("H","e","l","l","o")
val joinString = arrayOfString.joinToString("");//joinToString() 傳入的連接的分隔符

class A{
    //var 用lateinit yanc
    lateinit var c : String//在使用前必須初始化 否則會報錯
    val e : X by lazy {//再調用的時候纔會執行lazy{ }
        X()
    }
}

class X{

}

//中綴表達式:只有一個參數 且用infix修飾的函數
private const val USERNAME = "kotlin";
private const val PASSWORD = "jetbrains"
fun main(args : Array<String>) {
    //if 表達式
    val mode = if (args.isNotEmpty() && args[0] == "1"){
        1
    }else{
        0
    }

    //分支表達式
    val x = 5
    when(x){
        is Int -> print("Hello $x")
        in 1..100-> print("x is in 1..100")
        !in 1..100 -> print("x is not in 1..100")
        args[0].toInt() -> print("x == arg[0]")// args[0]的值和 x一樣
    }

    //循環語句
    for (arg in args){
        println(arg)
    }

    for ((index, value) in args.withIndex()){
        println("$index -> $value")
    }

    for (indexedValue in args.withIndex()){
        println("${indexedValue.index} -> ${indexedValue.value}")
    }

    val array = intArrayOf(1,2,3,4,5)// *array 數組的展開操作 目前僅限於可變參數vararg 傳參使用, *這個運算符目前只支持array
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章