kotlin-2、比较与数组
2021-03-02 本文已影响0人
超人TIGA
值的比较
// TODO 比较两个值
fun main() {
val name1: String = "张三"
val name2: String = "张三"
// --- 比较值本身
// == 等价 Java的equals
println(name1.equals(name2))
println(name1 == name2) //kotlin推荐这种写法
// --- 比较对象地址
val test1:Int? = 10000
val test2:Int? = 10000
println(test1 === test2) // false
}
数组
// TODO 数组
fun main() {
// 第一种形式
val numbers = arrayOf(1, 2, 3, 4, 5, 6, 7, 8)
println(numbers[0])
println(numbers[7])
for (number in numbers) {
println(number)
}
// 第二种形式 value=0
// 长度为10,然后根据value+200循环赋值
val numbers2 = Array(10, {value: Int -> (value + 200) })
for (value in numbers2) {
println(value)
}
}
条件判断
// TODO 条件
fun main() {
val number1: Int = 9999999
val number2: Int = 8888888
// 表达式 比 大小 最大值
val maxValue = if (number1 > number2) number1 else number2
// println(maxValue)
val max: Int = if (number1 > number2) {
// TODO
// ....... 具体逻辑
number1
} else {
// TODO
// ....... 具体逻辑
number2
}
// println(max)
// 使用区间做判断
val x = 80
val y = 29
if (x in 1..10 && y in 1..50) {
// println("x y 轴 符合")
} else {
// println("x y 轴 不符合")
}
println()
/* val number = 5
when(number) {
1 -> println("一")
2 -> println("二")
3 -> println("三")
4 -> println("四")
5 -> println("五")
else -> println("其他")
}*/
/*val number = 745
when(number) {
in 1..100 -> println("1..100")
in 200..500 -> println("200..500")
else -> println("其他")
}*/
// Object == Any ?
// val str : String = ""
val number = 3
val result = when (number) {
1 -> {
println("很开心")
// 很多很多的逻辑..
// ...
// TODO ....
"今天是星期一"
99
}
2 -> {
println("很开心")
// 很多很多的逻辑..
// ...
// TODO ....
"今天是星期二"
88
}
3 -> {
println("很开心")
// 很多很多的逻辑..
// ...
// TODO ....
"今天是星期三"
true
100
}
else -> 99
}
// println(result)
when (8) {
1, 2, 3, 4, 5, 6, 7 -> println("满足")
else -> println("不满足")
}
}