Java switch-case语句

Java switch-case语句,当我们有多个选项(或选项)时,会使用 Switch case语句,我们可能需要为每个选项执行不同的任务。

Switch case语句的语法如下所示:

switch (variable or an integer expression)
{
     case constant:
     //Java code
     ;
     case constant:
     //Java code
     ;
     default:
     //Java code
     ;
}

Switch Case语句主要用于break语句,即使它是可选的。我们将首先看到一个没有break语句的例子,然后我们将讨论switch casebreak

一个简单的switch case

public class SwitchCaseExample1 {

   public static void main(String args[]){
     int num=2;
     switch(num+2)
     {
        case 1:
      System.out.println("Case1: Value is: "+num);
    case 2:
      System.out.println("Case2: Value is: "+num);
    case 3:
      System.out.println("Case3: Value is: "+num);
        default:
      System.out.println("Default: Value is: "+num);
      }
   }
}

输出:

Default: Value is: 2

说明:switch中我给出了一个表达式,你也可以给变量。我给了num + 2,其中num值是 2,并且在添加之后表达式得到 4.由于没有用值 4 定义的情况,所以执行了默认情况。这就是为什么我们应该在switch case中使用default,这样如果没有匹配条件,则执行默认块。

switch case流程图

首先,求值在switch括号中提供的变量,值或表达式,然后根据结果,执行与结果匹配的相应case块。

switch case 流程图

switch-case中的break语句

在 switch case 中,break 语句是可选的,但几乎每次处理 switch case 时都会使用它。在我们讨论 break 语句之前,让我们看看下面的例子,我没有使用 break 语句:

public class SwitchCaseExample2 {

   public static void main(String args[]){
      int i=2;
      switch(i)
      {
     case 1:
       System.out.println("Case1 ");
     case 2:
       System.out.println("Case2 ");
     case 3:
       System.out.println("Case3 ");
     case 4:
           System.out.println("Case4 ");
     default:
       System.out.println("Default ");
      }
   }
}

输出:

Case2 
Case3 
Case4 
Default 

在上面的程序中,我们已经将整数值 2 传递给了switch,所以控制切换到了case 2,但是在case 2之后我们没有使用break语句导致流程传递到后续case直到结束。这个问题的解决方案是break语句

当您希望程序流从switch主体中出来时,使用Break语句。每当在switch主体中遇到break语句时,执行流程将直接从switch中出来,忽略其余的情况。

让我们采用相同的例子,但这次使用break语句。

break语句的示例

public class SwitchCaseExample2 {

   public static void main(String args[]){
      int i=2;
      switch(i)
      {
     case 1:
       System.out.println("Case1 ");
       break;
     case 2:
       System.out.println("Case2 ");
       break;
     case 3:
       System.out.println("Case3 ");
       break;
     case 4:
           System.out.println("Case4 ");
           break;
     default:
       System.out.println("Default ");
      }
   }
}

输出:

Case2

现在您可以看到只有case 2已被执行,其余case被忽略。

为什么我默认后不使用break语句?

控制流本身会在默认情况下从switch中出来,所以我没有使用它,但是如果您仍然想在默认情况下使用break,那么您可以使用它,这样做没有坏处。

有关switch-case的几点意见

1)case并不总是需要顺序 1,2,3 等。它可以在case关键字后面包含任何整数值。此外,case不需要始终按升序排列,您可以根据要求以任何顺序指定它们。

2)您也可以在switch case中使用字符。例如:

public class SwitchCaseExample2 {

   public static void main(String args[]){
      char ch='b';
      switch(ch)
      {
     case 'd':
       System.out.println("Case1 ");
       break;
     case 'b':
       System.out.println("Case2 ");
       break;
     case 'x':
       System.out.println("Case3 ");
       break;
     case 'y':
           System.out.println("Case4 ");
           break;
     default:
       System.out.println("Default ");
      }
   }
}

3)switch内部给出的表达式应该是一个常量值,否则它将无效。

例如:

switch的有效表达式:

switch(1+2+23)
switch(1*2+3%4)

无效的switch表达式:

switch(ab+cd)
switch(a+b+c)

4)允许嵌套switch语句,这意味着你可以在另一个switch内部使用switch语句。但是应该避免使用嵌套的switch语句,因为它会使程序更复杂,更不易读。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程