kotlin之循环控制

news2025/1/16 7:45:52

for循环

      for 循环可以对任何提供迭代器(iterator)的对象进行遍历

java  for循环写法

    public static void main(String[] args) {
       int i =10;
        for (int j = 0; j < i; j++) {
            System.out.println(j);
        }
    }
 int[] q={1,2,3,4,5,6,7,8,9,10};
        for (int j:q) {
            System.out.println(j);
        }

没有java基础的可以忽略这个,此处我是用来比较kotlin,更容易理解一点

 

kotlin for循环

 var i = 1..10
    for (q in i){
        println(q)
    }
for (q in 1..10){
        println(q)
    }
    val i = arrayOf(1,2,3,4,5,6,7,8,9,10)
    for(q in i){
        println(q)
    }
    val i = arrayOf(1,2,3,4,5,6,7,8,9,10)
    for(q in i.indices) {
        println(i[q])
    }
   for (q in 10 downTo  1){
       println(q)
   }
   for (q in 1..10 step 2){
       println(q)
   }

 

 

   for (q in 10 downTo 1 step 2){
       println(q)
   }

 

    for (q in 1 until  10 step 2){
        println(q)
    }

while循环

while语句计算的表达式,必须返回boolean值。如果表达式计算为true,while语句执行while块的所有语句。while语句继续测试表达式,然后执行它的块,直到表达式计算为false。

while执行,首先会去检测while里面的条件,条件成立则会执行块里面的操作,如果是false,则会终止循环,这里while得条件要有限定范围,否则会出现死循环

java 写法

public static void main(String[] args){
        int count = 1;
        while (count < 11) {
            System.out.println("Count is: "+ count); count++;
        }
   }

kotlin写法

    var i = 1
    while (i<=10){
        println(i)
        i++
    }

while循环图 

 

 

这两种写法几乎一模一样

   do while循环

do...while循环特点是先执行一次,执行完一次后再判断条件,满足条件了再执行,不满足条件就结束,换句话说,do...while和while的区别是,while先判断后执行,而do...while至少要执行一次。
do...while适合至少执行一次且循环次数不固定的时候,当循环次数固定的时候推荐使用for循环。

 java 写法

public static void main(String[] args) {
        int x = 1;
        do {
            System.out.println(x);
            x++;
        } while (x <= 10);
    }

kotlin 写法

    var i = 1
    do {
        println(i)
        i++
    }
    while (i<=10);

do..while循环图

 

do {
 //代码语句
}while(布尔表达式);

 好了没有java基础的可以直接略过java部分

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

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

相关文章

lammps笔记-入门

1 输入文件 输入脚本文件&#xff08;命令文件&#xff1f;&#xff09;要包含五个部分&#xff1a; # 1) Initialization # 2) System definition # 3) Simulation settings # 4) Visualization # 5) Run 这五个部分不一定全都需要&#xff0c;也不一定完全按如下顺序。…

html在线商城购物网站制作——基于HTML+CSS+JavaScript鲜花礼品电商网站

常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他等网页设计题目, A…

目标检测算法——图像分割数据集汇总 2(附下载链接)

>>>深度学习Tricks&#xff0c;第一时间送达<<< &#x1f384;&#x1f384;近期&#xff0c;小海带在空闲之余&#xff0c;收集整理了一批图像分割数据集供大家参考。 整理不易&#xff0c;小伙伴们记得一键三连喔&#xff01;&#xff01;&#xff01;&am…

为什么 React 中使用控制反转不会触发重新渲染

控制反转&#xff0c;是面向对象编程中的一种设计原则&#xff0c;可以用来减低计算机代码之间的耦合度。 控制反转的应用 首先来看一段常见的 React 代码 import { useState } from "react"const Father () > {const [count, setCount] useState(0);console.…

目标检测的中的指标的含义及其实现

目录 一、Precision和Recall 二、IoU (Intersection over Union) 三、top5、top1 四、Average Precision 五、COCO数据集的评价指标 1、Average Precision (AP) 2、Evaluation Code 3、Analysis Code 一、Precision和Recall Precision是查准率、精确率的意思。预测为正…

基于储能电站服务的冷热电多微网系统双层优化配置附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

QT 系统学习 day04 事件 HTTP网络请求, 音乐播放器,上位机串口通行

1.HTTP 网络 1.头文件 &#xff1a; 网络 /***** HTTP 网络相关模块 *****/ #include <QNetworkAccessManager> /** 网络访问类 **/ #include <QNetworkRequest> /** 网络请求数据类 **/ #include <QNetworkReply> /** 网络结果…

Spring学习:五、AOP 面向切面编程、Spring与Mybatis整合

7. AOP 面向切面编程 7.1 AOP概述 ​ AOP英文名为Aspect Oriented Programming&#xff0c;意为面向切面编程&#xff0c;通过预编译方式和运行期间动态代理实现程序功能统一维护的一种技术。AOP是OOP的延续&#xff0c;是Spring框架中的一个重要内容&#xff0c;利用AOP可以…

C++不知算法系列之排序从玩转冒泡算法开始

1. 前言 所谓排序&#xff0c;指把数据群体按个体数据的特征按从大到小或从小到大的顺序存放。 排序在应用开发中很常见&#xff0c;如对商品按价格、人气、购买数量等排序&#xff0c;便于使用者快速找到数据。 常见的排序算法分为两大类&#xff1a; 比较类&#xff1a;通…

springboot奖助学金评审系统的设计与实现毕业设计源码031035

奖助学金评审系统的设计与实现 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化&#xff0c;电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流&#xff0c;人类发展的历史正进入一个新时代。在现实运用…

③【Maven】创建Maven工程,解读核心配置。

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ 创建Maven工程&#xff0c;解读核心配置。一、…

React render 的原理和触发时机

一、原理 在类组件和函数组件中&#xff0c;render函数的形式是不同的。 在类组件中render函数指的就是render方法&#xff1b;而在函数组件中&#xff0c;指的就是整个函数组件。 class Foo extends React.Component {render() { //类组件中return <h1> Foo </h1&…

CANoe的安装及打开

1. 安装 CANoe分为软件和硬件。硬件是一个盒子,可以连接真实ECU进行剩余仿真测试 软件需要安装使用,可以在Vector官方网站上下载软件包:https://www.vector.com/cn/zh/products/products-a-z/software/canoe/#c4327 我们以CANoe 15版本为例,下载后是压缩包 解压后,双击运…

结构(structure)创建——直接赋值法与使用struct函数创建法。

一些不同类型的数据组合成一个整体&#xff0c;虽然各个属性分别具有不同的数据类型&#xff0c;但是它们之间是密切相关的&#xff0c;结构&#xff08;(Structure&#xff09;类型就是包含一组记录的数据类型。结构类型的变量多种多样&#xff0c;可以是一维数组、二维数组或…

全面梳理Spring Boot框架的日志体系结构

文章目录1. Java 日志概览1.1 总体概览1.2 日志级别1.3 综合对比1.4 最佳实践2. Spring Boot 日志实现2.1 Spring Boot 日志配置2.2 Logback 配置2.3 Log4j 配置之前录过一个视频和大家分享 Spring Boot 日志问题&#xff0c;但是总感觉差点意思&#xff0c;因此松哥打算再通过…

第十八章 SPFA算法以及负环问题(利用dijkstra推导出该算法,超级详细!!)

第十八章 SPFA算法以及负环问题一、dijkstra算法的弊端二、dijkstra算法的优化1、SPFA算法&#xff08;1&#xff09;算法思路&#xff1a;&#xff08;2&#xff09;算法模板&#xff1a;问题&#xff1a;模板&#xff1a;逐行分析&#xff1a;三、SFPA解决负环问题&#xff1…

uni-clould常用笔记

一&#xff0c;云函数 定义&#xff1a; // hellocf云函数index.js入口文件代码 use strict; exports.main async (event, context) > {//event为客户端上传的参数let c event.a event.breturn {sum: c} // 通过return返回结果给客户端 }调用&#xff1a; // 客户端调…

【Linux】su 和 sudo 命令

su 命令 su 命令作用&#xff1a;在已登录的会话中切换到另外一个用户。 1、su root 切换超级用户root角色&#xff0c;但不切换用户环境。需要输入root角色的密码。 2、su - root 切换root角色&#xff0c;并切换用户环境。 sudo 命令 sudo 命令作用&#xff1a;暂时切…

【树莓派不吃灰】命令篇⑩ 记录Linux常用命令

目录1. 命令格式1.1 mount2. 文件处理命令2.1 ls2.2 mkdir2.3 cd2.4 pwd2.5 rmdir2.6 cp2.7 mv2.8 rm2.9 touch2.10 cat、tac2.11 more、less、head、tail2.12 ln3. 权限管理命令3.1 chmod3.2 chown3.3 chgrp3.4 umask4. 文件搜索命令4.1 find4.2 locate4.3 which4.4 whereis4.…

进阶 - Git的标签管理

本篇文章&#xff0c;是基于我自用Windows&#xff08;Win10&#xff09;系统当做示例演示 本地仓库在&#xff1a;E:\test_git_rep 远程仓库是&#xff1a;gitgithub.com:lili40342/test_git_rep.git 描述测试环境的目的&#xff0c;是更好的解释测试过程&#xff0c;以免对你…