switch 语句 总结笔记

1.switch 语句

语法:

switch(expression)
{
case value1 : statement1;
break;
case value2 : statement2;
break;
case value3 : statement3;
break;
default: statement4;
}

注意:

  • expression必须是byte、short、int、char类型的,value必须与expression类型兼容的一个常量,而且不能重复。
  • 一定不要望了每个判断后添加break,否则计算机回默认执行为真后面所有的statement;
  • default语句可以出现在任意位置;statement、break、default都可以不写。

2.switch无break

int a=2;
switch(a)
{
case 1 :System.out.println(1);
case 2 : System.out.println(2);
case 3 :System.out.println(3);
break;
default:System.out.println(4);
}

运行结果:

2
3

代码解析:case 2 语句后没有break,程序继续向下执行,遇到case 3 语句后的break结束switch语句,故default语句不会执行。

4.case后无statement语句

public class sd {
	public static void main(String[] args) {
		int month=2;
		switch(month)
		{
		case 12 :
		case 1 : 
		case 2 :
			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("输入错误");		
		}
	}
}

5.default 不在末尾

public class A {
	public static void main(String[] args) {
		int a=2;
		switch(a)
		{
		default: System.out.println("no");
		case 0: System.out.println(0);
		case 1: System.out.println(1);
		}
	}

}

运行结果:

no
0
1
public class A {
	public static void main(String[] args) {
		int a=0;
		switch(a)
		{
		default: System.out.println("no");
		case 0: System.out.println(0);
		case 1: System.out.println(1);
		}
	}

}

运行结果:

0
1

switch 语句的执行逻辑:先找experssion对应的value值,如果存在执行对应语句向下执行直到遇到break;如果不存在则执行default语句再向下执行,遇到break停止。

posted @ 2020-02-24 22:28  惟一2020  阅读(547)  评论(0)    收藏  举报