switch(表达式){
case 0:
break;
case 1:
break;
case 2:
break;
.......
default:
break;
}
在swith语句中需要用break跳出循环
如果不用break跳出循环,当判断符合要求后就会执行语句,并且后面的语句不会判断就会直接执行(类似贯穿一样)
当使用break以后就不会出现这种情况,符合条件后执行语句并且会跳出switch
当执行的语句相同时可以合并在一起进行判断执行
输入年份月份日期判断这是一年的几天
1:使用break;
import java.util.Scanner;
public class ppp {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner Scan=new Scanner(System.in);
System.out.println("请输入年:");
int a=Scan.nextInt();
System.out.println("请输入月份:");
int b=Scan.nextInt();
System.out.println("请输入日期:");
int c=Scan.nextInt();
int d=0;
switch(b) {
case 1:
d=d+c;
break;
case 2:
d=30+c;
break;
case 3:
d=30+28+c;
break;
case 4:
...
case 12:
...
default:
break;
}
}
}
2:不使用break;
import java.util.Scanner;
public class ppp {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner Scan=new Scanner(System.in);
System.out.println("请输入年:");
int a=Scan.nextInt();
System.out.println("请输入月份:");
int b=Scan.nextInt();
System.out.println("请输入日期:");
int c=Scan.nextInt();
int d=0;
switch(b) {
case 12:
d=d+30;
case 11:
d=d+31;
case 10:
d=d+30;
case 9:
d=d+31;
case 8:
d=d+29;
case 7:
d=d+30;
case 6:
d=d+31;
case 5:
d=d+29;
case 4:
d=d+31;
case 3:
if(a%4==0&&a%100!=0)
{d=d+29;}
else if(a%400==0) {
d=d+29;
}
else {
d=d+28;
}
case 2:
d=d+30;
case 1:
d=d+c;
}
System.err.println(a+"年"+b+"月"+c+"日在一年的第几天:"+d);
}
}



