Kotlin中的选择结构语句

在Kotlin中,选择结构语句有多种形式,包括条件分支、三元表达式、if-else if-else语句、when语句等。下面将逐个说明每种形式的使用。

  1. 条件分支:
var max: Int = 0
var a: Int = 5
var b: Int = 6if (a > b) {max = a
} else {max = b
}println("max=$max")

上述代码中,根据条件判断a是否大于b,如果成立则将a赋值给max,否则将b赋值给max。最后打印max的值。

  1. 三元表达式:
max = if (a > b) a else b

三元表达式是一种简洁的条件判断语句,在Kotlin中使用if-else语句实现。上述代码中,如果a大于b,则将a赋值给max,否则将b赋值给max。

  1. if-else if-else语句:
var age: Int = 22if (age > 68) {println("这个人的年龄阶段为老人")
} else if (age > 41) {println("这个人的年龄阶段为中年")
} else if (age > 18) {println("这个人的年龄阶段为青年")
} else if (age > 7) {println("这个人的年龄阶段为少年")
} else {println("这个人的年龄阶段为童年")
}

上述代码中,根据不同的条件判断该人的年龄阶段,并打印相应的结果。

  1. when语句:
var week: Int = 3when (week) {1 -> println("星期一")2 -> println("星期二")3 -> println("星期三")4 -> println("星期四")5 -> println("星期五")6 -> println("星期六")7 -> println("星期日")
}

上述代码中,根据变量week的值,使用when语句判断具体是星期几,并打印对应的结果。

  1. when多个条件一起:
var month: Int = 9when (month) {12, 1, 2 -> println("冬季")3, 4, 5 -> println("春季")6, 7, 8 -> println("夏季")9, 10, 11 -> println("秋季")else -> {println("输入的月份有误")}
}

上述代码中,根据变量month的值,使用when语句判断具体是哪个季节,并打印对应的结果。如果month的值不匹配任何条件,则执行else分支。

  1. 使用when代替if:
var a1: Int = 7
var b1: Int = 8when {a1 > b1 -> println("a1大于b1")a1 < b1 -> println("a1小于b1")else -> println("a1等于b1")
}

上述代码中,根据变量a1和b1的值,使用when语句进行条件判断,并打印对应的结果。这种形式可以代替简单的if-else语句。

以上是Kotlin中选择结构语句的使用示例,根据不同的业务需求,可以选择适合的形式来实现条件判断和相应的逻辑处理。

7.全部代码

fun main() {var max: Int = 0var a: Int = 5var b: Int = 6// 条件分支if (a > b) {max = a} else {max = b}println("max=$max")// 三元表达式max = if (a > b) a else b// if else if elsevar age: Int = 22if (age > 68) {println("这个人的年龄阶段为老人")} else if (age > 41) {println("这个人的年龄阶段为中年")} else if (age > 18) {println("这个人的年龄阶段为青年")} else if (age > 7) {println("这个人的年龄阶段为少年")} else {println("这个人的年龄阶段为童年")}// whenvar week: Int = 3when (week) {1 -> println("星期一")2 -> println("星期二")3 -> println("星期三")4 -> println("星期四")5 -> println("星期五")6 -> println("星期六")7 -> println("星期日")}// when多个条件一起var month: Int = 9when (month) {12, 1, 2 -> println("冬季")3, 4, 5 -> println("春季")6, 7, 8 -> println("夏季")9, 10, 11 -> println("秋季")else -> {println("输入的月份有误")}}// 使用when代替ifvar a1: Int = 7var b1: Int = 8when {a1 > b1 -> println("a1大于b1")a1 < b1 -> println("a1小于b1")else -> println("a1等于b1")}
}

总结一下,Kotlin 中的选择结构语句包括 if-elsewhen 表达式和三元操作符,我们可以根据不同的场景选择适合的选择结构语句来实现代码逻辑的控制。

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

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

相关文章

React Native 学习 之 环境搭建(andoid)

依赖安装 编辑器随意&#xff0c;因为编译构建以及打包和编辑器无关 Node Node 的版本应大于等于 16&#xff0c;需要node的原因是因为react native基于react做了很多工作&#xff0c;需要npm安装模块 JDK andiod开发底层需要java需要jdk&#xff0c;同时react native要求…

WLAN 无线案例(华为AC控制器配置模板)

实验说明&#xff1a; 无线用户VLAN 30 192.168.30.0/24 AP和AC用VLAN 20 192.168.20.0/24 有线网段 VLAN 10 192.168.10.0/24 步骤一&#xff1a;全网互通 sw1&#xff1a; sysname sw1 # vlan batch 10 20 30 # dhcp enable # ip pool 20 gateway-list 192.168.20.1…

React合成事件

一、合成事件 event 是 SyntheticEvent &#xff0c;模拟出来 DOM 事件所有能力 event.nativeEvent 是原生事件对象 所有的事件&#xff0c;都被挂载到 document 上&#xff08;React ≤ 16&#xff09;&#xff0c;React17之后是挂载到root组件 和 DOM 事件不一样&#xff…

electron安装失败时配置

electron下载前配置 使用命令打开npm全局配置&#xff0c;C盘下的.npmrc文件。 npm config edit 然后在空白处添加 electron_builder_binaries_mirrorhttps://npmmirror.com/mirrors/electron-builder-binaries/ electron_mirrorhttps://cdn.npmmirror.com/binaries/electr…

Defects4j数据集安装及使用

0、常见问题 1. 所有配置完成后运行defects4j info -p Lang测试出现错误 Cant locate DBI.pm in INC (you may need to install the DBI module) (INC contains: /myproject/defects4j/framework/lib /myproject/defects4j/framework /myproject/defects4j/framework/core /m…

【VS2022】Microsoft 源代码注释语言 SAL

M i c r o s o f t Microsoft Microsoft 源代码注释语言 S A L SAL SAL /*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 通信与信息专业大二在读 * * brief Microsoft 源代码注释语言 SAL* * copyright 2023.10* COPYRIGHT 原创…

Makefile文件里的赋值方法(第三节)

时间是我们唯一拥有的东西了,利用时间,发挥光芒。——张顺 文章目录 什么是赋值Makefile当中的赋值赋值符号=延时赋值(不要觉得简单就跳过,和你平时学的不一样):=立即赋值?=条件赋值+=追加赋值结束什么是赋值 常见赋值:(实例1.1) #include <stdio.h>int main(…

【计算机网络笔记】计算机网络性能(1)——速率、带宽、延迟

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 系列文章目录速率带宽延迟/时延(delay或latency) 下面介绍一些计算机网络中常用的性能指标。在本篇中涉及速…

创建React Native的第一个hello world工程

创建React Native的第一个hello world工程 需要安装好node、npm环境 如果之前没有安装过react-native-cli脚手架的&#xff0c;可以按照下述步骤直接安装。如果已经安装过的&#xff0c;但是在使用这个脚手架初始化工程的时候遇到下述报错的话 cli.init(root, projectname);…

WordPress导航主题蘑菇导航源码

蘑菇导航的列表页有两种风格&#xff0c;分别对应宽屏、窄屏。可以点击 文章。博客查看演示。文章页也是如此&#xff0c;这两种风格可以在后台设置。 本站菜单中的 VIP解析、音乐、图床&#xff0c;是单独的源码&#xff0c;不包含在本次主题中。后期看大家的要求&#xff0c…

SSH连接华为交换机慢

ssh连接交换机慢是因为交换计算密钥算法阶段默认使用安全性更高的秘钥&#xff0c;由于性能问题导致连接比较慢&#xff0c;如一台华为S5735S-L24T4S-QA2的交换机默认使用如下秘钥&#xff0c;安全行由高到低。 ssh server key-exchange dh_group16_sha512 dh_group15_sha512 …

Android 优化 - 磁盘缓存DiskLruCache

一、概念 用于实现存储设备缓存&#xff0c;即磁盘缓存&#xff0c;通过将缓存对象写入文件系统从而实现缓存的效果。 二、使用 2.1 添加依赖 最新依赖 implementation "com.jakewharton:disklrucache:2.0.2" 2.2 配置权限 <uses-permission android:name&qu…

【Release】Photoshop ICO file format plug-in 3.0

【Introduction】 The Photoshop ICO plug-in is a file format plug-in developed for Photoshop, which allows Photoshop to directly read and write ICO format files. Because Photoshop has powerful pixel bitmap editing functions, it has many users and a good us…

企业如何自定义人力资源和财务报表?

企业自定义人力资源和财务报表是一种重要的能力&#xff0c;它允许企业根据其特定需求和目标创建和定制报表。以下是一些详细的步骤和说明&#xff0c;帮助企业实现人力资源和财务报表的自定义。 1. 确定报表需求&#xff1a; 首先&#xff0c;企业需要明确自己对人力资源和财…

uniapp(uncloud) 使用生态开发接口详情5(云公共模块)

1.uniCloud官网 云对象中云公共模块: 网站: https://uniapp.dcloud.net.cn/uniCloud/cf-common.html // 官网介绍 cloudfunctions├─common // 云函数公用模块目录| └─hello-common // 云函数公用模块| ├─package.json| └─index.js // 公用模块代码&#xff0…

docker拉取镜像错误missing signature key

参考地址&#xff1a;docker拉取镜像错误 missing signature key-CSDN博客 linux系统&#xff0c;使用docker拉取的时候&#xff0c;报错如下 missing signature key 就一阵莫名其妙&#xff0c;之前还好好的&#xff0c;突然就不行了 按照网上说的方法&#xff0c;查看doc…

CSRF和XSS是什么?

CSRF&#xff08;Cross-site request forgery&#xff09;&#xff1a;跨站请求伪造。 用户是网站A的注册用户&#xff0c;且登录进去&#xff0c;于是网站A就给用户下发cookie。 满足条件&#xff1a; &#xff08;1&#xff09;登录受信任网站A&#xff0c;并在本地生成Cook…

计算机网络-计算机网络体系结构-网络层

目录 一、IPV4 IP数据报格式 *IP 数据报分片 *IPV4地址 分类 网络地址转换(NAT) 二、子网划分与子网掩码 *CIDR *超网 协议 ARP协议 DHCP协议 ICMP协议 三、IPV6 格式 IPV4和IPV6区别 地址表示形式 四、路由选择协议 RIP(路由信息协议) OPSF(开发最短路径优…

探索DeFi世界,MixGPT引领智能金融新时代

随着区块链技术的迅猛发展&#xff0c;DeFi&#xff08;去中心化金融&#xff09;正成为金融领域的新宠。在这个充满活力的领域里&#xff0c;MixTrust站在创新的前沿&#xff0c;推出了一款引领智能金融新时代的核心技术——MixGPT。 MixGPT&#xff1a;引领智能金融体验的大型…

工业自动化编程与数字图像处理技术

工业自动化编程与数字图像处理技术 编程是计算机领域的基础技能&#xff0c;对于从事软件开发和工程的人来说至关重要。在工业自动化领域&#xff0c;C/C仍然是主流的编程语言&#xff0c;特别是用于工业界面(GUI)编程。工业界面是供车间操作员使用的&#xff0c;使用诸如Hal…