当前位置:网站首页>Android development with Kotlin programming language II Conditional control
Android development with Kotlin programming language II Conditional control
2022-08-05 10:58:00 【AaVictory.】
条件语句
1、IF 表达式
// 传统用法
var max = a
if (a < b) max = b
// 使用 else
var max: Int
if (a > b) {
max = a
} else {
max = b
}
// 作为表达式
val max = if (a > b) a else b
- 我们也可以把 IF 表达式的结果赋值给一个变量.
val max = if (a > b) {
print("Choose a")
a
} else {
print("Choose b")
b
}
This also shows that I don't need likeJavaThat kind has a ternary operator,Because we can use it for simple implementation:
val c = if (condition) a else b
实例说明 (Android studio中)
The following code can be noticed,kotlin结尾不需要加分号(;)
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
test()//调用测试方法
}
fun test(){
var x = 10
if(x>10){
println("x 大于 10")
}else if(x==10){
println("x 等于 10")
}else{
println("x 小于 10")
}
var a = 1
var b = 2
//如果a>b 返回a 否则返回b
val c = if (a>=b) a else b
println("c 的值为 $c")
}
}
- 控制台输出结果如下:
使用区间
使用 in 运算符来检测某个数字是否在指定区间内,区间格式为 x…y :
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
test()
}
fun test() {
val x = 5
if (x in 1..8) {
println("x 在区间内")
}
}
}
- 输出结果如下:
x 在区间内
When 表达式
when 将它的参数和所有的分支条件顺序比较,直到某个分支满足条件.
when 既可以被当做表达式使用也可以被当做语句使用.如果它被当做表达式,符合条件的分支的值就是整个表达式的值,如果当做语句使用, 则忽略个别分支的值.
when 类似其他语言的 switch 操作符.其最简单的形式如下
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
test()
}
fun test(){
val x = 5
when (x) {
1 ->
println("x == 1")
2 ->
println("x == 2")
else -> {
//注意这个块
println("x 不是 1 ,也不是 2")
}
}
}
}
- 输出结果如下:
x 不是 1 ,也不是 2
在 when 中,else 同 switch 的 default.如果其他分支都不满足条件将会求值 else 分支.
如果很多分支需要用相同的方式处理,则可以把多个分支条件放在一起,用逗号分隔:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
test()
}
fun test(){
val x = 5
when (x) {
1,5 ->
println("x == 1或者 x==5")
2 ->
println("x == 2")
else -> {
//注意这个块
println("x 不是 1 ,也不是 2")
}
}
}
}
- 输出结果如下:
x == 1或者 x==5
边栏推荐
- Opencv图像缩放和平移
- ECCV 2022 | 视听分割:全新任务,助力视听场景像素级精细化理解
- 如何选币与确定对应策略研究
- 2022杭电多校 第6场 1008.Shinobu Loves Segment Tree 规律题
- 提问题进不去。想问大家一个关于返回值的问题(图的遍历),求给小白解答啊
- The fuse: OAuth 2.0 four authorized login methods must read
- 012年通过修补_sss_提高扩散模型效率
- 【OpenCV】-仿射变换
- Android 开发用 Kotlin 编程语言一 基本数据类型
- This notebook of concurrent programming knowledge points strongly recommended by Ali will be a breakthrough for you to get an offer from a big factory
猜你喜欢
012_SSS_ Improving Diffusion Model Efficiency Through Patching
#yyds干货盘点#【愚公系列】2022年08月 Go教学课程 001-Go语言前提简介
FPGA:开发环境Vivado的使用
硅谷来信:快速行动,Facebook、Quora等成功的“神器”!
苹果Meta都在冲的Pancake技术,中国VR团队YVR竟抢先交出产品答卷
SQL外连接之交集、并集、差集查询
sqlserver编写通用脚本实现获取一年前日期的方法
深入理解 Istio 流量管理的超时时间设置
【深度学习】mmclassification mmcls 实战多标签分类任务教程,分类任务
365天挑战LeetCode1000题——Day 050 在二叉树中增加一行 二叉树
随机推荐
Create a Dapp, why choose Polkadot?
FPGA: Use of the development environment Vivado
【AGC】增长服务1-远程配置示例
012_SSS_ Improving Diffusion Model Efficiency Through Patching
STM32 entry development: write XPT2046 resistive touch screen driver (analog SPI)
lvgl 实现状态提示图标自动对齐补位显示
导火索:OAuth 2.0四种授权登录方式必读
如何修改管理工具client_encoding
How to choose coins and determine the corresponding strategy research
poj2287 Tian Ji -- The Horse Racing(2016xynu暑期集训检测 -----C题)
Opencv图像缩放和平移
PostgreSQL 2022 Report: Rising popularity, open source, reliability and scaling key
2022 Hangzhou Electric Power Multi-School Session 6 1008.Shinobu Loves Segment Tree Regular Questions
MySQL 中 auto_increment 自动插入主键值
记2022年七夕感慨
Guys, I am a novice. I use flinksql to write a simple count of user visits according to the document, but it ends after executing it once.
登录功能和退出功能(瑞吉外卖)
Chapter 5: Activiti process shunting judgment, judging to go to different task nodes
字节一面:TCP 和 UDP 可以使用同一个端口吗?
什么是 DevOps?看这一篇就够了!