java选择结构:switch-case结构

更新时间 : 2022年11月18日19:27:59

switch-case结构

switch-case 结构举例:

package cn.xtnotes.u3;
public class T5 {
	public static void main(String[] args) {
		int a=2;
		switch (a) {
		case 1:
			System.out.println("常量1");
			break;
		case 2:
			System.out.println("常量2");
			break;
		default	:
			System.out.println("不是1也不是2");
			break;
		}
	}
}

注意事项:

1.case 后面只能跟常量

2.case后面不能重复判断

3.switch后的括号中只能是 byte,short,int,char,String,枚举

4.Switch中的default可以省略

5.switch中的default的顺序可以改变,但是执行逻辑不能改变,先看所有的case,如果都不满足再看default

6.break可以省略,其作用是结束switch,如果省略了就会发送 case穿透

case穿透

当没有break之后,不管是default还是case判断,不管下面的case有没有判读过,都会执行其中的语句!

以下几个案例:

int a = 10;
int b = 0;
switch (a){
	case 10:
		b++;
	case 20:
		b++;
		break;
	default:
		b++;
}
System.out.println(b);  //2 
=========================================
int a = 10;
int b = 0;
switch (a){
	case 10:
		b++;
	default:  // 穿透是 直接往下穿  根本就不管你判断的这一程 不算你是default 还是case判断。  
		b++;
		break;
	case 20:
		b++;
}
System.out.println(b);   //2
=========================================
int a = 10;
int b = 0;
switch (a){
	case 30:  
		b++;
	default:  
		b++;
		break;
	case 20: 
		b++;
}
System.out.println(b);  //1
=========================================
int a = 10;
int b = 0;
switch (a){
	case 30: 
		b++;
	default: 
		b++;
	case 20:  // 穿透是 直接往下穿  根本不看判断层 也不看你这个判断层有没有判断过。 
		b++;
}
System.out.println(b); //2
=========================================
int a = 10;
int b = 0;
switch (a){
	case 30: 
		b++;
	default: 
		b++;
	case 10:  
		b++;
}
System.out.println(b);  //1

 

阅读剩余
THE END