helloword
代码行后不需要分号
//fun main(){ // println("hello word") //}
变量
val ( value 的简写)用来声明一个不可变的变量
var ( variable 的简写)用来声明一个可变的变量
声明: 变量名:变量类型
//fun main() { // var a: Int = 10 // a = a * 10 // println("a = $a") //}
函数
在输入max时使用自动补全可以自动导入需要的包
//fun largerNumber(num1: Int, num2: Int): Int { // return max(num2,num1) //}
函数可以直接等于
fun largerNumber(num1: Int, num2: Int): Int = max(num1, num2)
类型也可以省略,kotlin可以直接推导类型
fun largerNumber(num1: Int, num2: Int) = max(num1, num2)
if
在kotlin中if也有返回值
//常规写法fun largerNumber(num1: Int, num2: Int): Int {var value = 0if (num1 > num2) {value = num1} else {value = num2}return value}
//简写 if也有返回值fun largerNumber(num1: Int, num2: Int): Int {val value = if (num1 > num2) {num1} else {num2}return value}
//简写,if也有返回值fun largerNumber(num1: Int, num2: Int): Int {return if (num1 > num2) {num1} else {num2}}
//kotlin可以推导变量类型,if有返回值,函数直接等于fun largerNumber(num1: Int, num2: Int) = if (num1 > num2) {num1} else {num2}
fun largerNumber(num1: Int, num2: Int) = if (num1 > num2) num1 else num2
when
//函数可以直接等于
fun getScore(name: String) = if (name == "Tom") {86} else if (name == "Jim") {77} else if (name == "Jack") {95} else if (name == "Lily") {100} else {0}
//常规写法
fun getScore(name: String) = when (name) {"Tom" -> 86"Jim" -> 77"Jack" -> 95"Lily" -> 100else -> 0}
//类型匹配
fun checkNumber(num: Number) {when (num) {is Int -> println("number is Int")is Double -> println("number is Double")else -> println("number not support")}}
for
//0..10
//fun main() { // for (i in 0..10) { // println(i) // } //}
step
//fun main() { // for (i in 0 until 10 step 2) { // println(i) // } //}
downTo
//fun main() { // for (i in 10 downTo 1) { // println(i) // } //}