helloword

代码行后不需要分号

//fun main(){
//    println("hello word")
//}

 变量

valvalue的简写)用来声明一个不可变的变量
varvariable的简写)用来声明一个可变的变量

声明: 变量名:变量类型

//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 = 0
if (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" -> 100
else -> 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)
//    }
//}

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐