2.1基本要素:函数和变量

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

猜你喜欢

转载自blog.csdn.net/qq_26413249/article/details/80273640