/*

  switch语句

    

switch(表达式){

    case 值1:

   语句体1;

break;

case 值2:

   语句体2;

break;

..

..

default:

   语句体n+1;

break;

}

B:switch语句的格式解释

(1):switch表示这是switch语句

表达式的取值:byte,short,int,char

JDK5以后可以是枚举(什么是枚举,以后再讲)

JDK7以后可以是String

(2):case后面跟的是要和表达式进行比较的值

(3):语句体部分可以是一条或多条语句

(4):break表示中断,结束的意思,可以结束switch语句

(5):default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似

C:面试题

byte可以作为switch的表达式吗?  可以

long可以作为switch的表达式吗?  不可以

String可以作为switch的表达式吗? 可以,在JDK7以后

D:执行流程:

  先计算表达式的值:

     跟case里面的值进行匹配

   如果成功 就执行匹配成功那个值下面语句,遇到break跳出,否则执行default控制的语句

A:整数(两个数的加减乘数)

  有两个整数 

     键盘录入获取两个整数 

   有一句话 让你做选择 

 1:执行两个数的加法

 2:执行两个数的减法

 3:执行两个数的乘法

 4:执行两个数的除法

*/

//导包

import java.util.Scanner;class SwitchDemo{public static void main(String[] args) {//创建对象Scanner sc = new Scanner(System.in);System.out.println("请录入第一个整数!");int x = sc.nextInt();System.out.println("请录入第二个整数!");int y = sc.nextInt();        System.out.println("请选择您要做的操作:!");System.out.println("1:加法  2:减法 3:乘法 4:除法");        int choose = sc.nextInt();switch(choose){     case 1:System.out.println("两数之和是:"+(x+y)); break; case 2:System.out.println("两数之差是:"+(x-y)); break; case 3:System.out.println("两数之积是:"+(x*y)); break; case 4:System.out.println("两数之商是:"+(x/y)); break; default:System.out.println("暂时还没支持,以后给您支持!!"); }}}

/*

Switch语句注意事项

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

b:default可以省略吗?

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

c:break可以省略吗?   程序运行遇到break做跳出,没有遇到break往下执行,直到遇到break或者程序执行完

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

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

最终我们建议不要省略

d:default一定要在最后吗?

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

因为程序执行流程 是先做case的判断 case所有的值不匹配才去执行default中的语句

e:switch语句的结束条件

a:遇到break就结束了

b:执行到末尾就结束了

*/

//导包

import java.util.Scanner;class SwitchNoticeDemo{public static void main(String[] args) {//创建对象Scanner sc = new Scanner(System.in);System.out.println("请录入第一个整数!");int x = sc.nextInt();System.out.println("请录入第二个整数!");int y = sc.nextInt();        System.out.println("请选择您要做的操作:!");System.out.println("1:加法  2:减法 3:乘法 4:除法");        int choose = sc.nextInt();        //int a = 2;switch(choose){     case 1:System.out.println("两数之和是:"+(x+y)); break;/*  case a:// 需要常量表达式System.out.println("两数之差是:"+(x-y)); break;  case 2://case 标签重复System.out.println("两数之jkhjkl是:"+(x-y)); break;   */ case 2:System.out.println("两数之差是:"+(x-y)); break;       case 3:System.out.println("两数之积是:"+(x*y)); break; case 4:System.out.println("两数之商是:"+(x/y)); break;default:System.out.println("暂时还没支持,以后给您支持!!");  }}}