Kotlin中的选择结构语句
在Kotlin中,选择结构语句有多种形式,包括条件分支、三元表达式、if-else if-else语句、when语句等。下面将逐个说明每种形式的使用。
- 条件分支:
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的值。
- 三元表达式:
max = if (a > b) a else b
三元表达式是一种简洁的条件判断语句,在Kotlin中使用if-else语句实现。上述代码中,如果a大于b,则将a赋值给max,否则将b赋值给max。
- 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("这个人的年龄阶段为童年")
}
上述代码中,根据不同的条件判断该人的年龄阶段,并打印相应的结果。
- when语句:
var week: Int = 3when (week) {1 -> println("星期一")2 -> println("星期二")3 -> println("星期三")4 -> println("星期四")5 -> println("星期五")6 -> println("星期六")7 -> println("星期日")
}
上述代码中,根据变量week的值,使用when语句判断具体是星期几,并打印对应的结果。
- 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分支。
- 使用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-else
、when
表达式和三元操作符,我们可以根据不同的场景选择适合的选择结构语句来实现代码逻辑的控制。
相关文章:
Kotlin中的选择结构语句
在Kotlin中,选择结构语句有多种形式,包括条件分支、三元表达式、if-else if-else语句、when语句等。下面将逐个说明每种形式的使用。 条件分支: var max: Int 0 var a: Int 5 var b: Int 6if (a > b) {max a } else {max b }printl…...

【AIFEM案例操作】压力容器强度分析
AIFEM是由天洑自主研发的一款通用的智能结构仿真软件,助力用户解决固体结构相关的静力学、动力学、振动、热力学等实际工程问题,软件提供高效的前后处理工具和高精度的有限元求解器,帮助用户快速、深入地评估结构的力学性能,加速产…...
Hadoop3教程(十八):MapReduce之MapJoin案例分析
文章目录 (118)MapJoin案例需求分析ReduceJoin的问题如何解决ReduceJoin的问题如何将一个文件主动缓存到集群的内存里 (119)MapJoin案例代码实现参考文献 (118)MapJoin案例需求分析 ReduceJoin的问题 在R…...

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

连锁药店的自有品牌之争:老百姓大药房能否突围?
文丨新熔财经 作者丨楷楷 近年来,随着医保谈判药品的“双通道”(即消费者可在有资质的药店买到新进医保的创新药),以及“门诊统筹”将药店纳入医保报销等医改政策出台,药企开始重新重视起零售药店渠道,很…...

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

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

探索Java NIO:究竟在哪些领域能大显身手?揭秘原理、应用场景与官方示例代码
一、NIO简介 Java NIO(New IO)是Java SE 1.4引入的一个新的IO API,它提供了比传统IO更高效、更灵活的IO操作。与传统IO相比,Java NIO的优势在于它支持非阻塞IO和选择器(Selector)等特性,能够更…...

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

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

ES|QL:Elasticsearch的 新一代查询语言
作者:李捷 “学会选择很难。学会正确选择更难。而在一个充满无限可能的世界里学会正确选择则更难,也许是太难了。” 巴里-施瓦茨(Barry Schwartz)在《选择的悖论--多就是少》(The Paradox of Choice -More is Less&…...

C语言实现句子中的单词颠倒排序
一、运行结果 二、源代码 # define _CRT_SECURE_NO_WARNINGS # include <stdio.h> # include <assert.h>//实现逆转函数; void reverse(char* left, char* right) {//断言left和right都不能为空;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. 锁概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传…...
让iPhone用电脑的网络上网
让iPhone用电脑的网络上网,可以按照以下步骤操作: 在iPhone上找到并点击“设置”选项,进入“蜂窝移动网络”。打开“个人热点”选项。此时下方的弹出对话框会显示“仅USB”。用数据线将你的iPhone与电脑相连,并在电脑上打开“控制…...

ThreeJS-3D教学十-有宽度的line
webgl中线是没有宽度的,现实的应用中一般做法都是将线拓宽成面来绘制。默认threejs的线宽是无法调节的,需要用有厚度的线 THREE.Line2。 先看效果图: 看下代码: <!DOCTYPE html> <html lang"en"> <he…...

安装Elasticsearch步骤(包含遇到的问题及解决方案)
注:笔者是在centos云服务器环境下安装的Elasticsearch 目录 1.安装前准备 2.下载Elasticsearch 3.启动Elasticsearch 非常容易出问题 第一次运行时,可能出现如下错误: 一、内存不足原因启动失败 二、使用root用户启动问题 三、启动ES自…...
网络编程面试笔试真题
网络编程笔试面试真题 1、关于Linux系统中多线程的信号处理,说法中不正确的是? A:在线程环境霞,产生的信号是传递给整个进程的 B:一般情况下,信号会随机给进程的一个线程 C:对某个信号处理函数…...

MySQL官方文档如何查看,MySQL中文文档
这里写自定义目录标题 MySQL官方文档如何查看MySQL中文文档 MySQL官方文档如何查看 MySQL官网地址:https://dev.mysql.com/doc/ 比如这里我要找InnoDB架构 MySQL中文文档 MySQL 5.1中文文档地址:https://www.mysqlzh.com/...
第七章:最新版零基础学习 PYTHON 教程—Python 列表(第四节 -如何在 Python 中查找列表的长度)
列表是 Python 日常编程不可或缺的一部分,所有 Python 用户都必须学习,了解其实用程序和操作是必不可少的,而且总是有好处的。因此,本文讨论了找到第一个这样的实用程序。使用Python 的列表中的元素。 目录 在 Python 中查找列表的长度...

XPS虽没流行,但还在使用!在Windows 10中打开XPS文件的最佳方法
当Windows Vista发布时,微软推出了XPS格式,这是PDF的替代品。XPS文件格式并不是什么新鲜事,但从未获得过多大的吸引力。 因此,XPS(XML Paper Specification)文件是微软对Adobe PDF文件的竞争对手。尽管XPS…...

测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...

CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...