美文网首页
一、Kotlin学习之函数和变量

一、Kotlin学习之函数和变量

作者: 家有萌犬 | 来源:发表于2020-03-21 22:45 被阅读0次

    一、函数

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

    println(max(1, 2))打印结果是2

    函数

    备注:if语句在java和kotlin有区别,在kotlin中,if语句是一个表达式,有返回值的。

    表达式函数体

    可以让函数变得简单,因为他的函数体是个表达式,可以省略return和花括号。

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

    对表达式函数体来说,编译器会分析函数体的表达式,并且把他的类型作为函数的返回类型,即使没有显示的写出来,这种分析通常被称为类型推到

    二、变量

    在java中声明变量的时候会以类型开始。在Kotlin中这样是行不通的,因为kotlin中许多变量声明类型都可以省略。所以在Kotlin中变量的声明是以var/val关键字开始的,然后跟变量名称,最后再加上类型(类型可以省略)

    var a: Int = 2//显示指出变量类型
    var b = 3//省略类型,类型推导
    val c = 4
    //c = 5//编译会报错
    

    如果变量没有初始化,需要显示地指出它的类型,因为编译器无法推断它的类型。

    2.1 可变变量&不可变变量

    • 1.可变变量
      var(来自variable),使用var修饰的变量,初始化后可以再次修改,类似java中的非final修饰的变量

    • 2.不可变变量
      val(来自value),使用val修饰的变量,初始化后不可以修改,类似java中的final修饰的变量

    备注:虽然val修饰的变量是不可变的,但是它指向的对象是可变的,这个java的final是一致的

    三、字符串模板

    var a: Int = 2
    println("a = $a")
    

    打印结果为“a = 2
    Kotlin可以在字符串中引入局部变量,只需要在变量的前面加上字符$。如果要在字符串中打印字符$,就要进行转义。

    println("hello \$")
    

    打印结果“hello $”

    相关文章

      网友评论

          本文标题:一、Kotlin学习之函数和变量

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