(1)格式:

switch(表达式) {

case 1:

语句体1;

break;

case 2:

语句体2;

break;

default:

语句体n+1;

break;

}

 
 

格式解释说明:

switch:说明这是switch语句。

表达式:可以是byte,short,int,char

JDK5以后可以是枚举

JDK7以后可以是字符串

case:后面的值就是要和表达式进行比较的值

break:表示程序到这里中断,跳出switch语句

default:如果所有的情况都不匹配,就执行这里,相当于if语句中的else

switch语句的注意事项:

A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的

B:default可以省略吗?

可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。

特殊情况:

case就可以把值固定。

A,B,C,D

C:break可以省略吗?

可以省略,但是结果可能不是我们想要的。

会出现一个现象:case穿透。

最终我们建议不要省略

D:default一定要在最后吗?

不是,可以在任意位置。但是建议在最后。

E:switch语句的结束条件

a:遇到break就结束了

b:执行到末尾就结束了

 
 

 
 

Demo:

键盘录入一个数据,根据这个数据,我们输出对应的星期?

键盘录入1,对应输出星期一

键盘录入2,对应输出星期二

键盘录入7,对应输出星期日

 
 

分析:

1:键盘录入,用Scanner实现

2:判断我们既可以使用if语句,也可以使用我们要讲解的switch语句

 
 

注意:

A:遇到左大括号缩进一个tab的位置。

B:关联不是很大的语句间空行

  

import java.util.Scanner;

 
 

class SwitchDemo {

public static void main(String[] args) {

//创建键盘录入对象

Scanner sc = new Scanner(System.in);

 
 

//控制键盘录入数据

System.out.println(“请输入一个数据(1-7):”);

int week = sc.nextInt(); //3

 
 

//switch判断语句

switch(week) {

case 1:

System.out.println(“星期一“);

break;

case 2:

System.out.println(“星期二“);

break;

case 3:

System.out.println(“星期三“);

break;

case 4:

System.out.println(“星期四“);

break;

case 5:

System.out.println(“星期五“);

break;

case 6:

System.out.println(“星期六“);

break;

case 7:

System.out.println(“星期日“);

break;

default:

System.out.println(“你输入的数据有误“);

break;

}

}

}

Code:

模拟单项选择题。

 
 

分析:

A:出一个选择题,然后供你选择。

B:键盘录入选择的数据。

C:根据选择来给出你选择的结论。

  

 
 

import java.util.Scanner;

 
 

class SwitchTest2 {

public static void main(String[] args) {

//出一个选择题,然后供你选择。

//由于我们现在没有办法键盘录入得到一个\’A\’,\’B\’

//这样的东西,我就用6566这样的值替代

//将来我们获取到这样的值以后,强制转换为字符类型

System.out.println(“下面的几个人你最爱谁?”);

System.out.println(“65 林青霞“);

System.out.println(“66 张曼玉“);

System.out.println(“67 刘德华“);

System.out.println(“68 王力宏“);

 
 

//键盘录入选择的数据。

Scanner sc = new Scanner(System.in);

 
 

System.out.println(“请输入你的选择:“);

int choiceNumber = sc.nextInt();

 
 

//强制转换为字符类型

char choice = (char) choiceNumber;

 
 

switch(choice) {

case \’A\’:

System.out.println(“恭喜你,选择正确“);

break;

case \’B\’:

System.out.println(“不好意思,你选择有误“);

break;

case \’C\’:

System.out.println(“不好意思,你选择有误“);

break;

case \’D\’:

System.out.println(“不好意思,你选择有误“);

break;

default:

System.out.println(“没有该选项“);

break;

}

}

}

Code:

根据你键盘录入的字符串,判断是否有满足要求的,如果有就输出。

否则,提示有误。

String s = sc.nextLine();

 
 

import java.util.Scanner;

 
 

class SwitchTest3 {

public static void main(String[] args) {

//创建键盘录入对象

Scanner sc = new Scanner(System.in);

 
 

//录入数据

System.out.println(“请输入你要判断的字符串:“);

String s = sc.nextLine();

 
 

switch(s) {

case “hello”:

System.out.println(“你输入的是hello”);

break;

case “world”:

System.out.println(“你输入的是world”);

break;

case “java”:

System.out.println(“你输入的是java”);

break;

default:

System.out.println(“没有找到你输入的数据“);

//break;

}

}

}

Code:

switch语句实现键盘录入月份,输出对应的季节

 
 

分析:

A:键盘录入一个月份,用Scanner实现

B:switch语句实现即可

 
 

if语句和switch语句的区别?

if语句:

A:针对结果是boolean类型的判断

B:针对一个范围的判断

C:针对几个常量值的判断

 
 

switch语句:

针对几个常量值的判断

  

import java.util.Scanner;

 
 

class SwitchTest4 {

public static void main(String[] args) {

//创建键盘录入对象

Scanner sc = new Scanner(System.in);

 
 

//录入数据

System.out.println(“请输入月份(1-12)“);

int month = sc.nextInt();

 
 

/*

switch(month) {

case 1:

System.out.println(“冬季“);

break;

case 2:

System.out.println(“冬季“);

break;

case 3:

System.out.println(“春季“);

break;

case 4:

System.out.println(“春季“);

break;

case 5:

System.out.println(“春季“);

break;

case 6:

System.out.println(“夏季“);

break;

case 7:

System.out.println(“夏季“);

break;

case 8:

System.out.println(“夏季“);

break;

case 9:

System.out.println(“秋季“);

break;

case 10:

System.out.println(“秋季“);

break;

case 11:

System.out.println(“秋季“);

break;

case 12:

System.out.println(“冬季“);

break;

default:

System.out.println(“你输入的月份有误“);

}

*/

 
 

//这样写太麻烦了,我们使用一个我们不想使用的东西:case穿透

switch(month) {

case 1:

case 2:

case 12:

System.out.println(“冬季“);

break;

case 3:

case 4:

case 5:

System.out.println(“春季“);

break;

case 6:

case 7:

case 8:

System.out.println(“夏季“);

break;

case 9:

case 10:

case 11:

System.out.println(“秋季“);

break;

default:

System.out.println(“你输入的月份有误“);

}

}

}

 

版权声明:本文为YuTaiYin原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/YuTaiYin/p/6931578.html