Java中的一直不能掌握的switch-case语句

xiaoxiao2024-04-17  27

对于流程控制中的switch-case语句,一直是我的一个弱项. 每当考试或者面试笔试的时候,总是丈二和尚摸不着头脑,我想这应该是我基础太差的原因吧! 为了彻底解决这个心病,不得不花点功夫了! 首先从原理上来阐述这个问题: switch(表达式) { case 常量表达式1:语句1; .... case 常量表达式2:语句2; default:语句; } 1.default就是如果没有符合的case就执行它,default并不是必须的. 2.case后的语句可以不用大括号. 3.switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型. 4.一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句. 原理归原理,下面是几个容易混淆的例子. 1.标准型(case后面都有break语句) int i=3; switch(i) { case 1: System.out.println(1); break; case 2: System.out.println(2); break; case 3: System.out.println(3); break; default: System.out.println("default"); break; } 输出结果: 3 2.特殊型1(不是完全有break语句,可以完成一些特殊应用) int year=2005; int month=3; int day; switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: day=31; break; case 2: day=28; break; case 4: case 6: case 9: case 11: day=30; break; } 这里 day=31; 3.特殊型2(default的位置) int i=1; switch(i) { case 1: System.out.println(1); default: System.out.println("default"); case 2: System.out.println(2); break; case 3: System.out.println(3); break; } 输出结果: 1 default 2
转载请注明原文地址: https://www.6miu.com/read-5015036.html

最新回复(0)