首页 > 其他分享 >android kotlin基础复习—for while do...while

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

时间:2024-09-04 09:55:12浏览次数:10  
标签:do ... items ---- print while ----- println

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

标签:do,...,items,----,print,while,-----,println
From: https://blog.csdn.net/jwbabc/article/details/141822653

相关文章

  • CSP2024 to do list...
    马上CSP了,感觉得开始培养状态了。哈希练习Tarjan初步学习+刷题大模拟练习:鸭棋+猪国杀S组初赛,选择题部分,刷整卷至少3套。树状数组练习:DX视频线段树优化dp练习贪心练习,普及组重点训练2017以来的普及组真题T3T4表达式树练习数学优化枚举练习背包专......
  • Docker 简介
    首先说明一些特性:一个容器中只有一个主进程,遵循单一原则,否则一个容器挂了会导致多个进程挂掉;容器其实就是一个进程,docker可以管理这些进程。docker能够进行容器隔离,我们操作的其实是docker客户端,而不是server端。dockerinfo#查看docker信息docker基本概念docker客户端可......
  • Jforum论坛项目,用Jemter调发布帖子接口,响应结果返回的重定向地址为error...html,导致一
    1.Jmeter的发布帖子接口,使用Jemter代理录制工具进行录制的,发布帖子的参数和接口,都是通过录制得来,如下图,action是insertSave 2.因为需要先登录,再能进行发帖,所以根据项目的cookie保存,增加一个cookie管理器,用来自动保存登录成功后的cookie认证 3.等脚本参数都配置好了之后,......
  • windows 安装plyvel
    编译leveldbgitclonehttps://github.com/google/leveldb.gitcdleveldb#这里我用的是1.23版本gitcheckout1.23gitsubmoduleinitgitsubmoduleupdatemkdirbuildcdbuildcmake..-G"VisualStudio162019"-Ax64cmake--build.--configRelease编译ply......
  • Docker入门——什么是Docker
    1.什么是docker?docker是一种容器化技术,具体来说它是将应用程序及其依赖环境打包的一种软件,用于保证开发环境的一致性2.为什么需要docker?解决"在我的机器上能跑"的问题,即解决依赖环境一致性问题3.docker是怎么解决这个问题的?docker提供将应用程序及其依赖环境打包成镜像......
  • Hadoop 第七周总结
    Hadoop第七周总结在第七周的学习中,我深入探讨了Hadoop生态系统中的几个关键组成部分,重点包括HadoopMapReduce、HDFS(HadoopDistributedFileSystem)、YARN(YetAnotherResourceNegotiator),以及Hadoop的调优策略。以下是本周学习的主要内容和总结:1.HadoopMapReduceMapReduce......
  • Hadoop 第八周总结
    Hadoop第八周总结在第八周的学习中,我进一步探索了Hadoop生态系统的高级功能和工具,主要集中在Hadoop的优化技巧、数据处理框架的整合以及大数据应用的实际案例。以下是本周学习的主要内容和总结:1.Hadoop的性能优化在处理大规模数据时,性能优化至关重要。本周我深......
  • 记一次我的博客园页面突然无法显示markdown数学公式
    之前都还好好的,今天突然给我数学公式卡没了......具体情况如下但是我编辑的时候预览明明可以摘要里显示也没有问题给官方写了封邮件后得到回复如下您好,我们这边测试一下在没有自定义内容的情况下数学公式是正常加载的,建议您排查自定义样式是否与数学公式渲染发生了冲突。......
  • Windows 下 Node.js 版本管理指南:不使用 NVM 与使用 NVM 的两种方案
    文章目录方案一:不使用nvm管理NODEJS版本方案二:使用nvm管理NODEJS版本其他配置方案一:不使用nvm管理NODEJS版本NodeJs官网,NodeJs下载索引页下载较慢,不推荐这里使用v18.16.0版本,下载注意需要注册一个flowus账号登录才能下载node-v18.16.0-win-x64.zip下......
  • 使用docker部署tensorrtllm推理大模型baichuan2-7b
    简介大模型的推理框架,我之前用过vllm和mindie。近期有项目要用tensorrtllm,这里将摸索的过程记录下,特别是遇到的问题。我的环境是Linux+rt3090准备docker环境本次使用docker镜像部署,需要从网上拉取:dockerpullnvcr.io/nvidia/tritonserver:24.08-trtllm-python-py3Th......