Kotlin入门笔记二:when、for、in
![](https://img.haomeiwen.com/i6297937/86e61b80ba38e76a.jpeg)
- Kotlin入门笔记一:方法、变量、类
- Kotlin入门笔记二:when、for、in
- Kotlin入门笔记三:可空类型
- Kotlin入门笔记四:集合
- Kotlin入门笔记五:可见修饰符
- Kotlin入门笔记六:Lambda语法
- Kotlin入门笔记七:Lambda之引用
- Kotlin入门笔记八:Lambda和序列
Kotlin中when
冒然提到when
,想必大家都不知道这是什么,其实kotlin中的when
就是java的switch
,只不过它的写法要更简洁,下面带大家来熟悉下when
的写法和用法:
fun main(args: Array<String>) {
useWhen(1)
useWhen(2)
}
fun useWhen(flag: Int) {
when (flag) {
1 -> println("when 1")
2 -> println("when 2")
}
}
这是一段很简单的when
语法,相比较java中的case
、break
要简洁多了吧,看着也舒服多了。如果将when
和enum
结合在一起,会更加的方便,比如:
fun main(args: Array<String>) {
useWhen(Anima.BEAR)
useWhen(Anima.CAT)
}
enum class Anima {
DOG, CAT, BEAR
}
fun useWhen(anima: Anima) {
when (anima) {
Anima.BEAR -> println("when bear")
Anima.DOG -> println("when dog")
Anima.CAT -> println("when cat")
}
}
这里需要注意,enum
枚举的写法和java很类似,但是大家要看清楚,java中的enum
是不需要加class
关键字的,反而kotlin中必须加上class
关键字,别疏忽了。使用when
来处理enum
就不需要使用if
来层层判断了。
when
和if
语句一样,都是有返回值的表达式,可以在->
后面直接返回一个值或者一个表达体函数。
Kotlin中for
1、学习for
之前我们先了解下区间
val rang = 1..10
kotlin中使用..
来表示一个区间,1..10
表达的就是从1到10,包括头尾,我们用for来打印看看:
fun main(args: Array<String>) {
val rang = 1..10
for (i in rang) {
println(i)
}
}
输出结果:
1 2 3 4 5 6 7 8 9 10
结果就显而易见了,区间的用途很大,在日常开发中处处都能遇见。in不仅可以递增还可以递减,并设置递减的梯度:
fun main(args: Array<String>) {
for (i in 10 downTo 1 step 2) {
print("$I ")
}
输出结果:
10 8 6 4 2
in结合downTo是递减的用法,step表示的是递减的梯度,step 2
就是每次减2.
上面介绍的都是in
结合Int
值来使用,在平时的开发中,处理集合使用for
是再寻常不见的了,下面我们来看看使用in处理集合:
fun main(args: Array<String>) {
val list = listOf("a", "b", "c", "d")
for ((index, element) in list.withIndex()) {
println("inde: $index, element: $element")
}
}
输出结果:
inde: 0, element: a
inde: 1, element: b
inde: 2, element: c
inde: 3, element: d
轻轻松松的就可以打印集合的元素,并且输出坐标,不仅list
可以,set
和map
都是如此。
这期的内容比较简单,但是却是日常开发中最常见的,希望大家可以好好理解,下期将为大家带来kotlin中最期待的空指针问题,在kotlin中得到了很完美的解决。
写在最后
每个人不是天生就强大,你若不努力,如何证明自己,加油!
Thank You!
--Taonce
如果你觉得这篇文章对你有所帮助,那么就动动小手指,长按下方的二维码,关注一波吧~~