码迷,mamicode.com
首页 > 其他好文 > 详细

04循环结构

时间:2015-08-01 23:26:02      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

1:switch语句(掌握)

(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

(2)面试题
  switch语句的表达式可以是byte吗?可以是long吗?可以是String吗?
    可以,不可以,JDK7以后可以

Demo.java

 1 /*
 2     switch语句格式:
 3         switch(表达式) {
 4             case 值1:
 5                 语句体1;
 6                 break;
 7             case 值2:
 8                 语句体2;
 9                 break;
10             ...
11             default:
12                 语句体n+1;
13                 break;
14         }
15         
16     格式的解释:
17         switch:表示这是switch选择结构
18         表达式:这个地方的取值是有限定的
19             byte,short,int,char
20             JDK5以后可以是枚举
21             JDK7以后可以是字符串
22         case:后面跟的是要和表达式进行比较的值
23         语句体:要执行的代码
24         break:表示中断,结束的意思,可以控制switch语句的结束。
25         default:当所有的值都和表达式不匹配的时候,就执行default控制的语句。其实它就相当于if语句的else。
26     
27     面试题:
28         byte可以作为switch的表达式吗?
29         long可以作为switch的表达式吗?
30         String可以作为switch的表达式吗?
31         
32     案例:
33         键盘录入一个数据,根据这个数据,我们输出对应的星期?
34             键盘录入1,对应输出星期一
35             键盘录入2,对应输出星期二
36             ...
37             键盘录入7,对应输出星期日
38             
39     分析:
40         1:键盘录入,用Scanner实现
41         2:判断我们既可以使用if语句,也可以使用我们要讲解的switch语句
42         
43     注意:
44         A:遇到左大括号缩进一个tab的位置。
45         B:关联不是很大的语句间空行
46 */
47 import java.util.Scanner;
48 
49 class SwitchDemo {
50     public static void main(String[] args) {
51         //创建键盘录入对象
52         Scanner sc = new Scanner(System.in);
53         
54         //控制键盘录入数据
55         System.out.println("请输入一个数据(1-7):");
56         int week = sc.nextInt(); //3
57         
58         //switch判断语句
59         switch(week) {
60             case 1:
61                 System.out.println("星期一");
62                 break;
63             case 2:
64                 System.out.println("星期二");
65                 break;
66             case 3:
67                 System.out.println("星期三");
68                 break;
69             case 4:
70                 System.out.println("星期四");
71                 break;
72             case 5:
73                 System.out.println("星期五");
74                 break;
75             case 6:
76                 System.out.println("星期六");
77                 break;
78             case 7:
79                 System.out.println("星期日");
80                 break;
81             default:
82                 System.out.println("你输入的数据有误");
83                 break;
84         }
85     }
86 }

(3)执行流程:
  A:首先计算表达式的值
  B:和每一个case进行匹配,如果有就执行对应的语句体,看到break就结束。
  C:如果没有匹配,就执行default的语句体n+1。


(4)注意事项:
A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
B:default可以省略吗?
可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
特殊情况:
case就可以把值固定。
A,B,C,D
C:break可以省略吗?
可以省略,但是结果可能不是我们想要的。
会出现一个现象:case穿透。
最终我们建议不要省略
D:default一定要在最后吗?
不是,可以在任意位置。但是建议在最后。
E:switch语句的结束条件
a:遇到break就结束了
b:执行到末尾就结束了

Demo1.java

 1 /*
 2     switch语句的注意事项:
 3         A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
 4         B:default可以省略吗?
 5             可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
 6             特殊情况:
 7                 case就可以把值固定。
 8                 A,B,C,D
 9         C:break可以省略吗?
10             可以省略,但是结果可能不是我们想要的。
11             会出现一个现象:case穿透。
12             最终我们建议不要省略
13         D:default一定要在最后吗?
14             不是,可以在任意位置。但是建议在最后。
15         E:switch语句的结束条件
16             a:遇到break就结束了
17             b:执行到末尾就结束了
18 */
19 import java.util.Scanner;
20 
21 class SwitchDemo2 {
22     public static void main(String[] args) {
23         //创建键盘录入对象
24         Scanner sc = new Scanner(System.in);
25         
26         //控制键盘录入数据
27         System.out.println("请输入一个数据(1-7):");
28         int week = sc.nextInt(); //3
29         
30         //定义常量
31         //int number = 3;
32         //然后把case后面的值改为number,就会报错
33         
34         //switch判断语句
35         switch(week) {
36             case 1:
37                 System.out.println("星期一");
38                 break;
39             case 2:
40                 System.out.println("星期二");
41                 break;
42             case 3:
43                 System.out.println("星期三");
44                 break;
45             case 4:
46                 System.out.println("星期四");
47                 break;
48             case 5:
49                 System.out.println("星期五");
50                 break;
51             case 6:
52                 System.out.println("星期六");
53                 break;
54             case 7:
55                 System.out.println("星期日");
56                 break;
57             default:
58                 System.out.println("你输入的数据有误");
59                 //break;
60         }
61     }
62 }

 

04循环结构

标签:

原文地址:http://www.cnblogs.com/super90/p/4694770.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!