Sunxin'Blog

Kotlin基础-函数和变量

Kotlin基础-函数和变量

2.1 Hello World

1
2
3
fun main(args: Array<String>): Unit {
println("Hello World!")
}
  • fun是一个关键字,用来声明一个函数。
  • 数组就是类

2.2 函数

1
2
3
fun max(x: Int, y: Int): Int {
return if (x > y) x else y
}

注意:if是有结果值的表达式。

表达式与语句的区别:
在Kotlin中if是表达式而不是语句,表达式有值,并且能够作为另一个表达式的一部分使用;语句总是包围着它的代码块中的顶层元素,没有自己的值。Java中所有的控制结构都是语句,Kotlin中除了循环,大多数控制结构都是表达式。

表达式函数体

为了让前面的函数更简单,去掉大括号和return,甚至去掉返回类型Int

1
fun max(x: Int, y: Int): Int = if (x > y) x else y

2.3 变量

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

1
2
3
4
5
6
7
8
//不指定变量类型,编译器会分析初始化器表达式的值,并把它作为变量的类型
val result = 39;

//显示指定变量的类型
val result: Int = 39;

//声明一个浮点数常量,那么这个变量就是Double类型
val yearsToCompute = 7.5e6

可变变量和不可变量

  • val(value):不可变引用。使用val声明的便阿宁不能在初始化之后再次赋值。对应Java中的final变量
    • val引用自身是不可变的,但是它指向的对象可能是可变的
  • var(variable):可变引用。可以被改变
    • 允许值被改变,但是类型是改变不了的。

2.4 字符串模板

插入一个字符串

1
2
3
4
5
6
fun main(args: Array<String>): Unit {
val name = if (args.size > 0) args[0] else "sunxin"
println("Hello $name!")
}

>>> Hello sunxin!

使用${} 语法引用表达式,插入变量

1
2
3
4
5
fun main(args: Array<String>): Unit {
if (args.size>0){
println("Hello ${args[0]}")
}
}

在双引号中嵌套双引号,只要他们处在某个表达式范围内

1
2
3
fun main(args: Array<String>): Unit {
println("Hello,${if (args.size > 0) args[0] else "someone"}")
}

-------------本文结束感谢您的阅读-------------