Kotlin学习笔记(四)循环

0 阅读1分钟

案例1:数字循环

fun fizzBuzz(i: Int) = when {
    i % 15 == 0 -> "FizzBuzz"
    i % 3 == 0 -> "AAA"
    else -> "BBB"
}

fun test() {
    for (i in 1..100) {
        println(fizzBuzz(i))
    }

    for (i in 100 downTo 1 step 2) {
        println(fizzBuzz(i))
    }
}

案例2:Map循环

fun testMap() {
    val binaryReps = TreeMap<Char, String>()
    for (c in 'A'..'F') {
        val binary = Integer.toBinaryString(c.toInt())
        binaryReps[c] = binary
    }

    for ((letter, binary) in binaryReps) {
        println(" $letter  = $binary")
    }
}

案例3:带下表索引的list循环

fun testArray() {
    val list = arrayListOf(10, 20, 30)
    for ((index, element) in list.withIndex()) {
        println("$index : $element")
    }
}

案例4:使用 in 检查区间的成员

// 使用 in 检查区间的成员

fun isLetter(c: Char) = c in 'a'..'z' || c in 'A'..'Z'

fun isNotDigit(c: Char) = c !in '0'..'9'

案例5:String类型的比较

// 注:这里字符串是按照字母表顺序进行比较的,因为String是这样实现了Comparable接口
println("Kotlin" in "Java".."Scale")