禅与计算机程序设计艺术Kotlin

Kotlin入门笔记二:when、for、in

2018-09-26  本文已影响74人  Taonce
kotlin.jpeg

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中的casebreak要简洁多了吧,看着也舒服多了。如果将whenenum结合在一起,会更加的方便,比如:

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来层层判断了。

whenif语句一样,都是有返回值的表达式,可以在->后面直接返回一个值或者一个表达体函数。


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可以,setmap都是如此。

这期的内容比较简单,但是却是日常开发中最常见的,希望大家可以好好理解,下期将为大家带来kotlin中最期待的空指针问题,在kotlin中得到了很完美的解决。


写在最后

每个人不是天生就强大,你若不努力,如何证明自己,加油!

Thank You!

--Taonce

如果你觉得这篇文章对你有所帮助,那么就动动小手指,长按下方的二维码,关注一波吧~~

image
上一篇 下一篇

猜你喜欢

热点阅读