Kotlin中循环语句
在Kotlin中,循环语句有多种形式,包括while循环、do-while循环、for循环等。下面将逐个说明每种形式的使用。
- while循环:
var n: Int = 5
while (n > 0) {println("n=$n")n--
}
上述代码中,使用while循环打印n的值,每次循环n减1,直到n变为0。
- do-while循环:
n = 5
do {println("n=$n")n--
} while (n > 0)
上述代码中,使用do-while循环打印n的值,先执行循环体,然后判断条件n是否大于0,如果成立则继续循环,否则结束循环。
- for循环:
for (i in 0..3) {println("i=$i")
}
上述代码中,使用for循环打印i的值,i的取值范围是0到3。循环体内部可以对i进行操作和处理。
- 循环语句只有一句,简写:
for (i in 0..3) println("i=>$i\n")
上述代码中,使用for循环简写形式,直接在循环语句后面写入需要执行的语句。
- 循环嵌套打印:
for (i in 1..5) {for (j in 1..i) {print("*")}println()
}
上述代码中,使用两层循环实现打印星号(*)的图形,外层循环控制行数,内层循环控制每行的星号数量。
- 普通forEach:
var intArray: IntArray = intArrayOf(1, 2, 3, 4)
intArray.forEach { print("$it \t") } // 1 2 3 4
println()
上述代码中,使用forEach循环遍历数组intArray,对每个元素执行指定的操作。
- 带角标forEach:
intArray.forEachIndexed { index, it -> print("index=$index,it=$it \t") }
println()
上述代码中,使用forEachIndexed循环遍历数组intArray,同时获取元素的索引和值,并执行指定的操作。
- break跳出循环:
n = 5
while (n > 0) {print("n=$n \t") // n=5 n=4 n=3if (n == 3) breakn--
}
println()
上述代码中,使用while循环打印n的值,当n等于3时,使用break语句跳出循环。
- 跳出外层循环:
loop@ for (i in 0..9) {for (j in 0..i) {if (i > 4) {break@loop}print("*")}println()
}
上述代码中,使用两层循环打印星号(*)的图形,当外层循环的i大于4时,使用break@loop语句跳出外层循环。
- continue终止本次循环:
var sum: Int = 0
for (i in 1 until 101) {if (i % 2 == 0) {continue}sum += i
}
println("sum=$sum") // sum=2500
上述代码中,使用for循环计算1到100之间的奇数的和,当遇到偶数时,使用continue语句终止本次循环。
- 全部代码:
fun main() {// while循环var n: Int = 5while (n > 0) {println("n=$n")// n=5// n=4// n=3// n=2// n=1n--}// do while至少执行一次n = 5do {println("n=$n")// n=5// n=4// n=3// n=2// n=1n--} while (n > 0)// for 循环四次,步长为1,0..3标识[0,3]for (i in 0..3) {println("i=$i")// i=0// i=1// i=2// i=3}// 循环语句只有一句,简写for (i in 0..3) println("i=>$i\n")// 循环嵌套打印/***************** */for (i in 1..5) {for (j in 1..i) {print("*")}println()}// 普通 forEachvar intArray: IntArray = intArrayOf(1, 2, 3, 4)intArray.forEach { print("$it \t") } // 1 2 3 4println()// 带角标 forEach// index=0,it=1 index=1,it=2 index=2,it=3 index=3,it=4intArray.forEachIndexed { index, it -> print("index=$index,it=$it \t") }println()// brank跳出循环n = 5while (n > 0) {print("n=$n \t") // n=5 n=4 n=3if (n == 3) breakn--}println()// 跳出外层循环loop@ for (i in 0..9) {for (j in 0..i) {if (i > 4) {break@loop}print("*")}println()}// continue终止本次循环var sum: Int = 0for (i in 1 until 101) {if (i % 2 == 0) {continue}sum += i}println("sum=$sum") //sum=2500
}
以上是Kotlin中循环语句的使用示例,根据不同的需求可以选择适合的循环形式来实现相应的逻辑。
相关文章:
Kotlin中循环语句
在Kotlin中,循环语句有多种形式,包括while循环、do-while循环、for循环等。下面将逐个说明每种形式的使用。 while循环: var n: Int 5 while (n > 0) {println("n$n")n-- }上述代码中,使用while循环打印n的值&…...
Java String之正则表达式
Java String之正则表达式 导言 最近做项目时,遇到了限制输入字符格式的问题,采用了Java String的正则表达式,下面针对正则表达式使用进行概述 正则表达式 正则表达式类似可以通俗的理解为字符模板,通过符号的方式进行表述&…...
Kotlin 协程再探之为什么使用协程反而更慢了?
前言 在几个月前,我曾经写了一篇文章,Kotlin 协程中的并发问题:我明明用 mutex 上锁了,为什么没有用?,讲述在某次 debug 某个问题时,发现同事写的 Koltin 协程某个不恰当的地方,并最…...
Hadoop3教程(十六):MapReduce中的OutputFormat
文章目录 (105)OutputFormat概述(106)自定义OutputFormat案例需求分析(107/108)自定义OutputFormat案例实现自定义Mapper自定义Reducer自定义OutputFormatDriver 参考文献 (105)Outp…...
通过表查询 sm37 排程运行情况 JOB 数据保存在表TBTCP 和 TBTCO中
sm36 设置排程 sm37 查看排程 se11 查表 Values for TBTCO-STATUS: A - Cancelled F - Completed P - Scheduled R - Active S - Released JOB 数据保存在表TBTCP 和 TBTCO中 参考 https://blog.51cto.com/u_15680210/5757746?articleABtest0 https://answers.sap.co…...
append_ocr_trainf
read_image (Image, D:/图像文件/字符识别/1-1.bmp) access_channel (Image, Image1, 1) * draw_rectangle2 (3600, Row, Column, Phi, Length1, Length2) gen_rectangle2 (Rectangle, 96.0436, 715.9526, 0.0173917050943654, 110.186941, 18.041084) reduce_domain (Image1, …...
小程序原生代码转uniapp
写了一份小程序原生代码,想转为uniapp 再转为其他平台发布 1、在命令行里,运行【 npm install miniprogram-to-uniapp -g 】进行安装,因为这个包是工具,要求全局都能使用&#x…...
云原生微服务 第五章 Spring Cloud Netflix Eureka集成负载均衡组件Ribbon
系列文章目录 第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 文章目录 系列文章目录[TOC](文章目录) 前言1、负载均衡1.1、服务端负载均衡1.2、…...
七大排序 (9000字详解直接插入排序,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序)
一:排序的概念及引入 1.1 排序的概念 1.1 排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中,存在…...
一、nginx配置
一、nginx配置 配置简介 1)nginx相关目录 工作目录:/etc/nginx 执行文件:/usr/sbin/nginx 日志目录:/var/log/nginx 启动文件:/etc/init.d/nginx web目录:/var/www/html/,首页文件是index.ng…...
win32汇编-LEA指令是将一个内存地址加载到一个寄存器中
LEA (Load Effective Address) 指令是用来将一个内存地址加载到一个寄存器中的指令。 其语法为: lea destination, source 其中,destination 是目标寄存器,source 是一个内存地址(即一个存储器操作数)。 举个例子…...
leetcode做题笔记189. 轮转数组
给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转 3 步: [5,6,7,1,2,3,4…...
数据库第七章作业
本篇用于日常记录和分享 第7章作业.xls 题量: 25 满分: 100 一. 单选题(共25题) 1. (单选题)二级封锁协议不能保证消除( )这一不一致现象。 A. 读取脏数据B. 死锁C. 不可重复读D. 丢失修改 我的答案: C :不可重复读; 2. (单…...
使用服务器训练模型的注意事项
一、图像展示 1.1、用VS Code远程连接服务器时,当我们想用matplotlib库来进行图像展示的时候,需要设置DISPLAY变量。 # 用终端工具(XShell)SSH远程服务器,在终端上输入下列语句 # 如果使用了anaconda的虚拟环境&…...
Linux性能优化--性能追踪3:系统级迟缓(prelink)
12.0 概述 本章包含的例子说明了如何用Linux性能工具寻找并修复影响整个系统而不是某个应用程序的性能问题。阅读本章后,你将能够: 追踪是哪一个进程导致了系统速度的降低。用strace调查一个不受CPU限制的进程的性能表现。用strace调查一个应用程序是如…...
SpringBoot2.x简单集成Flowable
环境和版本 window10 java1.8 mysql8 flowable6 springboot 2.7.6 配置 使用IDEA创建一个SpringBoot项目 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.…...
微信小程序一键获取位置
需求 有个表单需要一键获取对应位置 并显示出来效果如下: 点击一键获取获取对应位置 显示在 picker 默认选中 前端 代码如下: <view class"box_7 {{ showChange1? change-style: }}"><view class"box_11"><view class"…...
Linux性能优化--使用性能工具发现问题
9.0 概述 本章主要介绍综合运用之前提出的性能工具来缩小性能问题产生原因的范围。阅读本章后,你将能够: 启动行为异常的系统,使用Linux性能工具追踪行为异常的内核函数或应用程序。启动行为异常的应用程序,使用Linux性能工具追…...
【Proteus仿真】【STM32单片机】路灯控制系统
文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用LCD1602显示模块、人体红外传感器、光线检测模块、路灯继电器控制等。 主要功能: 系统运行后,LCD1602显示时间、工作模…...
Flutter笔记:发布一个Flutter头像模块 easy_avatar
Flutter笔记 发布一个头像Flutter模块 easy_avatar 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/1339…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...
HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...
Canal环境搭建并实现和ES数据同步
作者:田超凡 日期:2025年6月7日 Canal安装,启动端口11111、8082: 安装canal-deployer服务端: https://github.com/alibaba/canal/releases/1.1.7/canal.deployer-1.1.7.tar.gz cd /opt/homebrew/etc mkdir canal…...
深入理解 React 样式方案
React 的样式方案较多,在应用开发初期,开发者需要根据项目业务具体情况选择对应样式方案。React 样式方案主要有: 1. 内联样式 2. module css 3. css in js 4. tailwind css 这些方案中,均有各自的优势和缺点。 1. 方案优劣势 1. 内联样式: 简单直观,适合动态样式和…...
iOS 项目怎么构建稳定性保障机制?一次系统性防错经验分享(含 KeyMob 工具应用)
崩溃、内存飙升、后台任务未释放、页面卡顿、日志丢失——稳定性问题,不一定会立刻崩,但一旦积累,就是“上线后救不回来的代价”。 稳定性保障不是某个工具的功能,而是一套贯穿开发、测试、上线全流程的“观测分析防范”机制。 …...
