1. 程式人生 > >Kotlin基礎(一)

Kotlin基礎(一)

1.Hello Kotlin
2.kotlin的資料型別
4.字串的拼接
5.條件控制
6.字串的比較
7.kotlin的空值處理
8.when 表示式
9.迴圈for
10.集合list、map


1.Hello Kotlin

fun main(args: Array<String>) {
    println("Hello Kotlin")
}

2.kotlin的資料型別

型別 位寬度
Double 64
Float 32
Long 64
Int 32
Short 16
Byte 8

4.字串的拼接

fun nameLength(name: String): String {
    return "Hello!$name,你的名字有${name.length}個字"
}

5.條件控制

fun main(args: Array<String>) {
    var a = 3
    var b = 5
println("${a}${b}中的最大值是${returnBig(a, b)}") } fun returnBig(a: Int, b: Int): Int { return if (a > b) a else b }

6.字串的比較
//kotlin中的字串"=="相當於java中的equals
//kotlin中的equals過載的方法第二個引數如果為true表示忽略大小寫

    var str1 = "許可"
    var str2 = "許可"

    println(str1 == str2)               //true
    println
(str1.equals(str2)) //true var str3 = "xuke" var str4 = "XuKe" println(str3 == str4) //false println(str3.equals(str4, true)) //true

7.kotlin的空值處理
//kotlin中函式接收的引數預設是非空,如果再型別的後面加上"?"表示引數可以為空

fun main(args: Array<String>) {
    sayHello(null)                      //Hello!null
}

fun sayHello(name: String?) {
    println("Hello!$name")
}

8.when 表示式
//類似於java中的switch,但是更強大更簡單

fun gradeStudent(score:Int){
    when (score) {
        10 -> println("滿分")
        9 -> println("優秀")
        8 -> println("一般")
        7 -> println("還行")
        6 -> println("及格")
        else -> println("不及格")
    }
}
fun gradeStudentPrintln(score: Int): String {
    var print = when (score) {
        10 -> "滿分"
        9 -> "優秀"
        8 -> "一般"
        7 -> "還行"
        6 -> "及格"
        else -> "不及格"
    }
    return print
}

9.迴圈for
//計算:1+2+3+…+100

fun main(args: Array<String>) {
    var nums = 1..100           //閉區間[1,100]
    var result = 0
    for (num in nums) {
        result += num
    }
    println("結果:$result")     //結果:5050
}

//計算:1+2+3+…+99

fun main(args: Array<String>) {
    var nums = 1 until 100      //開區間[1,100)
    var result = 0
    for (num in nums) {
        result += num
    }
    println("結果:$result")      //結果:4950
}

語法step 步長

    var nums2 = 1..10
    for (s in nums2 step 4){
        print("$s ")             //1 5 9
    }

方法reversed() 反轉

    var nums2 = 1..10
    var nums3 = nums2.reversed()
    for (s in nums3){
        print("$s ")              //10 9 8 7 6 5 4 3 2 1
    }

方法count() 總數

    var nums2 = 1..10
    println("總數為:" + nums2.count())  //總數為:10

10.集合list、map

  • list
    遍歷集合
    var lists = listOf("java", "android", "kotlin", "react native", "flutter", "javascript")
    for (list in lists) {
        print("$list ")
    }

輸出:

java android kotlin react native flutter javascript ios

按照key value遍歷

    for ((key, value) in lists.withIndex()) {
        println("$key -> $value")
    }

輸出:

0 -> java
1 -> android
2 -> kotlin
3 -> react native
4 -> flutter
5 -> javascript
6 -> ios
  • map
    var map = TreeMap<String, String>()
    map["tenuous"] = "脆弱的,微弱的"
    map["carp"] = "抱怨,挑小毛病"
    map["nourish"] = "撫養,資陽,培養"
    println(map["carp"])       //抱怨,挑小毛病