Kotlin學習(二)Kotlin基礎語法

        學習一門語言,我總是會先學習一下基本的語法。因爲並不急着應用Kotlin去開發項目,所以,還是有很多的時間去學習。今天,簡單的總結一下Kotlin的基本語法。

一.函數

1.有參有返回值函數

fun sum(x: Int, y: Int): Int {
    return x + y
}

2.有參無返回值函數

fun printSub(x: Int, y: Int) {
    println(x - y)
}

3.無參無返回值函數

fun printMul() {
    println(3 * 5)
}

4.無參有返回值函數

fun div(): Int {
    return (9 / 3)
}

二.變量

1.定義只讀局部變量,使用val關鍵字,只能賦值一次:

val a: Int = 1  //立即賦值
val b = 2  //自動推斷類型:Int
val c: Int //沒賦值,類型不能省略
c = 3

2.定義可重新賦值的變量,使用var關鍵字,此變量不可爲null:

var d = 4
d += 1

4.定義可空變量,使用?且類型不可省略,此變量可以被賦值爲null

var e: String? = "hello"
e = null

3.定義常量,使用const val關鍵字:

const val TAG = "HELLO_KOTLIN"

4.定義後期初始化變量,使用lateinit關鍵字,不能聲明於基本數據類型,使用前必須初始化:

lateinit var f:String;

    如果在使用前不初始化,會報異常UninitializedPropertyAccessException:

 

5.定義頂層變量,即在類之上: 

const val TAG = "HELLO_KOTLIN"

.註釋

1.單行註釋

//

2.多行註釋

/*

*/

.字符串模板

1.使用$

val a: Int = 1
println("a:$a")

2.使用${}

var g:String = "xxx";
println("$g.length is ${g.length}")

五.條件判斷語句

1.if語句

fun ifTest(x: Int, y: Int): Int {
    if (x > y) {
        return x
    } else {
        return y
    }
}

2.when語句

fun whenTest(x: Int):String?{
    when(x){
        1 -> return "Monday"
        2 -> return "Tuesday"
        3 -> return "Wednesday"
        4 -> return "Thursday"
        5 -> return "Friday"
        6 -> return "Saturday"
        7 -> return "Sunday"
    }
    return null
}

六.循環語句

1.for 循環

fun forTest(){
    var list  = listOf<String>("a","b","c")
    for (item in list){
        println(item)
    }
}

2.while循環

fun whileTest(){
    var list  = listOf<Int>(1,2,3)
    var index =0
    while (index<list.size){
        println(list.get(index))
        index++
    }
}

七.is運算符

    is 運算符檢測一個表達式是否某類型的一個實例,如果是該類型的實例,則可以直接使用該類型的方法,不需要顯示類型轉換:

fun getStringLength(obj:Any):Int?{
    if(obj is String){
        return obj.length
    }else{
        return null
    }
}

八.in運算符

    使用in運算符來檢測某個數字是否在指定區間內:

fun inTest(x:Int):Boolean{
    return (x in 1..10)
}

九.全部代碼

package com.tudu.kotlin


//定義頂層變量
const val TAG = "HELLO_KOTLIN"

fun main() {

    //定義只讀局部變量使用val
    val a: Int = 1 //立即賦值
    val b = 2  //自動推斷類型:Int
    val c: Int //沒賦值,類型不能省略
    c = 3

    //定義變量
    var d = 4
    d += 1

    //定義可空變量
    var e: String? = "hello"
    e = null

    //定義後期初始化變量
    lateinit var f:String;
    var g:String = "xxx";

    println(sum(2, 3))
    printSub(2, 1)
    printMul()
    println(div())

    println("a:$a")
    println("b:$b")
    println("c:$c")
    println("d:$d")
    println("e:$e")

    f = "123"
    println("f:$f")
    println("$g.length is ${g.length}")
    println("TAG:$TAG")

    println(whenTest(7))
    forTest()
    whileTest()
    println(getStringLength("123abc"))
    println(inTest(5))

}


//有參有返回值函數
fun sum(x: Int, y: Int): Int {
    return x + y
}

//有參無返回值函數
fun printSub(x: Int, y: Int) {
    println(x - y)
}

//無參無返回值函數
fun printMul() {
    println(3 * 5)
}

//無參有返回值函數
fun div(): Int {
    return (9 / 3)
}

//if條件判斷語句
fun ifTest(x: Int, y: Int): Int {
    if (x > y) {
        return x
    } else {
        return y
    }
}

//when條件判斷語句
fun whenTest(x: Int):String?{
    when(x){
        1 -> return "Monday"
        2 -> return "Tuesday"
        3 -> return "Wednesday"
        4 -> return "Thursday"
        5 -> return "Friday"
        6 -> return "Saturday"
        7 -> return "Sunday"
    }
    return null
}

//for循環
fun forTest(){
    var list  = listOf<String>("a","b","c")
    for (item in list){
        println(item)
    }
}

//while循環
fun whileTest(){
    var list  = listOf<Int>(1,2,3)
    var index =0;
    while (index<list.size){
        println(list.get(index))
        index++
    }
}

//is
fun getStringLength(obj:Any):Int?{
    if(obj is String){
        return obj.length
    }else{
        return null
    }
}

//in
fun inTest(x:Int):Boolean{
    return (x in 1..10)
}

    學習一門新的語言,我還是習慣先從基本語法看起,雖然很多人覺得這很浪費時間。這篇博客簡單總結了一下Kotlin的基本語法,其實很多地方和Java有共同之處,還是比較好上手的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章