Kotlin 的“when”語句 vs Java 中的“switch”


任何程式語言中的 switch-case 語句都允許程式設計師針對不同的值對它進行測試。它還提供了一個選項,在變數的值與給定值不匹配時執行某些操作。在本文中,我們將採用一個簡單的示例,演示如何在 Kotlin 中實現 switch-case 語句。

Kotlin 不提供編寫 switch-case 語句的任何選項。但是,Kotlin 提供了一個實現 when() 的選項,它的工作方式與其他程式語言中的 switch 完全相同。

示例 - 在 Java 中實現 switch-case

在此示例中,我們將在 Java 中實現 switch-case。

public class MyExample {
   public static void main(String[] args) {
      int number=10;
      switch(number){

         case 10: System.out.println("Input was 10");
         break;

         case 20: System.out.println("Input was 20");
         break;

         case 30: System.out.println("Input was 30");
         break;

         // Default case statement
         default:System.out.println("Input was not 10, 20 or 30");
      }
   }
}

輸出

它將產生以下輸出 −

Input was 10

示例 - 使用 when() 實現 switch-case

在此示例中,我們將生成一個隨機值,並將使用 when() 對變數執行不同的操作。

fun main(args: Array<String>) {

   // generating random value for our variable between (0 to 10).
   var randomVal=(0..10).random()

   println("Current value: " + randomVal)

   when (randomVal) {
      1 -> print("randomVal == 1")
      2 -> print("randomVal == 2")
      3 -> print("randomVal == 3")
      4 -> print("randomVal == 4")
      5 -> print("randomVal == 5")
      6 -> print("randomVal == 6")
      7 -> print("randomVal == 7")
      8 -> print("randomVal == 8")
      9 -> print("randomVal == 9")
      10 -> print("randomVal == 10")

      else -> { // Note the block
         print("x is neither 1 nor 2")
      }
   }
}

輸出

執行時,它將在 1 到 10 之間生成一個隨機值。

Current value: 7
randomVal == 7

更新日期: 01-Mar-2022

732 瀏覽量

開啟你的 職業

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.