当前位置: 首页 > news >正文

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 表达式和三元操作符,我们可以根据不同的场景选择适合的选择结构语句来实现代码逻辑的控制。

相关文章:

Kotlin中的选择结构语句

在Kotlin中&#xff0c;选择结构语句有多种形式&#xff0c;包括条件分支、三元表达式、if-else if-else语句、when语句等。下面将逐个说明每种形式的使用。 条件分支&#xff1a; var max: Int 0 var a: Int 5 var b: Int 6if (a > b) {max a } else {max b }printl…...

【AIFEM案例操作】压力容器强度分析

AIFEM是由天洑自主研发的一款通用的智能结构仿真软件&#xff0c;助力用户解决固体结构相关的静力学、动力学、振动、热力学等实际工程问题&#xff0c;软件提供高效的前后处理工具和高精度的有限元求解器&#xff0c;帮助用户快速、深入地评估结构的力学性能&#xff0c;加速产…...

Hadoop3教程(十八):MapReduce之MapJoin案例分析

文章目录 &#xff08;118&#xff09;MapJoin案例需求分析ReduceJoin的问题如何解决ReduceJoin的问题如何将一个文件主动缓存到集群的内存里 &#xff08;119&#xff09;MapJoin案例代码实现参考文献 &#xff08;118&#xff09;MapJoin案例需求分析 ReduceJoin的问题 在R…...

SOAR安全事件编排自动化响应-安全运营实战

SOAR是最近几年安全市场上最火热的词汇之一。各个安全产商都先后推出了相应的产品&#xff0c;但大部分都用得不是很理想。SOAR不同与传统的安全设备&#xff0c;买来后实施部署就完事&#xff0c;SOAR是一个安全运营系统&#xff0c;是实现安全运营过程中人、工具、流程的有效…...

连锁药店的自有品牌之争:老百姓大药房能否突围?

文丨新熔财经 作者丨楷楷 近年来&#xff0c;随着医保谈判药品的“双通道”&#xff08;即消费者可在有资质的药店买到新进医保的创新药&#xff09;&#xff0c;以及“门诊统筹”将药店纳入医保报销等医改政策出台&#xff0c;药企开始重新重视起零售药店渠道&#xff0c;很…...

智能台灯语音控制丨解放双手

台灯是日常生活中一种常见的照明产品。以往的台灯大多都是采取手动控制&#xff0c;通过按键去对台灯的亮度进行调整。随着科技的发展&#xff0c;台灯也开始走向了智能化。人们已经能够对智能台灯进行语音控制&#xff0c;通过调节灯光开关、色温、灯光亮度等操作&#xff0c;…...

网络库OKHTTP(2)面试题

序、慢慢来才是最快的方法。 背景 OkHttp 是一套处理 HTTP 网络请求的依赖库&#xff0c;由 Square 公司设计研发并开源&#xff0c;目前可以在 Java 和 Kotlin 中使用。对于 Android App 来说&#xff0c;OkHttp 现在几乎已经占据了所有的网络请求操作。 OKHttp源码官网 问1…...

探索Java NIO:究竟在哪些领域能大显身手?揭秘原理、应用场景与官方示例代码

一、NIO简介 Java NIO&#xff08;New IO&#xff09;是Java SE 1.4引入的一个新的IO API&#xff0c;它提供了比传统IO更高效、更灵活的IO操作。与传统IO相比&#xff0c;Java NIO的优势在于它支持非阻塞IO和选择器&#xff08;Selector&#xff09;等特性&#xff0c;能够更…...

论文阅读 Memory Enhanced Global-Local Aggregation for Video Object Detection

Memory Enhanced Global-Local Aggregation for Video Object Detection Abstract 人类如何识别视频中的物体&#xff1f;由于单一帧的质量低下&#xff0c;仅仅利用一帧图像内的信息可能很难让人们在这一帧中识别被遮挡的物体。我们认为人们识别视频中的物体有两个重要线索&…...

Java 常用类(包装类)

目录 八大Wrapper类包装类的分类 装箱和拆箱包装类和基本数据类型之间的转换常见面试题 包装类方法包装类型和String类型的相互转换包装类常用方法&#xff08;以Integer类和Character类为例&#xff09;Integer类和Character类的常用方法 Integer创建机制&#xff08;面试题&a…...

ES|QL:Elasticsearch的 新一代查询语言

作者&#xff1a;李捷 “学会选择很难。学会正确选择更难。而在一个充满无限可能的世界里学会正确选择则更难&#xff0c;也许是太难了。” 巴里-施瓦茨&#xff08;Barry Schwartz&#xff09;在《选择的悖论--多就是少》&#xff08;The Paradox of Choice -More is Less&…...

C语言实现句子中的单词颠倒排序

一、运行结果 二、源代码 # define _CRT_SECURE_NO_WARNINGS # include <stdio.h> # include <assert.h>//实现逆转函数&#xff1b; void reverse(char* left, char* right) {//断言left和right都不能为空&#xff1b;assert(left);assert(right);//循环逆转字母…...

MySQL学习(八)——锁

文章目录 1. 锁概述2. 全局锁2.1 全局锁的必要性2.2 语法2.3 全局锁的特点 3. 表级锁3.1 表锁3.2 元数据锁3.3 意向锁3.4 自增锁 4. 行级锁4.1 介绍4.2 记录锁4.3 间隙锁4.4 临键锁 1. 锁概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中&#xff0c;除传…...

让iPhone用电脑的网络上网

让iPhone用电脑的网络上网&#xff0c;可以按照以下步骤操作&#xff1a; 在iPhone上找到并点击“设置”选项&#xff0c;进入“蜂窝移动网络”。打开“个人热点”选项。此时下方的弹出对话框会显示“仅USB”。用数据线将你的iPhone与电脑相连&#xff0c;并在电脑上打开“控制…...

ThreeJS-3D教学十-有宽度的line

webgl中线是没有宽度的&#xff0c;现实的应用中一般做法都是将线拓宽成面来绘制。默认threejs的线宽是无法调节的&#xff0c;需要用有厚度的线 THREE.Line2。 先看效果图&#xff1a; 看下代码&#xff1a; <!DOCTYPE html> <html lang"en"> <he…...

安装Elasticsearch步骤(包含遇到的问题及解决方案)

注&#xff1a;笔者是在centos云服务器环境下安装的Elasticsearch 目录 1.安装前准备 2.下载Elasticsearch 3.启动Elasticsearch 非常容易出问题 第一次运行时&#xff0c;可能出现如下错误&#xff1a; 一、内存不足原因启动失败 二、使用root用户启动问题 三、启动ES自…...

网络编程面试笔试真题

网络编程笔试面试真题 1、关于Linux系统中多线程的信号处理&#xff0c;说法中不正确的是&#xff1f; A&#xff1a;在线程环境霞&#xff0c;产生的信号是传递给整个进程的 B&#xff1a;一般情况下&#xff0c;信号会随机给进程的一个线程 C&#xff1a;对某个信号处理函数…...

MySQL官方文档如何查看,MySQL中文文档

这里写自定义目录标题 MySQL官方文档如何查看MySQL中文文档 MySQL官方文档如何查看 MySQL官网地址&#xff1a;https://dev.mysql.com/doc/ 比如这里我要找InnoDB架构 MySQL中文文档 MySQL 5.1中文文档地址&#xff1a;https://www.mysqlzh.com/...

第七章:最新版零基础学习 PYTHON 教程—Python 列表(第四节 -如何在 Python 中查找列表的长度)

列表是 Python 日常编程不可或缺的一部分,所有 Python 用户都必须学习,了解其实用程序和操作是必不可少的,而且总是有好处的。因此,本文讨论了找到第一个这样的实用程序。使用Python 的列表中的元素。 目录 在 Python 中查找列表的长度...

XPS虽没流行,但还在使用!在Windows 10中打开XPS文件的最佳方法

当Windows Vista发布时&#xff0c;微软推出了XPS格式&#xff0c;这是PDF的替代品。XPS文件格式并不是什么新鲜事&#xff0c;但从未获得过多大的吸引力。 因此&#xff0c;XPS&#xff08;XML Paper Specification&#xff09;文件是微软对Adobe PDF文件的竞争对手。尽管XPS…...

C++ 智能指针的生命周期陷阱

C智能指针的生命周期陷阱&#xff1a;隐藏的坑与破解之道 在现代C开发中&#xff0c;智能指针作为资源管理的利器&#xff0c;极大减轻了开发者手动管理内存的负担。看似简单的shared_ptr、unique_ptr和weak_ptr背后&#xff0c;却隐藏着微妙的生命周期陷阱。这些陷阱可能导致…...

Spring Boot项目实战:用ShardingSphere-JDBC 5.3.2搞定PostgreSQL分库分表,附完整配置流程

Spring Boot与ShardingSphere-JDBC深度整合&#xff1a;PostgreSQL分库分表实战指南 当你的应用用户量突破百万级&#xff0c;单表数据量超过千万行时&#xff0c;是否经常遇到查询响应变慢、写入性能下降的问题&#xff1f;作为经历过多次系统扩容的老兵&#xff0c;我想分享一…...

告别恼人红叉!保姆级教程:用acme.sh给宝塔面板IP地址换上Let‘s Encrypt免费证书

从红叉到绿锁&#xff1a;零成本为宝塔面板IP地址部署可信SSL证书全指南 每次打开宝塔面板&#xff0c;那个刺眼的红色安全警告是否让你如鲠在喉&#xff1f;作为服务器管理员&#xff0c;我们比谁都清楚自签名证书的实际安全性&#xff0c;但浏览器固执的警告提示却让新手用户…...

FedoraWorkstation43安装中州韵(ibus-rime)输入法引擎+雾凇拼音+万象语言模型

1、安装ibus-rime sudo dnf install ibus-rime librime-devel librime-tools librime-lua2、使用东风破工具安装雾凇 cd ~/ git clone https://github.com/rime/plum.git plum cd plum bash rime-install iDvel/rime-ice:others/recipes/full # 更多参考 https://github.com/iD…...

告别龟速下载!Win10/Win11下为CDO配置国内镜像源(Ubuntu 18.04 LTS)保姆级教程

告别龟速下载&#xff01;Win10/Win11下为CDO配置国内镜像源&#xff08;Ubuntu 18.04 LTS&#xff09;保姆级教程 如果你曾在Windows系统下通过WSL安装Ubuntu并尝试下载CDO&#xff0c;大概率经历过每秒几KB的绝望下载速度。这不是你的网络问题——默认的国外软件源对国内用户…...

intv_ai_mk11实测效果:在24GB显存限制下保持128~512 token长文本生成质量

intv_ai_mk11实测效果&#xff1a;在24GB显存限制下保持128~512 token长文本生成质量 1. 模型效果惊艳展示 intv_ai_mk11作为一款基于Llama架构的中等规模文本生成模型&#xff0c;在24GB显存环境下展现出了令人印象深刻的长文本生成能力。不同于常规模型在显存限制下容易出现…...

保姆级避坑指南:在Ubuntu 22.04上用ROS2 Humble搞定TurtleBot3的SLAM与导航(附5个常见报错解决方案)

保姆级避坑指南&#xff1a;在Ubuntu 22.04上用ROS2 Humble搞定TurtleBot3的SLAM与导航&#xff08;附5个常见报错解决方案&#xff09; 当你第一次尝试在Ubuntu 22.04上使用ROS2 Humble和TurtleBot3进行SLAM建图与导航时&#xff0c;可能会遇到各种令人沮丧的报错。这些报错往…...

基于Docker与CUDA的YOLOv5/v7高效部署实战指南

1. 环境准备&#xff1a;从零搭建CUDADocker开发环境 第一次在Docker里跑YOLOv5时&#xff0c;我盯着满屏的CUDA版本报错差点崩溃。后来才发现&#xff0c;环境配置就像搭积木&#xff0c;底层没摆正&#xff0c;上层再漂亮也会塌。下面分享我验证过的环境搭建方案&#xff0c…...

手把手教你配置Figma MCP:打造属于你自己的AI驱动设计组件库(以阅读题为例)

智能设计革命&#xff1a;用Figma MCP构建AI驱动的交互式学习组件库 当设计系统遇上生成式AI&#xff0c;一场关于效率与智能化的变革正在悄然发生。在Figma中构建可动态响应数据的智能组件库&#xff0c;已成为中高级UI/UX设计师突破传统设计边界的必备技能。本文将深入解析如…...

工控机驱动安全自查:5分钟用DriverView揪出可疑第三方驱动(附分析技巧)

工控机驱动安全自查&#xff1a;5分钟用DriverView揪出可疑第三方驱动&#xff08;附分析技巧&#xff09; 工业自动化设备的稳定运行离不开安全的驱动环境。想象一下&#xff0c;当你负责的生产线突然出现不明原因的停机&#xff0c;经过层层排查&#xff0c;最终发现是一个来…...