20.switch选择结构

什么是switch选择结构?

switch(表达式){
  case 常量1:
    代码块1;
    break;
  case 常量2:
    代码块2;
  ......
  default:
    代码块n;
    break;
}

这里的switch、case、default、break都是java中的关键字

其中switch表示开关,这个开关就是switch后面小括号里面的值,小括号里要放一个整型变量或字符型变量。

case表示情况情形,case后面必须是一个整型或者字符型的常量表达式,通常是固定的字符、数字。例如8、'a'。case快可以有多个,顺序也是可以改变的,但是case后面的常量值都能相等。

default表示默认,后面要紧跟冒号,和case块的位置可以改变。一般放在句尾,或者省略。

break表示停止,跳出当前结构~

如果switch小括号中计算的值和哪个case后的常量相等,就执行这个case块的代码,遇到break时就跳出switch选择结构,执行switch选择结构之后的代码。

如果没有任何一个case后的常量跟小括号中的值相等,则执行switch末尾部分的default块中的代码。

现在我们还是解决上节课的那个问题,通过代码来详细了解。

import java.util.Scanner;


public class Main {
public static void main(String[]args){
System.out.println("请输入您的名次:(数字1.2.3.4等)");
Scanner input=new Scanner(System.in);
int mingCi=input.nextInt();
switch(mingCi){
case 1:
System.out.println("名次为第一名");
break;
case 2:
System.out.println("名次为第二名");
break;
case 3:
System.out.println("名次为第三名");
break;
default:
System.out.println("没有任何奖励");
}
}
}

可见,括号中的mingCi的值为输入值,与相应的case匹配后执行后面的代码~打印输出println,然后执行语句”break;“,用来跳出switch选择结构

switch让程序看起来更清新一些,他们完成的功能其实是完全一样的,但是,并非所有的多重if选择结构都可以使用switch选择结构代替。

通过观察,我们发现switch选择结构的条件只能是等值的判断,而且只能是整形或字符型的等值判断。

也就是说,switch选择结构只能判断一个整形变量是否等于某个整数值的情况,或者一个字符型变量是否等于某个字符的情况,并且每个case后面的值都不相同,

但是多重if选择结构既可以判断是否相等,又可以判断条件是区界(如200<=a<300)的情况。

而break的作用是跳出循环,如果我们省略break,那么程序就会完整执行整个程序,执行所有的选择结构代码。

所以,我们编写switch选择结构的时候不能忘记在每个case后面加一个"break;"

case和default后面都有一个冒号,否则编译不通过。



原文地址:https://www.cnblogs.com/qobin/p/2294110.html