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

switch使用需要注意的几点

时间:2014-07-21 15:16:16      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:swtch   case   swtch default   

switch的语法格式:

		switch (整型或者字符串类型的变量) {
		case 变量可能值1:
			分支一;
			break;
		case 变量可能值2:
			break;
		default:
			最后分支;
			break;
		}

1、switch 后面括号里的参数类型

在1.7版本之前,这个参数必须是int类型或者可以隐式转换为int类型的变量(例如byte、short、char)以及他们的包装类(Integer等)。

在1.7版本之后可以支持string类型的变量。

常见面试题会问到string和long是否可以作为switch的开关参数。long是不可以转换为int类型的,所以long类型的变量不可以。

2、case之后可以是一个直接的常量值,例如1、2、3、4……也可以是一个使用常量计算式如2+2等,但不能是变量或者带有变量的表达式,如2*a

另外,在case与常量值之后要有一个:,注意不要疏忽了

3、break的作用

break是跳出当前swtch的{},break可以使代码执行完switch的一个分支后结束switch。

如果case后面的分支代码不加break,那么程序执行完该分支后会继续执行下一分支内的代码直到遇见break或者switch执行完。

例如:

public class SwitchDemo {
	public static void main(String[] args) {
		int i=3;
		
		switch (i) {
		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;
		default:
			System.out.println("今天是星期日");
			break;
		}
	}
}

执行后输出的肯定是“今天是星期三”,但是我们将分支3中的break注释掉之后就会输出:

今天是星期三
今天是星期四

当我们将所有的break注释掉之后会输出:

今天是星期三
今天是星期四
今天是星期五
今天是星期六
今天是星期日

4、default是可选的,就是当所有的分支都不匹配的时候,程序会执行default内的代码,如果没有,那就不执行呗。

switch使用需要注意的几点

标签:swtch   case   swtch default   

原文地址:http://blog.csdn.net/caohaicheng/article/details/38014967

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