Kotlin基础-函数和变量
2.1 Hello World
1 | fun main(args: Array<String>): Unit { |
fun
是一个关键字,用来声明一个函数。- 数组就是类
2.2 函数
1 | fun max(x: Int, y: Int): Int { |
注意:
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 | //不指定变量类型,编译器会分析初始化器表达式的值,并把它作为变量的类型 |
可变变量和不可变量
val
(value):不可变引用。使用val声明的便阿宁不能在初始化之后再次赋值。对应Java中的final
变量val
引用自身是不可变的,但是它指向的对象可能是可变的
var
(variable):可变引用。可以被改变- 允许值被改变,但是类型是改变不了的。
2.4 字符串模板
插入一个字符串1
2
3
4
5
6fun main(args: Array<String>): Unit {
val name = if (args.size > 0) args[0] else "sunxin"
println("Hello $name!")
}
>>> Hello sunxin!
使用${} 语法引用表达式,插入变量1
2
3
4
5fun main(args: Array<String>): Unit {
if (args.size>0){
println("Hello ${args[0]}")
}
}
在双引号中嵌套双引号,只要他们处在某个表达式范围内1
2
3fun main(args: Array<String>): Unit {
println("Hello,${if (args.size > 0) args[0] else "someone"}")
}