【Kotlin】Kotlin笔记2-程序的逻辑控制(if,when,循环语句)

矫情吗;* 2022-11-16 02:47 267阅读 0赞

Kotlin笔记-程序的逻辑控制

2. 程序的逻辑控制

  • if条件语句

if

Example:

  1. fun largerNumber3(num1: Int, num2: Int): Int {
  2. var value = 0
  3. if (num1 > num2) {
  4. value = num1
  5. } else
  6. value = num2
  7. return value
  8. }

语法糖

  1. fun largerNumber4(num1: Int, num2: Int): Int {
  2. val value = if (num1 > num2) {
  3. num1
  4. } else {
  5. num2
  6. }
  7. return value
  8. }
  9. fun largerNumber5(num1: Int, num2: Int): Int {
  10. return if (num1 > num2)
  11. num1
  12. else
  13. num2
  14. }
  15. fun largerNumber6(num1: Int, num2: Int) = if (num1 > num2) {
  16. num1
  17. } else {
  18. num2
  19. }
  20. fun largerNumber7(num1: Int, num2: Int) = if (num1 > num2) num1 else num2

  • when条件语句

when

Example if:

  1. fun getScore(name: String) = if (name == "Tom") 86
  2. else if (name == "Jim") 77
  3. else if (name == "Jack") 95
  4. else if (name == "Lily") 100
  5. else 0

Example when:

  1. fun getScore1(name: String) = when (name) {
  2. "Tom" -> 86
  3. "Jim" -> 77
  4. "Jack" -> 95
  5. "Lily" -> 100
  6. else -> 0
  7. }

when允许传入任意类型参数,格式:

  1. 匹配值 -> { 执行逻辑 }

类型匹配

  1. fun checkNumber(num: Number) {
  2. when (num) {
  3. is Int -> println("number is Int")
  4. is Double -> println("number is Double")
  5. else -> println("number not support")
  6. }
  7. }

is = instanseof(Java)

不传参when

  1. fun getScore2(name: String)=when{
  2. name=="Tom"->86
  3. name=="Jim"->77
  4. name=="Jack"->95
  5. name=="Lily"->100
  6. else->0
  7. }

特殊场景 example:

  1. name.startsWith("Tom")->86
  2. name=="Jim"->77
  3. name=="Jack"->95
  4. name=="Lily"->100
  5. else->0
  6. }

  • 循环语句

while

for ->for-in

闭区间

  1. va range = 0..10 //[0,10]
  2. fun circulation(){
  3. for (i in 1..10){
  4. println(i)
  5. }
  6. }

左闭右开

until

  1. val range 0 until 10

步长

step

  1. fun circulation1(){
  2. //val range=0 until 10
  3. for (i in 0 until 10 step 2){
  4. println(i)
  5. }
  6. }

downTo

  1. fun circulation2(){
  2. for (i in 10 downTo 0){
  3. println(i)
  4. }
  5. }

q(≧▽≦q):Kotlin新特性

  1. for-in无法实现特殊场景,可以改用while

发表评论

表情:
评论列表 (有 0 条评论,267人围观)

还没有评论,来说两句吧...

相关阅读