招代理网站建设公司/武汉千锋教育培训机构怎么样

招代理网站建设公司,武汉千锋教育培训机构怎么样,成都住建局官网投诉,西安网页制作与设计文章目录 循环类别for-in 循环区间整数区间示例1:正向遍历示例2:反向遍历 示例1:遍历数组示例2:遍历区间示例3:遍历字符串示例4:带索引遍历 while 循环示例:计算阶乘 do-while 循环示例&#xf…

文章目录

  • 循环类别
  • for-in 循环
    • 区间
      • 整数区间
        • 示例1:正向遍历
        • 示例2:反向遍历
    • 示例1:遍历数组
    • 示例2:遍历区间
    • 示例3:遍历字符串
    • 示例4:带索引遍历
  • while 循环
    • 示例:计算阶乘
  • do-while 循环
    • 示例:读取用户输入
  • 循环控制语句
    • 示例:使用 break 和 continue

循环类别

在 Kotlin 中,循环语句主要有 for-in 循环、while 循环和 do-while 循环,它们用于重复执行某段代码,直到满足特定条件为止,下面分别进行讲解。

for-in 循环

for-in 循环是最常用的循环语句之一,其基本语法如下:

for (item in collection) {// 循环体
}
  • collection 是要遍历的集合,如数组、列表、区间等。
  • item 是每次循环时从集合中取出的元素,用于在循环体中进行操作。

区间

在讲解for-in前,先了解一下区间。区间是一种表示一系列连续值的数据结构,包括整数区间等,可以方便地用于循环遍历。下面详细介绍几种常见的区间类型及其在 for-in 循环中的使用方法。

整数区间

整数区间是最常用的区间类型,用于表示一系列连续的整数。可以使用 … 运算符来创建一个整数区间

for (i in start..end) {// 循环体
}

start 是区间的起始值。
end 是区间的结束值。

示例1:正向遍历
for (i in 1..5) {println(i)
}

在这里插入图片描述

示例2:反向遍历

如果需要反向遍历,可以使用 downTo 关键字。

for (i in 5 downTo 1) {println(i)
}

在这里插入图片描述

示例1:遍历数组

val numbers = arrayOf(1, 2, 3, 4, 5)
for (number in numbers) {println(number)
}

在这里插入图片描述

示例2:遍历区间

for (i in 1..5) {println(i)
}

在这里插入图片描述

示例3:遍历字符串

val str = "Hello"
for (char in str) {println(char)
}

在这里插入图片描述

示例4:带索引遍历

如果需要同时获取元素及其索引,可以使用 withIndex() 函数:

val numbers = arrayOf(10, 20, 30, 40, 50)
for ((index, number) in numbers.withIndex()) {println("Index: $index, Number: $number")
}

在这里插入图片描述

while 循环

while 循环用于在满足某个条件时重复执行代码块,基本语法如下:

while (condition) {// 循环体
}
  • condition 是一个布尔表达式,当其为 true 时,循环体内的代码会一直执行,直到条件变为 false

示例:计算阶乘

var n = 5
var factorial = 1
while (n > 0) {factorial *= nn--
}
println("阶乘: $factorial")

在这里插入图片描述

do-while 循环

do-while 循环与 while 循环类似,但它的循环体至少会执行一次,然后再检查条件,基本语法如下:

do {// 循环体
} while (condition)
  • condition 同样是一个布尔表达式,循环体先执行一次,然后在每次循环结束时检查条件,若为 true 则继续执行循环体,否则退出循环。

示例:读取用户输入

var input = ""
do {println("输入'exit'退出:")input = readLine() ?: ""
} while (input != "exit")
println("已退出")

在这里插入图片描述

这个示例中,程序会先提示用户输入,然后检查输入是否为 "exit",如果不是则继续循环,直到用户输入 "exit" 为止。

循环控制语句

在循环中,还可以使用一些控制语句来改变循环的执行流程:

  • break:用于立即退出当前循环。
  • continue:用于跳过当前循环的剩余部分,继续执行下一次循环。

示例:使用 break 和 continue

for (i in 1..10) {if (i == 5) {continue // 跳过 i 为 5 的情况}if (i == 8) {break // 当 i 为 8 时退出循环}println(i)
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/67041.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【STM32】HAL库USB实现软件升级DFU的功能操作及配置

【STM32】HAL库USB实现软件升级DFU的功能操作及配置 文章目录 DFUHAL库的DFU配置修改代码添加条件判断和跳转代码段DFU烧录附录:Cortex-M架构的SysTick系统定时器精准延时和MCU位带操作SysTick系统定时器精准延时延时函数阻塞延时非阻塞延时 位带操作位带代码位带宏…

使用WebdriverIO和Appium测试App

1.新建项目 打开Webstorm新建项目 打开终端输入命令 npm init -y npm install wdio/cli allure-commandline --save-dev npx wdio config 然后在终端依次选择如下: 然后在终端输入命令: npm install wdio/local-runnerlatest wdio/mocha-frameworkla…

uniapp小程序开发,配置开启小程序右上角三点的分享功能

直接全局配置一个分享的功能,要不然需要一个一个页面去单独配置就太麻烦了!!! 1.新建一个share.js文件,并配置代码,调用onShareMessage()和onShareTimeline()两个函数。 其中: title&#xff1…

行业案例:高德服务单元化方案和架构实践

目录 为什么要做单元化 高德单元化的特点 高德单元化实践 服务单元化架构 就近接入实现方案 路由表设计 路由计算 服务端数据驱动的单元化场景 总结 系列阅读 为什么要做单元化 单机房资源瓶颈 随着业务体量和服务用户群体的增长,单机房或同城双机房无法支持服…

ip属地什么条件会改变?多角度深入探讨

IP属地,即IP地址的归属地,是互联网上设备连接时的一个关键信息,它通常反映了设备连接互联网时的地理位置。随着社交软件及各大平台推出IP归属地显示功能,IP属地的变化问题逐渐受到广大用户的关注。那么,IP属地在什么条…

【干货】交换网络环路介绍

定义 以太网交换网络中为了提高网络可靠性,通常会采用冗余设备和冗余链路,然而现网中由于组网调整、配置修改、升级割接等原因,经常会造成数据或协议报文环形转发,不可避免的形成环路。如图7-1所示,三台设备两两相连就…

Linux服务器网络丢包场景及解决办法

一、Linux网络丢包概述 在数字化浪潮席卷的当下,网络已然成为我们生活、工作与娱乐不可或缺的基础设施,如同空气般,无孔不入地渗透到各个角落。对于 Linux 系统的用户而言,网络丢包问题却宛如挥之不去的 “噩梦”,频繁…

Springboot内置Apache Tomcat 安全漏洞(CVE-2024-50379)

背景 大家都知道我们使用Springboot开发后,无需再额外配置tomcat,因为Springboot已经帮我们内置好了tomcat。 这次在线上安全团队就扫出来了我们Springboot服务的tomcat漏洞: 可以看到这是2023年的洞,Apache Tomcat 安全漏洞(…

杭州铭师堂的云原生升级实践

作者:升学e网通研发部基建团队 公司介绍 杭州铭师堂,是一个致力于为人的全面发展而服务的在线教育品牌。杭州铭师堂秉持“用互联网改变教育,让中国人都有好书读”的使命,致力于用“互联网教育”的科技手段让更多的孩子都能享有优…

qml XmlListModel详解

1、概述 XmlListModel是QtQuick用于从XML数据创建只读模型的组件。它可以作为各种view元素的数据源,比如ListView、GridView、PathView等;也可以作为其他和model交互的元素的数据源。通过XmlRole定义角色,如name、age和height,并…

《异步编程之美》— 全栈修仙《Java 8 CompletableFuture 对比 ES6 Promise 以及Spring @Async》

哈喽,大家好!在平常开发过程中会遇到许多意想不到的坑,本篇文章就记录在开发过程中遇到一些常见的问题,看了许多博主的异步编程,我只能说一言难尽。本文详细的讲解了异步编程之美,是不可多得的好文&#xf…

《机器学习》之K-means聚类

目录 一、简介 二、K-means聚类实现步骤 1、初始化数据点、确定K值 2、通过距离分配数据点 3、更新簇中心 4、 迭代更新 三、聚类效果评价方式 1、轮廓系数的定义 2、整体轮廓系数 3、使用场景 4、优点 5、缺点 6、代码实现方法 四、K-means聚类代码实现 1、API接…

MVC执行流程

(1)用户通过浏览器(客户端)向服务端(后端)发送请求,请求会被前端控制器DispatcherServlet拦截。 (2)DispatcherServlet拦截到请求后,会调用处理器映射器&…

springboot和vue配置https请求

项目场景: 代码发布到线上使用https请求需要配置ssl证书,前后端都需要修改。 问题描述 如图,我们在调用接口时报如下错误,这就是未配置ssl但是用https请求产生的问题。 解决方案: 前端:在vite.config.js文…

单细胞组学大模型(8)--- scGenePT,scGPT和GenePT的结合,实验数据和文本数据的交融模型

–https://doi.org/10.1101/2024.10.23.619972 研究团队和单位 Theofanis Karaletsos–Head Of AI - Science at Chan Zuckerberg Initiative (Chan Zuckerberg Initiative是扎克伯格和他妻子Chan成立的科研&教育机构) 研究简介 研究背景&…

改进萤火虫算法之八:量子萤火虫算法(Quantum-behaved Firfly Algorithm,QFA)

量子萤火虫算法(Quantum-behaved Firfly Algorithm,QFA)是对萤火虫算法的一种改进,旨在提升萤火虫个体的搜索能力。以下是对量子萤火虫算法的详细介绍: 一、萤火虫算法基础 萤火虫算法(Firefly Algorithm,FA)是一种基于群体智能的优化算法,由剑桥大学的Xin-She Yang在…

C++----STL(string)

引言:STL简介 什么是STL STL(standard template libaray-标准模板库): 是 C标准库的重要组成部分(注意:STL只是C标准库里的一部分,cin和cout也是属于C标准库的),不仅是一个可复用的组件库&…

基于“大型园区”网络设计

基于“大型园区”网络设计 目 录 第1章 项目概述1 1.1 项目背景1 1.2 公司概况1 1.3 网络现状2 第2章 需求分析4 2.1 部门需求4 2.2 配置需求4 2.3 网络功能需求5 第3章 网络设计6 3.1 建设原则6 3.2 网络拓扑结构6 3.3 IP地址和VLAN划分8 3.4 核心层设计9 3.5 …

宝塔面板 申请证书后 仍然提示不安全

证书显示有效,但是网站显示不安全 导致的原因是引入静态文件使用的是HTTP,查看方法为F12打开console控制台 可以看到静态文件全部都是HTTP 网站采用wordpress搭建,基于问题解决,其他方式搭建也是一样,处理掉所有的H…

BO-SVM贝叶斯算法优化支持向量机的数据多变量时间序列预测

BO-SVM贝叶斯算法优化支持向量机的数据多变量时间序列预测 目录 BO-SVM贝叶斯算法优化支持向量机的数据多变量时间序列预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab基于BO-SVR贝叶斯算法优化支持向量机的数据多变量时间序列预测,加入5折交叉验…