android kotlin基础复习—for while do...while

1、新建一个文件kt:

2、循环的几种用法:

for

while

do ... while

for:

复制代码
println("----for 使用-----")
    val items = listOf("apple", "banana", "kiwi")
    for (item in items) {
        println(item)
    }

    for (index in items.indices) {
        println("item at $index is ${items[index]}")
    }

while:

复制代码
 println("----while 使用-----")
    var x = 5
    while (x > 0) {
        println( x--)
    }

do...while:

复制代码
println("----do...while 使用-----")
    var y = 5
    do {
        println(y--)
    } while(y>0)

3、测试代码:

复制代码
fun main(args: Array<String>) {
    println("----for 使用-----")
    val items = listOf("apple", "banana", "kiwi")
    for (item in items) {
        println(item)
    }

    for (index in items.indices) {
        println("item at $index is ${items[index]}")
    }

    println("----while 使用-----")
    var x = 5
    while (x > 0) {
        println( x--)
    }
    println("----do...while 使用-----")
    var y = 5
    do {
        println(y--)
    } while(y>0)

    println("----continue...break 使用-----")
    for (i in 1..10) {
        if (i==3) continue  // i 为 3 时跳过当前循环,继续下一次循环
        println(i)
        if (i>5) break   // i 为 6 时 跳出循环
    }

    println("---- 使用-----")
    foo()
    println("---- 使用-----")
    foo1()
    println("---- 使用-----")
    foo2()
    println("----for 使用-----")
    forLoop()
    println("----String length 使用-----")
    print(getStringLength("hello"))
}

fun foo() {
    val ints = intArrayOf(0,1,2)
    ints.forEach lit@ {
        if (it == 0) return@lit
        println(it)
    }
}

fun foo1() {
    val ints = intArrayOf(0,1,2)
    ints.forEach {
        if (it == 0) return@forEach
        println(it)
    }
}

fun foo2() {
    val ints = intArrayOf(0,1,2)
    ints.forEach(fun(value: Int) {
        if (value == 0) return
        println(value)
    })
}

fun forLoop(){
    print("循环输出:")
    for (i in 1..4) print(i) // 输出"1234"
    println("\n----------------")
    print("设置步长:")
    for (i in 1..4 step 2) print("$i ") // 输出"13"
    println("\n----------------")
    print("使用 downTo:")
    for (i in 4 downTo 1 step 2) print("$i ") // 输出"42"
    println("\n----------------")
    print("使用 until:")
    // 使用 until 函数排除结束元素
    for (i in 1 until 4) {   // i in [1, 4) 排除了 4
        print(i)
    }
    println("\n----------------")
}

fun getStringLength(obj: Any): Int? {
    if (obj is String) {
        // 做过类型判断以后,obj会被系统自动转换为String类型
        return obj.length
    }else{
        return 0
    }
}

4、测试结果:

相关推荐
kymjs张涛9 分钟前
零一开源|前沿技术周报 #7
android·前端·ios
wuwu_q2 小时前
RK3566/RK3568 Android11 修改selinux模式
android·rk3568
_一条咸鱼_2 小时前
Android Runtime内存共享与访问控制原理剖析(71)
android·面试·android jetpack
嘉小华3 小时前
第三章:焦点分发全链路源码解析
android
嘉小华3 小时前
Android 协程全景式深度解析:第六章 高阶并发模式
android
嘉小华3 小时前
Android 协程全景式深度解析:第七章 协程调试与性能优化
android
你过来啊你3 小时前
Android开发中RxJava的使用与原理
android
你过来啊你4 小时前
Android Glide使用与底层机制详解
android
血舞之境4 小时前
Android 模块打包成aar遇到的空指针的问题
android
嘉小华4 小时前
Android 协程全景式深度解析:第四章 Flow响应式流
android·前端