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、测试结果:

相关推荐
柯南二号8 小时前
Android Studio根目录下创建多个可运行的模块
android·ide·android studio
恋猫de小郭11 小时前
Compose Multiplatform iOS 稳定版发布:可用于生产环境,并支持 hotload
android·flutter·macos·ios·kotlin·cocoa
音视频牛哥13 小时前
把Android设备变成“国标摄像头”:GB28181移动终端实战接入指南
android·音视频·大牛直播sdk·gb28181安卓端·gb28181对接·gb28181平台对接·gb28181监控
tangweiguo0305198713 小时前
Jetpack Compose 响应式布局实战:BoxWithConstraints 完全指南
android
難釋懷13 小时前
Android开发-视图基础
android
Anthony_sun16 小时前
UniAppx 跳转Android 系统通讯录
android·uniapp
温柔的小猪竹20 小时前
android中的背压问题及解决方案
android
小妖66620 小时前
uni-app 引入vconsole web端正常,安卓端报错 Cannot read property ‘sendBeacon‘ of undefined
android·前端·uni-app
努力学习的小廉21 小时前
深入了解linux系统—— 进程控制
android·linux·服务器
帅次1 天前
Flutter TabBar / TabBarView 详解
android·flutter·ios·小程序·iphone·taro·reactnative