Kotlin编程循环控制示例详解

 更新时间:2022年08月20日 10:35:32   作者:南巷羽  
这篇文章主要为大家介绍了Kotlin编程循环控制示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

本文总览

本篇来学习Kotlin循环结构的知识

Kotlin循环控制.png

1. While循环

while循环用于重复迭代代码块,只要给定条件为 true就会执行一次循环代码块。若条件为 false,则直接跳过循环代码块执行后面代码。

while (x > 0) { x-- }  // 当条件 x>0 成立,x 就会减一

do-while循环 与 while循环相类似,也可用于重复执行迭代代码块。但有差别的点是:它会先执行一次循环代码块,才检测条件是否满足,换句话说:它会至少执行一次 循环代码块。

do { val y = retrieveData() } while (y != null) 
// 不管while 条件是否满足,都会先执行一次 y = retrieveData()

有时候会看到一些无限循环的示例,只要将条件语句设定为 true,就会一直循环执行 迭代代码块:

do {
     // 循环代码块
}
while (true)

2. For循环

for循环用于迭代或循环 数组,范围,集合等的元素,可以对任何提供迭代器(iterator)的对象进⾏遍历。它的语法格式:

for (item in collection) {// 逻辑处理}

⼀个成员函数或者扩展函数 iterator() 返回 Iterator<>

  • 有⼀个成员函数或者扩展函数 next()
  • 有⼀个成员函数或者扩展函数 hasNext() 返回 Boolean

可以用在数字区间上迭代,使用区间表达式

for (i in 1..3) { println(i) }  // 逐个打印 区间[1,3]中的数字
  • 遍历数组,同时打印出元素下标和元素值
for ((index, value) in array.withIndex()) {  // 使用 库函数withIndex()
    println("the element at $index is $value")  // 逐个打印元素的下标和数值
}

forEach语句:使用这个语句遍历数组或集合,比for语句更加简便,语法形式如下:

调用者.forEach() { 
     println("it=${it}")  // 逐个打印元素
}

日常开发中,结合实际业务场景来选取使用 for 还是 for-each

3. break和continue

在 Kotlin 中有三种结构化跳转表达式:

  • return 直接返回方法/函数的值,结束;
  • break 跳出本次循环,继续执行后面业务代码
  • continue 跳出本次循环,直接进入下一次循环

3.1 break语句

break最常用在 java 中,常与与 switch组成 switch-break 语句。但在 Kotlin 中没有switch这个语法,break语句通常与 if表达式 一起用:

for(n in 1..10){
    if (n==5) {
        break // 在 n = 5时跳出循环 
    }
}

与 if语句组合,一旦满足给定的条件时,就会终止本次循环。

3.2 continue语句

continue 用于跳过本次迭代并将控制流跳转到下一次迭代,通常与 if表达式 一起使用,以跳过指定条件的当前循环。

for (n in 1..5){
    ...
    if(n==2||n==4) {
        continue    // 只要满足上述条件,就会执行该语句跳出本次循环
    }
    ...
}

其实 continue 在Java或者Kotlin用法是一样的,都很好理解和记住。

总结

主要学习了循环结构的几个语法知识点, 之前学过 java或c/c++的话,这个知识点其实一点都不难,if while的用法完全一样,只是写法有一点点调整。还结合示例代码有助于加深理解,学知识就是多写多练!

以上就是Kotlin编程循环控制示例详解的详细内容,更多关于Kotlin循环控制的资料请关注脚本之家其它相关文章!

相关文章

  • Android 中的 Timer 和 TimerTask详解

    Android 中的 Timer 和 TimerTask详解

    Timer 是 Java 中用于创建定时任务的类,它位于 java.util 包中,可以使用Timer来安排一次性或定期执行的任务,这篇文章主要介绍了Android 的 Timer 和 TimerTask,需要的朋友可以参考下
    2024-05-05
  • Android基于反射技术实现的加减乘除运算示例

    Android基于反射技术实现的加减乘除运算示例

    这篇文章主要介绍了Android基于反射技术实现的加减乘除运算,较为详细的描述了反射技术的原理,并结合完整实例形式分析了Android基于反射技术实现加减乘除四则运算的相关操作步骤与实现技巧,需要的朋友可以参考下
    2016-10-10
  • Android实现文件存储并读取的示例代码

    Android实现文件存储并读取的示例代码

    本篇文章主要介绍了Android实现文件存储的示例代码,文件内容可以分别存储在手机内存和外存中,并且都可以读去取出来,有兴趣的可以了解一下。
    2017-01-01
  • Android开发获取系统中已安装程序信息的方法

    Android开发获取系统中已安装程序信息的方法

    这篇文章主要介绍了Android开发获取系统中已安装程序信息的方法,可实现Android针对系统中已安装程序名称、路径、大小、图标、是否为系统app等信息的获取功能,需要的朋友可以参考下
    2017-12-12
  • Android ANR分析trace文件的产生流程详情

    Android ANR分析trace文件的产生流程详情

    这篇文章主要介绍了Android ANR分析trace文件的产生流程详情,文章围绕主题展开相详细的内容介绍,需要的朋友可以参考一下
    2022-07-07
  • flutter项目引入iconfont阿里巴巴图标

    flutter项目引入iconfont阿里巴巴图标

    这篇文章主要为大家介绍了flutter项目引入iconfont阿里巴巴图标的过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Android如何实现底部菜单固定到底部

    Android如何实现底部菜单固定到底部

    这篇文章主要介绍了Android如何实现底部菜单固定到底部,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Android入门之在Activity之间穿梭的Intent

    Android入门之在Activity之间穿梭的Intent

    Intent可以用来启动Activity(startActivity(Intent))、Serveice(startService(Intent))等组件,可以用来绑定Activity和Service以建立它们之间的通信(bindServiceConnaction(Intent,ServiceConnection,int)),可以作为Broadcast Intent发送给广播接收器
    2021-10-10
  • 解决android6.0以上不能读取外部存储权限的问题

    解决android6.0以上不能读取外部存储权限的问题

    今天小编就为大家分享一篇解决android6.0以上不能读取外部存储权限的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • Android常用控件ImageSwitcher使用方法详解

    Android常用控件ImageSwitcher使用方法详解

    这篇文章主要为大家详细介绍了Android常用控件ImageSwitcher的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08

最新评论