Kotlin简明学习—流程控制

Kotlin学习笔记(二)流程控制语句 流程控制语句是编程语言中的核心之一。Kotlin的流程控制语句可分为: 分支语句(if 、 when) 循环语句(for、while )和 跳转语句 (return 、 break 、continue、throw)等。 注意,Kotlin没有switch语句,但是可以用更强大的when语句替代。 1 if表达式 对于给定的if,else语句是可选的,else i... 阅读详情

每个语言应该说都是有流程控制的,流程控制是实现逻辑的关键。在Java中我们熟悉都流程控制有if else,switch,for循环。在Kotlin中对应的是if else,when,for循环。Kotlin的流程控制跟Java的有所不同,可以把if else流程控制看做是表达式,对变量可以进行赋值操作。

if else

1.跟Java中的if else完全一样,就是分支选择

val age = 15

if  (age <= 12)  {
  println("Child")
} else if (age >= 13 && age <= 17)  {
  println("Teenager")
} else {
  println("Adult")
}

输出

Teenager

2.不同于Java,可以赋值

val age = 20
val personType = if  (age <= 12)  {
  "Child"
} else if (age >= 13 && age <= 17)  {
  "Teenager"
} else {
  "Adult"
}

println(personType)

输出

Teenager

when

1.when相当于Java中swich

val num = 77

when (num) {
  in 1..10 -> println("Number is in the range")
  !in 10..20 -> println("Number is outside the range")
  else -> println("None of the above")
}

输出:

Number is outside the range

2.赋值用法

val x = "Batman"

// If "when" is used as an expression then it MUST be exhaustive.
val hasPrefix = when (x) {
  is String -> x.startsWith("Bat")
  else -> false
}
hasPrefix

for循环


val days = listOf("Mon", "Tue", "Wed", "Thur", "Fri", "Sat", "Sun")
for (d in days)  { println(d) }
for (x in 1..10) { println(x) }

val nzPop = mapOf("AUCK" to 1500000, "WLG" to 405000, "CHCH" to 500000, "GIS" to 36100)
for ((key, value) in nzPop) {
  println("$key -> $value")
}

while和do while

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

var x = 12
do {
  println(x)
  ++x
} while (x <= 10)

参考文献

https://medium.com/@napperley/kotlin-tutorial-6-control-flow-340cbffc18b5

Kotlin简明学习—文章列表

Kotlin 基础语法详解:从入门到精通 本教程涵盖了 Kotlin 基础语法的主要部分,从变量、数据类型到函数、类、接口、异常处理等。通过学习这些基础知识,你将能够编写简单的 Kotlin 程序,并进一步学习更高级的特性。 阅读详情

相关推荐

Kotlin入门实例大全(完结)

Kotlin Cases(更新中) Shawn IDE: IntelliJ IDEA 2018.2.3 Kotlin: 1.2.71 JDK: 1.8.0_161 强烈推荐Kotlin官方文档 代码见github 注: 本文中实例部分参考于 runoobJava实例 Kotlin入门实例Kotlin Cases(更新中)1 字符串1.1 字符串比较 StringCompare1.2 查...

Shawn的博客 6759

‘when‘ expression must be exhaustive, add necessary ‘xxx‘, ‘null‘ branches or ‘else‘ branch instead

Kotlin版本升级导致编译报错:'when' expression must be exhaustive, add necessary 'xxx', 'null' branches or 'else' branch instead。Kotlin1.7之后when强制封闭问题,1.6及之前的版本只做Waring提示,1.7之后变成了Error导致无法编译通过,所以我们在写when时尽可能的加上else,或者穷举所有可能出现的情况。

Yvan 2051

Apifox 自动化测试新增流程控制条件,复杂测试场景不再是问题

在 if 条件后的输入框填写请求接口得到的变量 viewed ,选择条件为「小于」,输入比较数值 10 ,并在 if 条件下添加「宠物下架处理」步骤。借助新增的自动化测试流程控制条件,测试人员就可以使用 Apifox 去实现更深层更多样的测试应用场景,帮助提升测试效率,减少复杂场景的测试操作。「查询新建宠物」、「修改宠物状态为已售出」和「查询宠物状态是否修改」步骤为当前在售宠物信息盘点的三个标准步骤,所以将这三个步骤合成一组。在循环中添加「查询在售宠物」和「修改宠物状态」步骤;

877

Kotlin:关于Sealed密封类

kotlin sealed密封类

u011960123的博客 1523

VC Spyglass实战指南:从零开始掌握CDC约束配置与调试

本文详细介绍了如何使用VC Spyglass进行CDC约束配置与调试,从基础环境搭建到典型CDC问题调试实战,帮助开发者快速掌握跨时钟域验证技术。通过TCL脚本和SDC约束的深度解析,提升CDC验证效率,避免常见设计风险。

weixin_26757925的博客 294

VMvare 桥接模式无法联网、没有未桥接的主机网络适配器,无法将网络更改为桥接状态。

很多程序员,整天沉浸在业务代码的 CRUD 中,业务中没有大量数据做并发,缺少实战经验,对并发仅仅停留在了解,做不到精通,所以总是与大厂擦肩而过。我把私藏的这套并发体系的笔记和思维脑图分享出来,理论知识与项目实战的结合,我觉得只要你肯花时间用心学完这些,一定可以快速掌握并发编程。《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!战项目源码讲义》点击传送门即可获取!**

q16974058的博客 4330

Kotlin入门教程指南 | Kotlin协程取消与超时

取消 我们可以启动协程,也可以在协程尚未结束时,主动取消协程。 例如在Android应用中,一个界面的ViewModel启动了协程,而这个界面要关闭退出了。那么我们需要把协程也取消掉。 launch函数返回的Job即是协程对象。调用job.cancel()函数即可取消协程。 import kotlinx.coroutines.* fun main() = runBlocking { val job = GlobalScope.launch { repeat(100) { i -&g

qq_44102588的博客 1578

科研绘图(二):R 语言实现小鼠脑图谱 3D 渲染,附完整代码与数据获取指南

在生物医学科研中,脑区的 3D 可视化是呈现实验结果、解析脑结构功能的重要手段。R 语言凭借rgl和Rvcg等工具包,可高效实现小鼠全脑及特定脑区(如 CA1 区)的立体渲染,且代码可复用性强。本文将从环境搭建、数据准备、代码实现到结果导出,手把手带你完成小鼠脑图谱 3D 绘图,小白也能快速上手!

good_rrrrr的博客 2023

理解Kotlin密封类Sealed

“密封类和接口表示受限制的类层次结构,提供对继承的更多控制。密封类的所有直接子类在编译时都是已知的。在定义密封类的模块和包之外不能出现其他子类。例如,第三方客户端不能在其代码中扩展您的密封类。因此,密封类的每个实例都有一个在编译该类时已知的有限集合中的类型。参考官网:https://kotlinlang.org/docs/sealed-classes.html如果您像我一样,第一次阅读时可能无法理...

heiyl的专栏 1002

OpenSees入门指南:从零开始的环境配置与TCL脚本实战

本文提供了一份详细的OpenSees入门指南,涵盖从零开始的环境配置到TCL脚本实战的全过程。文章重点讲解了OpenSees的安装步骤、环境变量设置,并推荐了高效的VS Code集成开发环境配置方法。通过一个简支梁分析的完整TCL脚本示例,手把手引导读者完成第一个非线性有限元分析,帮助土木工程与结构工程领域的研究者与学生快速上手这一强大的开源分析工具。

weixin_28829339的博客 336

uniapp - 超详细 H5 网页引入百度地图教程,附地图示例 / 获取当前设备定位的省市区、详细地址、经纬度信息 / 用户当前 IP 属地定位地理位置等等(新手小白快速上手,详细配置及使用全流程)

uniapp百度地图,uniapp百度地图ip属地定位,uniapp百度地图获取省市区详细地址经纬度等,uniapp百度地图当前用户设备定位省份市区详细所在地ip属地等详细教程示例,uniapp网页h5引入百度地图详细教程,uniapp h5网站使用百度地图详细教程,uniappH5端如何接入使用百度地图api,uniapp H5网页端百度地图获取地理位置信息,uniapp h5页面引入百度地图,uniapp h5平台百度地图获取城市信息,uniapp百度地图获取经纬度,uniapp 百度地图拿省市区用什么

🏆 前端领域优质创作者 6216

Kotlin 1.6 正式发布,带来这些新特性

11月16日 Kotlin 1.6.0 正式发布,让我们看一下这个版本中都有哪些新特性 更安全的when语句 挂起函数类型可作父类 普通函数转挂起函数 Builder函数更加易用 递归泛型的类型推导 注解相关的一些优化 1. 更安全的 when 语句 Kotlin 的 when 关键字允许我们在 case 分支中写表达式或者语句。1.6 之前在 case 分支写语句时存在安全隐患: // 定义枚举 enum class Mode { ON, OFF } val x: Mode = Mode.O.

zhireshini233的博客 981

uniapp [安卓苹果App端] - 实现APP开发后台保活+息屏后台持续运行效果,强制后台保活手机黑屏后进程存活后台保持网络连接或持续定位等功能提供支持(app后台运行休眠仍然可以确保一直运行)

uniapp APP开发后台保活,Uniapp-APP后台保活插件(安卓苹果ios后台保活)保证应用在后台继续运行,uniapp实现app保活 保后台运行 避免系统主动杀进程,如何让安卓APP一直在后台运行?uniapp 安卓 APP 后台持续运行(保活)iOS App后台保活,Android 后台运行白名单实现保活,保活息屏后台运行,uniapp后台保活,uniapp熄屏 后台运行,Android/ios进程保活/息屏后后台保持定位、网络运行,uniapp在android ios保活,挂后台可运行,安卓A

🏆 前端领域优质创作者 1万+

从零学习Kotlin之流程控制

Kotlin流程控制 1. 分支结构 1.1 if (1)if分支 ​ if分支有三种结构,分别是 //第一种 if () { } //第二种 if () { } else { } //第三种 可以跟多个else if if () { } else if () { } else if () { } ……… else 是对前一if条件的取反 (2) if表达式 if 作为表达式时,可以代替java中的三目运算符?。 for (i in 1..5) { val age= Rando

mrkyee的博客 211

数仓建模—数据治理框架选型

全名主要亮点覆盖面最广:从数据治理、架构、质量、安全到元数据、主数据、数据仓库等等,几乎所有数据管理主题都能在DMBOK里找到相应章节。概念权威统一:帮助组织建立通用术语和知识基础,减少“部门之间说法不一致”的沟通成本。适用场景:如果你所在公司(或团队)正准备系统梳理数据管理的方方面面,DMBOK是一份非常全面的指导手册,尤其适合培养新人或为整个组织统一认知。需要注意:DMBOK偏“知识指引”,不直接提供成熟度模型或实施路线图。想要落地,还需要结合其他评估模型或项目管理方法。小案例举例:某。

2401_84052244的博客 4743

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Kotlin简明学习—文章列表

kotlin简明学习,列表

android2me的专栏 1061

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Kotlin语法学习总结

最近由于工作需要用到kotlin语言,所以学习了相关的语法知识,现在将学习到的东西进行一个总结。用于方便后续的使用。主要从以下几个方面来记录1、变量的定义和使用2、函数的定义和使用3、流程控制关键字的使用4、类和对象的使用5、接口的使用6、权限修饰符7、数据类8、lambda的使用9、函数式API的使用10、let函数的使用11、内嵌表达式的使用在这边说明一下kotlin基本的使用原则kotlin每个语句可以以;结尾,也可以不加。但是java必须要加。

疯过无痕的博客 1415

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Kotlin学习笔记

文章目录第1章 基础类型1.1 注释1.1.1单行注释1.1.2多行注释1.1.3文档注释1.2. 变量1.2.1 分隔符分号(;)花括号({})方括号([])圆括号(())空格( )圆点(.)1.2.2 标识符规则1.2.3 关键字1.2.4 声明变量1.3. 整型(4种)1.4. 浮点型(2种)1.5. 字符型 Char1.6. 数值之间的类型转换1.6.1 整型之间的转换1.6.2 浮点型与整形之间转换1.6.3 表达式类型的自动提升1.7 Boolean类型1.8 null安全1.8.1 非空类型和

lianghao的博客 1595

Kotlin学习笔记--Kotlin之语言基础

Kotlin极简教程学习笔记--Kotlin基础(一)Kotlin简介Kotlin语言基础1.包2.变量2.1声明变量2.2变量类型推断2.3变量类型检测2.4字符串与模板表达式3流程控制语句3.1 if3.2when3.3 for循环 while 循环 Kotlin简介 Kotlin是一门静态类型编程语言,支持JVM平台、Android 平台等等支持与Android、java 完全互操作。 Ko...

fanlc的博客 579

Kotlin流程控制详解(一)

流程控制详解(一) 开始kotlin的学习,在这里我也是小白一个,慢慢的去学习,只是将学习到的东西和大家进行分享,如有不对的地方,烦请大家多多指教,我们会将大多数解释放在代码中,以便更方便的理解 流程控制可以分为三种 分支语句(if、when) 循环语句(for、while、do…while) 跳转语句(return、continue、break、throw) 本篇主要对上面着前3种做详...

Stc_LOokIN的博客 381

Kotlin学习:1.3.语言基础之流程控制语句

流程控制语句分支语句ifwhen循环语句forwhile跳转语句breakcontinuereturnlabel基础改变功能throw参考地址 流程控制语句有三类,分为分支语句、循环语句还有跳转语句。 分支语句 if 对比JAVA,Kt内的if有返回值 三元表达式: var obj2 = if (a > b) 1 else 3 作为代码块: var obj2 = if (a > b) { println("""${name.length}""")

嗯... 978

Kotlin学习之基础篇—导包和流程控制

一. 导包 Kotlin的导包和Java区别不大。 1. 默认包 Kotlin中有一些包是默认被导入所有Kotlin文件中的: - kotlin.* - kotlin.annotation.* - kotlin.collections.* - kotlin.comparisons.* - kotlin.io.* - kotlin.ranges.* - kotlin.sequ...

chenrenxiang的专栏 828

疯狂Kotlin讲义阅读实践篇——第4章 流程控制

目录 一、前言 二、本章要点 4.1 顺序结构 4.2 分支结构 4.2.1 if 分支 4.2.2 if 表达式 4.2.3 when分支语句 4.2.4 when 表达式 4.2.5 when 分支处理范围 4.2.6 when 分支处理类型 4.2.7 when 条件分支 4.3 循环结构 4.3.1 while循环 4.3.2 do while 循环 4...

鲁迷那的专栏—坚持实践后再写出来! 348

kotlin语言学习03 ——kotlin语法与java不同点

kotlin语法与java不同点 注意 : 本小节的语法主要是讲和java不同的地方,这样可以调高学习效率 一、kotlin变量和常量的定义 1、常量的定义,关键字val 1.1、示例: val a: Int = 1 val在kotlin中相当于Java中的final,我们可以看到使用val定义后的 ‘a’,不能再次赋值,会报错。 1.2、kotlin中使用了val定义之后,虽然不能对再次,但...

Techflow的博客 523

Kotlin学习之流程控制

Kotlin学习之流程控制 @(Kotlin学习) Kotlin的流程控制,可以分为条件语句和循环语句。 一、条件语句 1.1if-else条件判断语句 Kotlin中的if条件语句与其他类C语言相比,最大的区别在于if语句本身就是个有返回值的表达式。所以也就不需要三元运算符(条件?然后:否则),因为if就能胜任。 下面用一个函数做一下对比: // Java 语言写法 p...

星霖的博客 357

01 | Kotlin基础语法:正式开启学习之旅

你好,我是朱涛。从今天开始,我们就正式踏上Kotlin语言学习与实践的旅途了。这节课,我想先带你来学习下Kotlin的基础语法,包括变量、基础类型、函数和流程控制。这些基础语法是程序最基本的元素。不过,如果你有使用Java的经验,可能会觉得今天的内容有点多余,毕竟Kotlin和Java的基础语法是比较相似的,它们都是基于JVM的语言。但其实不然,Kotlin作为一门新的语言,它包含了许多新的特性,...

优快云学习 610
上一篇: Kotlin简明学习—文章列表
android2me
博客等级 码龄14年 30粉丝 21原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值