案例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")