java switch语句使用注意的四大细节
很多朋友在使用java switch语句时,可能没有注意到一些细节,本文将详细介绍使用java switch语句四大要点,需要的朋友可以参考下。
switch语句的格式如下:(它的功能是选出一段代码执行)
|
但是要注意几点如下:
1.switch中case的参数类型只能是int类型,但是放byte,short,char类型的也可以是因为byte,short,shar可以自动提升(自动类型转换)为int,所以归根到底还是int类型,这里说明一下java有8中数据类型:byte、short、char、int、long、float、double,还有一种boolean,其中boolean不能跟任何类型数据相互转化,小的类型可以自动转化为大的数据类型,大的数据类型转化为小的必须要强制转换。
2.case后可以是表达式。
3.break是用来跳出整个switch语句的,如果没有,将执行下一分支。
4.好的程序员会利用好default。
一、Java switch的使用
二、switch用String作为条件
三、switch语句参数
四、for定义参数
一、java switch的基本使用:
Java代码
1 /* int参数的switch */
2 int x = new
3 System.out.println("x=" + x);
4 switch
5 case
6 System.out.println("随机0");break;
7 case
8 System.out.println("随机1");break;
9 case
10 System.out.println("随机2");break;
11 }
12
13 /* 16进制int参数的switch */
14 int
15 System.out.println("x2=" + x2);
16 switch
17 case
18 System.out.println("随机0");break;
19 case
20 System.out.println("随机1");break;
21 case
22 System.out.println("随机49");break;
23 }
24
25 /* int参数的switch */
26 char
27 System.out.println("y=" + y);
28 switch
29 case
30 System.out.println("随机a");break;
31 case
32 System.out.println("随机b");break;
33 case
34 System.out.println("随机c");break;
35 }
二、java中的switch用String作为条件
在开发java程序的过程中,我们遇到了条件判断首选就是switch,但是遗憾的是,我们java中的switch功能不如C#中的强大,她不支持字符串作为条件。这时我们该怎么办呢?这种种解决方案比较容易理解。
先看代码:
36 public enum Day
37 {
38 SUNDAY, MONDAY, TUESDAY, WEDNESDAY,THURSDAY, FRIDAY, SATURDAY,NOVALUE;
39 public static Day toDay(String str)
40 {
41 try {
42 return valueOf(str);
43 }catch (Exception ex) {
44 return NOVALUE;
45 }
46 }
47 }
48 main:方法体测试
49 Scanner s=new Scanner(System.in);
50 String day=s.next();//输入的字符串
51 switch(Day.toDay(day.toUpperCase())){
52 case SUNDAY:
53 System.out.println("星期天");
54 break;
55 case MONDAY:
56 System.out.println("星期一");
57 break;
58 case TUESDAY:
59 System.out.println("星期二");
60 break;
61 }
看看这个代码,其实是通过定义枚举来实现的。将字符串作为枚举,然后通过toDay方法返回的是一个int的值。这样就可以让switch接受String的条件了。就这么简单!
三、switch语句参数
62 float z=2;
switch(z){
//,不能是z, Cannot switch on a value of type float. Only convertible int values or enum constants are permitted
//也就是说,只有当该数据类型可以自动转换为int型时,才可以作为switch的语句,
//所以该类型表示的范围应该比int的小,short和byte都可以。
case 1: System.out.println(1);break;
case 2: System.out.println(2);break;
case 3: System.out.println(3);break;
}
四、for定义参数
63 /*
*int x =2; int y=3;
这里声明变量的方式" int a=0, b=0;"
如果写成" int a=0, int b=0;"是错误的, 因为如果声明为这种方式,则他们是两个语句,
要用分号隔开,但是for语句中分号只能有两个。所以使用"int a=0,b=0"这种方式好使
*/64 for(int a=0, b=0; a<2; b=++a, System.out.println("b="+b)){
System.out.println("a="+a); 65 }
66
标签:case,27,java,int,System,break,switch,out
From: https://blog.51cto.com/u_11797608/6404722