一、函数
fun max(a: Int, b: Int): Int {
return if (a > b) a else b
}
println(max(1, 2))
打印结果是2
备注:if语句在java和kotlin有区别,在kotlin中,if语句是一个表达式,有返回值的。
表达式函数体
可以让函数变得简单,因为他的函数体是个表达式,可以省略return和花括号。
fun max(a: Int, b: Int) = if (a > b) a else b
对表达式函数体来说,编译器会分析函数体的表达式,并且把他的类型作为函数的返回类型,即使没有显示的写出来,这种分析通常被称为类型推到
二、变量
在java中声明变量的时候会以类型开始。在Kotlin中这样是行不通的,因为kotlin中许多变量声明类型都可以省略。所以在Kotlin中变量的声明是以var/val关键字开始的,然后跟变量名称,最后再加上类型(类型可以省略)
var a: Int = 2//显示指出变量类型
var b = 3//省略类型,类型推导
val c = 4
//c = 5//编译会报错
如果变量没有初始化,需要显示地指出它的类型,因为编译器无法推断它的类型。
2.1 可变变量&不可变变量
-
1.可变变量
var(来自variable),使用var修饰的变量,初始化后可以再次修改,类似java中的非final修饰的变量 -
2.不可变变量
val(来自value),使用val修饰的变量,初始化后不可以修改,类似java中的final修饰的变量
备注:虽然val修饰的变量是不可变的,但是它指向的对象是可变的,这个java的final是一致的
三、字符串模板
var a: Int = 2
println("a = $a")
打印结果为“a = 2”
Kotlin可以在字符串中引入局部变量,只需要在变量的前面加上字符$。如果要在字符串中打印字符$,就要进行转义。
println("hello \$")
打印结果“hello $”
网友评论