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
,效率一样但更紧凑。
网友评论