java when循环_Kotlin基础 --- 循环和when 的使用

本文详细介绍Kotlin中when语句的高级用法及其与Java中switch的区别,并深入探讨Kotlin循环语句的多种实现方式,包括for循环的灵活运用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇文章有了开篇的基础中的基础 从这篇文章开始 继续基础😁

1、在kotlin 当中,when 代替Java中的switch语句 但是更强大 更好用

主要体现在:

1)when子式可以是常量、变量、返回数值的表达式、返回Boolean值的表达式

2)可以代替if...else if

简单举个栗子🌰

/**

* when 的使用

*/

fun kotlinForWhen(x: Int) {

when (x) {

//常量

2 -> Log.e("Xiaoya", "this is 2")

if (x > 0) 1 else -2 -> Log.e("Xiaoya", "this is x>0")

in 1..9 -> Log.e("Xiaoya", "范围是1---9")

!in 1..9 -> Log.e("Xiaoya", "范围不是1---9")

is Int -> Log.e("Xiaoya", "类型判断")

}

}

/**

* when的使用 代替if .. else if..

*/

fun whenForIf(y: Int) {

when {

y > 3 && y < 10 -> Log.e("Xiaoya", "大于3 小于 10 ")

y < 3 -> Log.e("Xiaoya", " 小于 3 ")

else -> Log.e("Xiaoya", "else ")

}

}

2.循环 的使用:while 和 do...while 同Java并无区别,for则有很大改变并多出了几个变种,这里重点看下for 循环的变种:

val list = arrayListOf("aa", "bb", "cc", "dd", "ee", "ff", "gg")

for (i in list.indices) { // 递增 for(int i=0;i

Log.e("Xiaoya", " 递增 1 " + list[i])

}

for (i in 2..list.size - 2) {// 递增 for(int i=2;i

Log.e("Xiaoya", "递增 2 " + list[i])

}

for (i in list.size - 1 downTo 0) {//递减 for(int i=list.size()-1;i>=0;i--)

Log.e("Xiaoya", "递减 -- " + list[i])

}

for (item in list) {//操作列表内的对象;

Log.e("Xiaoya ----1", item)

}

for ((i, item) in list.withIndex()) {//加强版;

Log.e("Xiaoya-----21", item)

Log.e("Xiaoya------22", list[i])

}

//变种版;

list.forEach() {

Log.e("Xiaoya--------33", it)

}

//todo: 这个主要什么情景下用到 ????

list.forEachIndexed { i, s ->

Log.e("Xiaoya-------44", list[i])

Log.e("Xiaoya--------55", s)

}

//todo: 这种方式很陌生

list.forEachIndexed(object : (Int, String) -> Unit {

override fun invoke(i: Int, s: String) {

Log.e("Xiaoya-------66", list[i])

Log.e("Xiaoya-------77", list[i])

}

})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值