Kotlin - 入门珍藏篇

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

Kotlin中文站:https://www.kotlincn.net/

目录

  • 输出语句
  • 变量类型
  • 函数定义
  • 防止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(10){1};
            var x = Array(10){i->(i+1).toString()};
            var x = Array(10){i->i};
                arrayOf(1,2,true,"hello");
                arrayOf(1,2);
                arrayOf(1,2);
                arrayOf(1.2F,2.2F);
                arrayOf(1.2,2.5);
                arrayOf(true,false);
                    获取长度:
                        .size
        二维数组:
            var x = Array(10){i->i};
            var y = Array(5){x};
        
        
        列表:
            fun main(args: Array) {
                var x = arrayOf(444,555,666);
                var y = arrayListOf(1,1,1,2,2,3);
                var z = arrayOf(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){
            
        }
    2.自定义函数
        fun test():Int{
            
        }

四、防止null调用方法(防止空指针异常)

    1."?." 允许null调用方法,不报错,结果返回null
        fun test():String?{
            return null;
        }

        fun main(args: Array) {
            println(test()?.length);
        }
    2."!!."编译可以通过,运行到此处报错

五、不支持三目运算符

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

六、位运算符和其他运算符 + 运算符优先级

Kotlin - 入门珍藏篇_第1张图片

Kotlin - 入门珍藏篇_第2张图片

七、流程控制

    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(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);
    }

 

 

你可能感兴趣的:(Kotlin)