美文网首页Kotlinkotlin
Kotlin2.1基本要素:函数和变量

Kotlin2.1基本要素:函数和变量

作者: 无心下棋 | 来源:发表于2018-05-10 21:00 被阅读36次

    2.1.1 Hello World

    在Kotlin中,这样写:

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

    特性和语法:

    • 关键字fun用来声明一个函数。
    • 参数的类型写在它的名称后面。
    • 函数可以定义在文件的最外层,不需要放在类中。
    • 数组就是类。
    • 使用println代替了System.out.println。这就是一个语法糖。
    • 可以省略每行代码结尾的分号

    2.1.2函数

    fun max(a: Int, b: Int): Int {
        return if (a > b) a else b
    }
    >>> println(max(1, 2))
    2
    

    函数的声明以关键字fun开始,函数名称紧随其后。这个例子中函数的名称是max,接下来是括号括起来的参数列表。参数列表后面跟着的是返回值类型,它们之间用一个冒号隔开。

    表达式函数体

    可以让前面的函数变得更简单。因为它的函数体是由单个表达式构成的,可以用这个表达式作为完整的函数体,并去掉花括号和return语句:

    fun max(a: Int, b: Int): Int = if (a > b) a else b
    

    如果函数体写在花括号中,那么这个函数就有代码块体,如果它直接返回了一个表达式,它就有表达式体。

    还可以进一步简化max函数,省略返回值类型:

    fun max(a: Int, b: Int) = if (a > b) a else b
    

    注意,只有表达式体函数的返回值类型可以省略。对于有返回值的代码块体函数,必须显式地写出返回值类型和return语句。

    2.1.3变量

    在Kotlin中声明变量以关键字开始,然后是变量名称,最后是类型(可以不加)

    val str = "你好"
    val age = 25
    

    如果需要也可以显式地指明变量的类型:

    val age: Int = 25
    

    如果变量没有初始化器,需要显式地指明它的类型:

    val age: Int
    age = 25 
    

    可变变量和不可变量

    声明变量的关键字有两个:

    • val(value)-------不可变引用。使用val声明的变量不能在初始化之后再次赋值,对应的是Java中的final变量。
    • var(variable)---可变引用。 这种变量的值可以被改变。

    注意:尽管val引用自身是不可变的,但是它指向的对象可能是可变的。例如:

    val languages = arrayListOf("Java")
    languages.add("Kotlin")
    

    尽管var关键字允许变量改变自己的值,但它的类型却是改变不了的。例如:

    var age = 25
    age = "那时年少"
    

    会编译不通过。

    2.1.4更简单的字符串格式化:字符串模板

    val name = "那时年少"
    println("Hello, $name")
    
    Hello,那时年少
    

    Kotlin让你可以在字符串字面值中引用局部变量,只需要在变量名称前面加上字符$。这等价于Java中的字符串连接"Hello ," + name,效率一样但更紧凑。

    相关文章

      网友评论

        本文标题:Kotlin2.1基本要素:函数和变量

        本文链接:https://www.haomeiwen.com/subject/tfwtdftx.html