300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > kotlin的 if when for while语句

kotlin的 if when for while语句

时间:2021-11-22 02:02:15

相关推荐

kotlin的 if when for while语句

简介

kotlinJava一样,都有自己的流程控制语句,比如分支语句、循环语句和跳转语句等,而且两者区别不是很大,kotlin相对java的流程控制语句,使用更灵活,功能更强大

if

if-else语句,代表如果满足条件就执行if的内容-否则就执行else内容,是最基本的条件控制(else可省略)

Java

Java中if-else语句只能作为普通语句使用,也必须在方法里使用

public String ifTest(int position) {if (position == 0) {return "ok";} else {return "no";}}

Kotlin

Kotlin中if-else语句基本用法和java一样,可作为普通语句使用

Kotlin中if-else语句,还可以做为表达式,也不用写在函数式里面

//作为传统语句使用基本用法fun ifTest(position: Int): String {if (position == 0) {return "ok"} else {return "no"}}

//简写用法fun ifTest(position: Int): String {return if (position == 0) {"ok"} else {"no"}}

//作为表达式使用var position = 10var name = if (position == 0) "ok" else "no"

可以很方便的封装三目运算符

//三目运算函数selectfun <T> select(isTrue: Boolean,params1: () -> T,params2: () -> T) = if (isTrue) params1() else params2()

//使用var name =select(position==0, {"ok" }, {"no"})

when

Kotlinwhen语句相当于Javaswitch,只不过相对更加的强大,灵活性更好。

Java

Java的switch只能作为传统语句使用,对所有的分支进行检查到有一个满足条件就可控制跳出

private String ifTest(int position) {String name ;switch (position) {case 0:name = "ok";break;case 1:name = "yes";break;default:name = "no";}return name;}

kotlin

kotlin的when可以做传统语句使用

kotlin的when可以做表达式使用

kotlin的when中不需要switch中的case-break·语句直接用->表示一条分支

kotlin的when中每个分支中->后的执行语句大于一条,需要用{}包裹

kotlin的when中多个分支中执行相同语句,用,隔开

//传统用法fun ifTest(position: Int): String {when (position) {0 -> return "ok"1,2 -> return "yes"else -> return "no"}}

//表达式简化用法private fun ifTest(position: Int): String {return when (position) {0 -> "ok"1, 2 -> "yes"else -> "no"}}

// 表达式可以不用写在函数内部var name=when (position) {0 -> "ok"1, 2 -> "yes"else -> "no"}

for

Java

Java中循环有普通循环和增强循环

//普通循环int name;for(int i=0;i<100;I++){if(i==0){name="ok";}else {name ="no";}}

//增强循环List<String> list =new ArrayList<>();list.add("ok");list.add("yes");list.add("no");for(String name:list){Log.d("list",name)}

Kotlin

Kotlin中循环通过任何提供的迭代器进行迭代或者使用高级函数

Kotlin中for循环不能作为表达式

//迭代器循环var list =arrayOf("ok", "yes", "no") for (item in list){print(item)}

//迭代角标循环,indices为下标var list =arrayOf("ok", "yes", "no") for (i in list.indices){print(array[i])}

//forEach函数,it即为itemvar list =arrayOf("ok", "yes", "no") list.forEach{print(it)}

while ,do ..while

while循环开始时,先判断()值,如果满足条件,进入循环体,再判断…,直到不满足条件,将跳出循环。

do..while循环开始时,先进入循环提一次,再判断()值,如果满足条件,进入循环,再判断…,直到不满足条件,将跳出循环。

Java中的while,do while和 Kotlin 中差不多

Kotlin中while,do while循环不能作为表达式

//kotlin中whilevar i =0while (i<=10){println(i)i++}

//kotlin中do whilevar i=10//do...while循环输出到0do {println(i)i - -}while (i>0)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。