kotlin细节

2022-05-09  本文已影响0人  印奕

1,包名即类名

2,var val自动类型推断—格式eg:var:passward:String?=null

不确定有没有值用问号,不然用:eg:var inputpassword:String

3,kotlin不需导入(相比Java的优点)

4,kotlin相比于Java优点:扩展,允许可选类型用equals方法

5,(1)when代替switch,()里可以是任意类型,多种情况放在一行逗号隔开,一旦匹配即break;

when-1 when-1(2) when-2

条件可以是范围,可以是非in

when-2(2) when-3

判断是哪一个对象,用is,不用case

学习kotlin的知识进网站:http://www.jetbrains.com->Learning Tools->右边有kotlin for Education->底部get started,也可直接阅读book.kotlincn.net

when-4

when实现赋值

when-4(2)

一个条件多条语句,用大括号{}在{}最后一条语句写上要赋值的结果eg:“1”

6,独立代码块作用域问题,脱离作用域重新赋值会报错

写程序不要一股脑写,写一部分可以调试了,及时调试看效果

7,可能用,可能不用要用一个“变量来控制”(可以是boolean)的思想,写好的东西及时关上,不要干扰自己,一个程序的一个发挥功能的部分要从简单的部分开始写

8,字符串转整型用.toInt()

9.debug调试,单步调试(一条一条语句点击调试看值)

10,if一句话语句可以省略大括号

类似Java的三目运算符,可以用if赋值 if多条语句{}不能省略

11,数组定义方法:

输入语句 数组的访问用.indices 字符串实际上就是字符数组,可以用for-each循环得到每一个字符型数字,再利用.code方法实现转型为整型数字 汉字转文字:定义汉字数组->输入字符串数组->for-each实现字符数字转整型数字->整型数组对应的汉字赋给变量hanzi        

12,数组的长度是size,字符串的长度是length

先取索引值,再取元素,顺序不能变,取索引用withIndex()

13,如果不知道while语句跳出条件,则先用true死循环,然后再找条件1

14,kotlin声明属性的方式1

    //形式参数

    //临时定义一个变量保存外部传递过来的值

    //注意:aName和aAge是临时的,只能在两种情况下可以使用

    //1.声明变量时 变量的初始值是外部通过主构造函数传递过来

    class L3Person constructor(aName:String,aAge:Int){

        var name:String = aName

        var age:Int = aAge

    }

    //2.初始化块中调用

    class L3Person constructor(aName:String,aAge:Int){

        var name:String = ""

        var age:Int = 0

        //主构造函数调用之后 如果有声明 就会调用init初始化块,第一时间做点事

        init {

            name = aName

            age = aAge

        }

    }

kotlin声明属性的方式2

    //在主构造函数中直接声明属性用val var

    //需要在创建对象时给初始值的属性才放到主构造函数中

    class L3Person constructor(

        private var aName:String,

        val aAge:Int

    ){

        var score = 98.5

    }

方法声明

//无参 无返回值的函数

    //kotlin

    fun test():Unit{}

    //Java

    public void test(){}

    //有参 :unit表示无返回值的函数,unit也可以不写

    //kotlin

    fun test1(a:Int,b:Int):Unit{}

    //java

    public void test1(int a,int b){}

    //有参 有返回值的函数

    //kotlin

    fun test2(a:Int,b:Int):Int{

        return a + b

    }

    //java

    public int test3(int a,int b){

        return  a + b;

    }

return只是结束当前方法(函数),若想结束整个程序用用System.exit(0)//()内的表示正常退出

    //如果函数实现只有一行 可以省略{}

    fun test3(a:Int, b:Int):Int = a+b

    //如果函数实现只有一行 可以省略{}

    //返回值类型也可以省略

    fun test4(a:Int, b:Int) = a+b

上一篇 下一篇

猜你喜欢

热点阅读