【Java】深⼊了解switch、case、break
1. 很多的资料上写着,default 这个语句的后⾯是不⽤加break语句的,但其实实在switch中不管哪⼀个分⽀,后⾯都要加上break语句
结束循环的的,但是default 后⾯⼀般就是switch的“}”括号,所以,在default 后⾯加⼀个break意义不太⼤⽽已
2. switch语句⼏乎和break分不开,尽管从语法上没有硬性的规定要有break,但任何⼀个⽤到switch语句的实⽤程序,都离不开break
语句。因为本质上,case语句只是⼀个“⼊⼝”,并没有判断的功能,如果没有break,程序就会毫⽆阻碍地长驱直⼊,⽽不具备了分⽀的作⽤。
3. switch⼀旦通过某⼀条case或者default语句做⼊⼝“进⼊后”,没有遇到①break或者 ②⼤括号} 就不会终⽌,后⾯的case和
default语句没有判断作⽤,只是“⼊⼝”⽽已,因为之前已经进⼊了,所以后⾯语句会⼀直按顺序执⾏
例⼀:
public static void main(String[] args){
int x=2,y=3;
switch(x){
default:
y++;
case3:
y++;
case4:
y++;
}
System.out.println(y);
}
输出:6
例⼆:
答案:会执⾏,⽽且num=10+1+1-1=11,通过case 'A’语句已经进⼊后,因为都没有break,后⾯的case 与default不具备选择功能,所以case 'A’后⾯的语句都会执⾏
4.之所以这样设计师为了更灵活,⽐如如下例⼦
例题三:
Scanner input =new Scanner(System.in);
System.out.println("请输⼊⽉份");
int month = Int();
System.out.println("请输⼊⽉份天数");
int day = Int();
int days =0;
switch(month){
case12:
days +=30;
case11:
days +=31;
switch case判断字符串case10:
days +=30;
case9:
days +=31;
case8:
days +=31;
case7:
days +=30;
case6:
days +=31;
case5:
days +=30;
case4:
days +=31;
case3:
days +=29;
case2:
days +=31;
case1:
days += day;break;
default:
System.out.println("输⼊数字⾮法");
}
System.out.println("那天是2020年的第"+days+"天");
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论