Kotlin-控制流程

📑前言

本文主要是【Kotlin】——Kotlin-控制流程的文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是听风与他🥇
☁️博客首页:CSDN主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见

目录

    • 📑前言
    • 1.If 表达式
    • 2.when表达式
    • 3.for循环
    • 4.while循环
    • 5.返回与 跳转
      • 1.break
      • 2.continue
    • 📑文章末尾

1.If 表达式

fun main(){println("max of 0 and 1 is ${maxOf(0,1)}")println("max of 0 and 1 is ${maxOf1(0,1)}")
}
fun maxOf1(a:Int,b:Int) = if(a>b) a else b
fun maxOf(a:Int,b:Int):Int{if (a > b){return a}else{return b}
}

2.when表达式

fun main(){println(describe(1))println(describe("hello"))println(describe(2))println(describe(3L))
}
fun describe(obj:Any):String=when(obj){1 -> "one""hello" -> "Greeting"is Long -> "Long"!is String -> "Not a string"else  -> "Unknown"}

3.for循环

fun main(){val items = listOf("apple","banana","orange")for (item in items){println(item)}
}

4.while循环

fun main(){val items = listOf("apple","banana","orange")var i = 0while (i < items.size){println("$i is ${items[i]}")i++}
}

5.返回与 跳转

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

  • return 默认从最直接包围它的函数或者匿名函数返回。
  • break 终止最直接包围它的循环。
  • continue 继续下一次最直接包围它的循环

1.break

在 Kotlin 中任何表达式都可以用标签来标记。 标签的格式为标识符后跟 @ 符号,例如:abc@fooBar@。 要为一个表达式加标签,我们只要在其前加标签即可。

  • break跳出loop@所在的循环
    loop@ for (i in 1..100){for (j in 1..100){if(j==2){println("i:$i")break@loop}}}

2.continue

  • continue继续loop@所在语句的下一条语句
fun main() {loop@  for (i in 1..5) {if (i > 2) {continue@loop}println("i:$i")}
}

📑文章末尾

在这里插入图片描述

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

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

相关文章

vue:状态管理库及其部分原理(Vuex、Pinia)

1、为什么要用状态管理库&#xff1f; 多组件的状态共享问题&#xff1a; 当多个组件需要访问和修改相同的数据时&#xff0c;我们需要在组件之间传递 props或者使用事件总线。当&#xff0c;应用就会变得难以维护和调试。 多组件状态同步问题&#xff1a; 当一个组件修改了状…

mac下配置git自定义快捷命令

1. 指定自定义别名 vi ~/.bash_profile open ~/.bash_profile 配置环境变量,插入类似下面的内容 .bash_profile文件 alias gcgit checkout alias gmgit commit -m alias gcbgit checkout -balias gtgit statusalias gagit add .alias glggit logalias gdgit diffalias gr…

mysql安装及部署

1.在/usr/local下创建mysql目录 cd /usr/local mkdir /mysql 2.在mysql目录中下载 cd mysql/ wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.34-1.el9.x86_64.rpm-bundle.tar 3.解压 tar xvf mysql-8.0.34-1.el9.x86_64.rpm-bundle.tar 4.安装 dnf localinst…

Ivanti Connect Secure 曝两大零日漏洞,已被大规模利用

威胁情报公司Volexity发现&#xff0c;影响 Ivanti 的 Connect Secure VPN 和 Policy Secure 网络访问控制 (NAC) 设备的两个零日漏洞正在被大规模利用。自1月11日开始&#xff0c;多个威胁组织在大范围攻击中利用CVE-2023-46805身份验证绕过和CVE-2024-21887命令注入漏洞。 V…

vue如何通过$http的post方法请求下载二进制的Excel文件

方式一&#xff1a;单独接口,接口封装 特定的service.js 1.下载 //下载 export function getReportTemplate(){return new Promise((resolve, reject) > {axios({method: post,url: /fas/engine/web/fund/final/template,responseType: "blob",headers: {Conten…

分类问题:人工神经网络(ANN)+BP算法(误差后向传播)+考试例题讲解

学习链接:分类问题:人工神经网络(ANN)+BP算法(误差后向传播)+考试例题讲解 资料链接:链接:https://pan.baidu.com/s/1ijvMQmwtRgLO4KDSsNODMw 提取码:vyok 神经网络的应用非常的广,它核心思想非常简单,就是人是如何认知感知并且处理这个世界中的现实问题的。…

[C++] opencv - copyTo函数介绍和使用案例

copyTo函数介绍 copyTo函数是OpenCV库中的一个成员函数&#xff0c;用于将一个Mat对象的内容复制到另一个Mat对象中。 函数原型&#xff1a; void cv::Mat::copyTo(OutputArray m) const;void cv::Mat::copyTo(OutputArray m, InputArray mask) const; 参数说明&#xff1a;…

大创项目推荐 深度学习的水果识别 opencv python

文章目录 0 前言2 开发简介3 识别原理3.1 传统图像识别原理3.2 深度学习水果识别 4 数据集5 部分关键代码5.1 处理训练集的数据结构5.2 模型网络结构5.3 训练模型 6 识别效果7 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习…

数据库的设计模式

数据库的设计模式常用于处理特定类型的数据和需求。以下是一些常见的模式&#xff1a; 1. EAV&#xff08;Entity-Attribute-Value&#xff09; 用途&#xff1a;用于非结构化或高度可变的数据模型。描述&#xff1a;实体以行形式存储&#xff0c;属性和值作为额外的表格列存…

01|js包管理工具和原理分析:npm安装机制及企业级部署私服原理

01 | js包管理工具和原理分析&#xff1a;npm安装机制及企业级部署私服原理 前端工程化离不开 npm 或者 Yarn 管理工具 通过script串联起各个职能部分&#xff0c;让独立的环节自动运转起来。 npm和yarn体系特别庞大&#xff0c;在使用依赖时可能出现以下疑问 删除node_module…

数据结构之基本数据类型(Python)

前言 接下来我们将会先学习Python 的基本数据类型&#xff0c;以及堆、栈、链表、树和图等数据结构&#xff0c;这是学习算法的基础。套用行业内的一句话&#xff1a; 数据结构是算法的骨骼。 数据结构是一门庞大的学科&#xff0c;远不是一本书就可以讲清楚的。如果想更深入地…

安全跟我学|这些网络安全知识,请务必牢记

随着“互联网”时代的到来&#xff0c;人们的生活变得更加便利&#xff0c;但电信诈骗、信息泄露、网络谣言、恶意软件等也随之而来。面对网络这把双刃剑&#xff0c;如何绷紧思想“安全弦”&#xff0c;正确安全使用网络呢&#xff1f;带着这些疑问&#xff0c;让我们一起来学…

【不需要网络不需要显卡】本地部署GPT

【不需要网络/不需要显卡】本地部署GPT 大家好&#xff0c;我是老 J 我们都知道ChatGPT目前只有两种使用方式&#xff0c;一种是直接去官网访问&#xff0c;适合个人用户&#xff1b;另一种是API调用&#xff0c;适合企业或者网站使用。这两种方式的门槛都比较高&#xff0c;…

springboot105基于保信息学科平台系统设计与实现

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的基于保信息学科平台系统设计与实现 适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考&#xff0c; 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。 看运行截图看 …

PXE批量高效网络装机

总结 1实验流程只能抄老师&#xff0c;记忆浅 2排错能力几乎无 3 指令用的太死&#xff0c; 一 系统装机的三种引导方式 启动 操作 系统 1.硬盘 2.光驱&#xff08;u盘&#xff09; 3.网络启动 pxe 重装系统&#xff1f; 在已有操作系统 新到货了一台服务器&#xff…

常见的查找算法

前提&#xff1a;除了线性查找外&#xff0c;下面的其他查找算法适用于有序数组&#xff08;以从小到大为例&#xff09; 一、线性查找 /*** 这里若要查找重复出现的数&#xff0c;可以把索引放入到一个集合中* param arr* param value* return 如果没有找到&#xff0c;则返…

联合体中嵌套结构体,结构体未命名时,结构体成员变量的引用

参考文章&#xff1a;C语言 结构体 联合体 | 嵌套使用_联合体里面嵌套结构体-CSDN博客 如题&#xff0c;其实直接用 联合体名.结构体成员变量名 即可。 程序&#xff1a; #include <stdio.h>typedef unsigned int uint32_t; typedef unsigned char uint8_t;union b…

GNSS数据下载软件 -- 武汉大学 Fast软件(体验感极佳~)

目录 一、简介与下载地址 1.介绍 2.软件特点 3.下载地址 4.以github下载链接为例 二、下载方法(三种方法&#xff0c;以windows系统为例) 1.双击"Fast.exe"根据提示引导下载 2.手动输入"cmd"进入命令行界面&#xff0c;通过输入相关命令进行下载 …

el-date-picker如果超过限制跨度则提示

需求&#xff1a;实现日期时间选择组件跨度如果超过限制天数&#xff0c;点击查询则提示超过限制时间 封装一个方法&#xff0c;传入开始和结束时间以及限制天数&#xff0c;如果超过则返回false //计算时间跨度是否超过限制天数isTimeSpanWithinLimit(startTime, endTime, li…

Python编程之旅7:函数

欢迎来到第七篇《Python编程之旅》的博客&#xff01;在前面的几篇博客中&#xff0c;我们已经学习了Python的基本语法、数据类型、流程控制语句以及列表、元组和字典等内容。今天&#xff0c;我们将进一步探索Python编程的世界&#xff0c;重点关注函数。 函数 函数是一种可…