Kotlin基础之函数和变量

1. 函数

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

函数声明以关键字fun开始,函数名称max

在kotlin中,if是表达式,不是语句,表达式和语句的区别是:表达式有值,语句没有值

Java中所有控制结构都是语句

Kotlin中除了循环以外大多数控制结构都是表达式

表达式函数体

可以用一个表达式作为完整的函数体

 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

Kotlin作为一门静态类型语言,编译器会分析作为函数体的表达式,并把它的类型作为函数的返回类型

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

2.变量

在Java中声明变量以类型开始,Kotlin中以关键字开始,然后是变量名称

和表达式函数一样,如果不指定变量的类型,编译器会分析初始化器表达式的的值,并把它的类型作为变量的类型

可变变量和不可变量

var(variable):可变引用   注: 这个单词就是可变的意思

val(value):不可变引用  对应java中final变量

默认情况下,尽可能使用不可变引用 val,在定义val变量的代码块执行期间,val变量只能进行一次初始化

尽管val引用自身是不可变的,但是它指向的对象是可能变的

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

3.字符串模板

字符串可以包含模板表达式,即一些小段的代码,会进行求值,并把结果合并到字符串中。模板表达式一美元符($)开头


        val i=100

        println("i=$i")

打印结果:i=100

或者使用花括号括起来的任意表达式

 val s="adb"
 val str="$s.length is ${s.length}"//执行结果为“adb.length is 3”
发布了272 篇原创文章 · 获赞 68 · 访问量 40万+

猜你喜欢

转载自blog.csdn.net/u014005316/article/details/89979246