Switch case 语句的详细解释以及break的几种情况 以及示例演示

时间:2025-02-19 11:05:51
public class TestSwitchCase { /* * -->short-->int-->long-->float-->double 自动转换 * ()变量类型只能是int、short、char、byte和enum类型。 * 后面只能是常量,可以是运算表达式。 * 4.当case进行判断时,没有找到匹配的case值,有没有break;都会执行默认的case * 5.当匹配成功时,而且每一个case都没有break的情况下,从匹配成功的case开始,依次输出后面所有case的语句。 * 6.当匹配成功的case没有break;那就从当前case开始,依次输出后续case的语句,一直到遇到break,则跳出。 * 7.如果匹配的case有break,则输出当前case语句 然后跳出。 */ public static void main(String[] args) { /*float x = 1f; //(x); 1.0 switch(x) { case 1: ("print 1"); }*/ //出现编译错误 switch变量类型不支持float /*long y = 1; switch(y) { case 1: ("print 1"); } */ //出现编译错误 switch变量类型 不支持long /*int x = 1; int c = 1; switch(c) { case x: ("print 1"); }*/ //出现编译错误 case后面不能是变量 只能是一个常量或者运算表达式 byte x = 1; switch(x) { case 1/1: System.out.println("print 1"); } //输出结果print 1 case后面可以是一个运算表达式 int i = 8; switch(i){ case 0: System.out.println("0");break; case 1: System.out.println("1");break; case 2: System.out.println("2");break; default: System.out.println("default");break; }//当case进行判断时,没有找到匹配的case值,则执行默认的case,输出结果default int m = 0; switch(m){ case 0: System.out.println("0"); case 1: System.out.println("1"); case 2: System.out.println("2"); default: System.out.println("default"); }/*当匹配成功时,而且每一个case都没有break的情况下,从匹配成功的case开始,依次输出后面所有case的语句。 输出结果为:0 1 2 default*/ int n = 0; switch(n){ case 0: System.out.println("0"); case 1: System.out.println("1"); case 2: System.out.println("2");break; default: System.out.println("default"); }/*当匹配成功的case没有break;那就从当前case开始,依次输出后续case的语句,一直到遇到break,则跳出。 输出结果为: 0 1 2*/ int b = 0; switch(b){ case 0: System.out.println("0");break; case 1: System.out.println("1"); case 2: System.out.println("2"); default: System.out.println("default"); }//如果匹配的case有break,则输出当前case语句 然后跳出。输出结果为:0 } }