Kotlin:for循环的几种示例

一、 打印 0 到 2

1.1 方式一:0 until 3
/*** 打印 02*/
fun print0To2M1(){for (inex in 0 until 3){// 不包含3print("$inex ")}
}

运行结果
在这里插入图片描述

1.2 方式二:inex in 0 …2
/*** 打印 02*/
fun print0To2M2(){for (inex in 0 ..2){// 包含2print("$inex ")}
}

运行结果
在这里插入图片描述

二、打印 2 到 0

使用downTo

/*** 打印 20 (02 的 倒序遍历)*/
fun print2To0() {for (inex in 2 downTo 0) {// 包含2print("$inex ")}
}

运行结果
在这里插入图片描述

三、打印 1、3、5、7…

使用step()函数

/*** 打印 1、3、5、7...*/
fun print1357(){for (index in 1 .. 20 step 2){// step 2代表遍历的步长print("$index ")}
}

运行结果
在这里插入图片描述

四、打印 list 所有元素

4.1 方式一:list.indices
fun printList1(){println("printList1 方式打印信息如下:")val list = listOf("koltin","android","java","python","ios","H5","C++")for (index in list.indices){println("index = $index --> item:${list[index]}")}
}

运行结果
在这里插入图片描述

4.2 方式二:item in list
/*** 打印 list 所有元素*/
fun printList2() {println("printList2 方式打印信息如下:")val list = listOf("koltin", "android", "java")for (item in list) {// 适合不需要下标的场景,例如直接显示集合数据,而且展示样式都一样print("$item ")}
}

运行结果
在这里插入图片描述

4.3 方式三:list.withIndex()
/*** 打印 list 所有元素*/
fun printList3() {println("printList3 方式打印信息如下:")val list = listOf("koltin", "android", "java")for ((index, item) in list.withIndex()) {println("index = $index --> item is $item")}
}

运行结果
在这里插入图片描述

4.4 方式:index in 0 until list.size
/*** 打印 list 所有元素*/
fun printList5() {println("printList5 方式打印信息如下:")val list = listOf("koltin", "android", "java")for (index in 0 until list.size) {println("index = $index --> item is ${list[index]}")}
}

运行结果
在这里插入图片描述

4.5 方式:index in 0 … list.size - 1
/*** 打印 list 所有元素*/
fun printList6() {println("printList6 方式打印信息如下:")val list = listOf("koltin", "android", "java")for (index in 0 .. list.size - 1) {println("index = $index --> item is ${list[index]}")}
}

运行结果
在这里插入图片描述

五、倒序打印 list 所有元素

/*** 倒序 打印 list 所有元素*/
fun printList4() {println("printList4 方式打印信息如下:")val list = listOf("koltin", "android", "java")for (index in list.size - 1 downTo 0) {println("index = $index --> item is ${list[index]}")}
}

运行结果
在这里插入图片描述

六、TestFor.kt文件代码

package com.test.learnkotlin.test/***Author: chinadragon*/fun main() {
//    print0To2M1()
//    print0To2M2()
//    printList1()
//    printList2()
//    printList3()
//    print2To0()
//    print1357()
//    printList4()
//    printList5()printList6()
}/*** 打印 02*/
fun print0To2M1() {for (inex in 0 until 3) {// 不包含3print("$inex ")}
}/*** 打印 02*/
fun print0To2M2() {for (inex in 0..2) {// 包含2print("$inex ")}
}/*** 打印 20 (02 的 倒序遍历)*/
fun print2To0() {for (inex in 2 downTo 0) {// 包含2print("$inex ")}
}/*** 打印 1、3、5、7...*/
fun print1357(){for (index in 1 .. 20 step 2){// step 2代表遍历的步长print("$index ")}
}/*** 打印 list 所有元素*/
fun printList1() {println("printList1 方式打印信息如下:")val list = listOf("koltin", "android", "java")for (index in list.indices) {println("index = $index --> item:${list[index]}")}
}/*** 打印 list 所有元素*/
fun printList2() {println("printList2 方式打印信息如下:")val list = listOf("koltin", "android", "java")for (item in list) {// 适合不需要下标的场景,例如直接显示集合数据,而且展示样式都一样print("$item ")}
}/*** 打印 list 所有元素*/
fun printList3() {println("printList3 方式打印信息如下:")val list = listOf("koltin", "android", "java")for ((index, item) in list.withIndex()) {println("index = $index --> item is $item")}
}/*** 倒序 打印 list 所有元素*/
fun printList4() {println("printList4 方式打印信息如下:")val list = listOf("koltin", "android", "java")for (index in list.size - 1 downTo 0) {println("index = $index --> item is ${list[index]}")}
}/*** 打印 list 所有元素*/
fun printList5() {println("printList5 方式打印信息如下:")val list = listOf("koltin", "android", "java")for (index in 0 until list.size) {println("index = $index --> item is ${list[index]}")}
}/*** 打印 list 所有元素*/
fun printList6() {println("printList6 方式打印信息如下:")val list = listOf("koltin", "android", "java")for (index in 0 .. list.size - 1) {println("index = $index --> item is ${list[index]}")}
}

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

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

相关文章

Go语言如何使用命令行程序

命令行程序也叫命令行实用程序或工具,它被设计在终端运行。 在图形用户界面面世前,与计算机交与通常是通过命令行进行的。当前,对程序员和系统管理员来说,命令行程序依然是一种流行而实用的与底层操作系统交互的方式。出于如下原因…

HarmonyOS NEXT应用开发之ForEach:循环渲染

ForEach接口基于数组类型数据来进行循环渲染,需要与容器组件配合使用,且接口返回的组件应当是允许包含在ForEach父容器组件中的子组件。例如,ListItem组件要求ForEach的父容器组件必须为 List组件 。 说明: 从API version 9开始&a…

Rust---复合数据类型之字符串与切片(1)

目录 字符串字符串与切片字符串切片字符串操作追加(Push)插入 (Insert)替换 (Replace) 字符串 Rust 在语言级别,只有一种字符串类型: str,它通常是以引用类型出现 &str。虽然语言级别只有上述的 str 类型&#xf…

C库函数详解(一)

库函数并不是C语言的一部分。它是由人们根据需要编制并提供用户使用的。每一种C编译系统都提供了一批库函数,不同的编译系统所提供的库函数的数目和函数名以及函数功能是不完全相同的。ANSIC标准提出了一批建议提供的标准库函数。它包括了目前多数C编译系统所提供的库函数,但也…

环形链表的约瑟夫问题

著名的 Josephus 问题: 据说著名犹太历史学家Josephus(弗拉维奥约瑟夫斯)有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到&…

【哈希表专题】(1. 两数之和 面试题 01.02. 判定是否互为字符重排 217. 存在重复元素 219. 存在重复元素 II 49. 字母异位词分组)

文章目录 哈希表1. 两数之和面试题 01.02. 判定是否互为字符重排217. 存在重复元素219. 存在重复元素 II49. 字母异位词分组 哈希表 哈希表是什么:存储数据的容器 作用:快速查找某个元素。O(1) 当我们需要频繁的查找某一个数的时候,可以使…

LeetCode-Java:135.分发糖果

文章目录 题目解① 穷举法,用时3ms,超过26.93%②穷举法改进,用时2ms,超过97.78% 题目 n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求,给这些孩子分发糖果: 每个…

图像拼接——最小割准则提取拼接缝

一、最大流问题与Ford-Fulkerson算法介绍 二、最大流与最小割 显然,我们有对任意一个割,穿过该割的净流量上界就是该割的容量,即不可能超过割的容量。所以网络的最大流必然无法超过网络的最小割。最小割是指割的容量最小,最大流是指网络当中最大的净流量,简单的例子s是水龙…

速盾:cdn高防御服务器租用有哪些好处

随着互联网的发展,网络安全问题日益突出。攻击者利用各种手段不断对网站进行攻击,给网站的安全运行带来威胁。为了保障网站的正常运行和数据的安全,越来越多的网站开始租用CDN高防御服务器。那么,租用CDN高防御服务器有哪些好处呢…

【蓝桥备赛】异或和——树状数组、DFS

题目链接 异或和 思路分析 树上每个点都有一个点权,对树上的更新操作是修改指定点的点权,查询操作是查询指定点为根结点的子树点权异或和。 这里的这些操作都和树状数组的单点修改和区间查询非常相似,即我们在修改一个点时,同时…

蓝桥杯真题:递增序列

import java.util.Scanner; // 1:无需package // 2: 类名必须Main, 不可修改 public class Main {public static int is1(char ch[][],int m,int n){int ans0;for (int i0;i<m;i){for (int j0;j<n;j){int add1;while(jadd<n){if(ch[i][j]<ch[i][jadd]) ans; //横…

SAP新的扩展策略

在软件即服务&#xff08;SaaS&#xff09;应用的推动下&#xff0c;SAP Cloud优先的战略非常明显&#xff0c;随之带来的是SAP Clean core的战略&#xff0c;从经典的 ABAP 可扩展性模式转变为 SAP S/4HANA 现代可扩展性模式。那么Clean core战略到底是什么&#xff1f;新的扩…

基于向量数据库搭建自己的搜索引擎

前言【基于chatbot】 厌倦了商业搜索引擎搜索引擎没完没了的广告&#xff0c;很多时候&#xff0c;只是需要精准高效地检索信息&#xff0c;而不是和商业广告“斗智斗勇”。以前主要是借助爬虫工具&#xff0c;而随着技术的进步&#xff0c;现在有了更多更方便的解决方案&…

LongAdder 和 Striped64 基础学习

cs&#xff0c;表示 Cell 数组的引用&#xff1b;b&#xff0c;表示获取的 base 值&#xff0c;类似于 AtomicLong 中全局变量的 value 值&#xff0c;在没有竞争的情况下数据直接累加到 base 上&#xff0c;或者扩容时&#xff0c;也需要将数据写入到 base 上&#xff1b;v&am…

Linux第2课Windows下的环境配置-虚拟机安装

文章目录 Linux第2课Windows下的环境配置-虚拟机安装一、VMware虚拟机的安装&#xff08;一&#xff09;安装VMware&#xff08;二&#xff09;启动电脑本地的VMware相关服务 二、VirtualBox安装 Linux第2课Windows下的环境配置-虚拟机安装 本节课程提供了两种虚拟机的安装方法…

个人医疗开支预测项目

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 &#xff08;[www.aideeplearning.cn]&#xff09; 项目背景 随着医疗成本的持续上涨&#xff0c;个人医疗开支成为一个重要议题。理解影响医疗费用的多种因素对于医疗保险公司、政府机构以及个人…

磁环的使用方法

磁环的使用方法 磁环的工作原理共模滤波用法差模滤波用法各种材料磁环的对应频率磁环的感量计算 磁环的工作原理 共模滤波用法 差模滤波用法 各种材料磁环的对应频率 磁环的感量计算

Redis从入门到精通(四)Redis实战(二)商户查询缓存

↑↑↑请在文章头部下载测试项目原代码↑↑↑ 文章目录 前言4.2 商户查询缓存4.2.1 缓存介绍4.2.2 查询商户信息的传统做法4.2.2.1 接口文档4.2.2.2 代码实现4.2.2.3 功能测试 4.2.3 查询商户信息添加Redis缓存4.2.3.1 逻辑分析4.2.3.2 代码实现4.2.3.3 功能测试 4.2.3 数据一致…

软考之零碎片段记录(五)

一、设计模式 1.策略模式 可在运行时改变行为和算法。这种类型的设计模式属于行为模式。使得代码更加灵活和可维护。 2. 命令模式 将请求封装成独立的对象并通过参数传递。属于行为模式。 3. 观察者模式 当对象状态改变时&#xff0c;依赖于它的对象都会被通知并进行更新…

Java操作hdfs,总是报ClosedChannelException

现象 public boolean uploadFile(MultipartFile file, String dst) {try {long start System.currentTimeMillis();// 创建Hadoop配置对象Configuration config new Configuration();config.set("fs.defaultFS", hdfsUri);Path dstPath new Path(ROOT_PATH dst)…