Kotlin - 入門珍藏篇

Kotlin在線工具:https://try.kotlinlang.org/#/Examples/Hello,%20world!/Simplest%20version/Simplest%20version.kt

目錄

  • 輸出語句
  • 變量類型
  • 函數定義
  • 防止null調用方法(防止空指針異常)
  • 不支持三目運算符
  • 位運算符和其他運算符 + 運算符優先級
  • 流程控制


一、輸出語句

    print();
    println();

二、變量類型

    1.聲明所有變量均使用var,編譯器會自動進行類型推斷
        1.1 常量聲明使用val
        1.2 變量聲明時可手動指明類型:var data:Byte
        1.3 var類型默認約束爲Any
        
    2.對於函數參數類型和返回值,需要手動指定類型
        數字類型:
            Byte:8
            Short:16
            Int:32[Default]
            Long:64
                Float:32[1.2F]
                Double:64[Default]
                    3.141592653589793238.toInt()    //截斷
        布爾類型:
            Boolean:
                false
                true
        字符:
            Char
        字符串:
            String
            
        元組:
            二元:var data1 = Pair(1,2);
                data1.first
                data1.second
            三元:var data2 = Triple(1,2,3);
                data2.first
                data2.second
                data2.third
        可空類型:
            類型後加一個?:Int?,String?,Boolean?
                // 報錯
                fun test():Int{
                    println("hello\n");
                    return null;
                }
                // 成功
                fun test():Int?{
                    println("hello\n");
                    return null;
                }
                
        一維數組(一種可以使用lambda表達式初始化,一種自定義值初始化):
            var x = Array<Int>(10){1};
            var x = Array<String>(10){i->(i+1).toString()};
            var x = Array<Int>(10){i->i};
                arrayOf(1,2,true,"hello");
                arrayOf<Int>(1,2);
                arrayOf<Long>(1,2);
                arrayOf<Float>(1.2F,2.2F);
                arrayOf<Double>(1.2,2.5);
                arrayOf<Boolean>(true,false);
                    獲取長度:
                        .size
        二維數組:
            var x = Array<Int>(10){i->i};
            var y = Array(5){x};
        
        
        列表:
            fun main(args: Array<String>) {
                var x = arrayOf<Int>(444,555,666);
                var y = arrayListOf<Int>(1,1,1,2,2,3);
                var z = arrayOf<Int>(1);
                
                y.add(4);
                y.add(0,99);
                y.addAll(x);
                y.remove(1);     // 移除第一個
                y.removeAll(z);  // 移除全部
                y.retainAll(x);  // 移除x之外的所有數據
                
                println(y);
            }

三、函數定義

    1.main函數
        fun main(args:Array<String>){
            
        }
    2.自定義函數
        fun test():Int{
            
        }

四、防止null調用方法(防止空指針異常)

    1."?." 允許null調用方法,不報錯,結果返回null
        fun test():String?{
            return null;
        }

        fun main(args: Array<String>) {
            println(test()?.length);
        }
    2."!!."編譯可以通過,運行到此處報錯

五、不支持三目運算符

    替換版:if(2>1) true else false

六、位運算符和其他運算符 + 運算符優先級

七、流程控制

    1.單分支:if...else...
    2.多分支(不是switch...case...)
        不需要break!
        when(x){
            1,2->{
                println("1,2");
            }
            in 3..5->{
                println("in 3..5");
            }
            else{
                println("else");
            }
        }
    3.循環
        var x = Array<Int>(10){1};
        // [)
        for(i in 0 until x.size){
            println(i);
        }
        // []
        for(i in 0..x.size){
            println(i);
        }
        // indices = 0 until x.size
        for(i in x.indices){
        println(i);
    }

 

 

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