switch语句
格式:
switch(变量){
case 常量1:
语句1;
break;
case 常量2:
语句2;
break;
......
default:
语句;
break;
}
特点:1.根据变量的值,选择相应的case去判断,一旦满足case相应语句,如果没有break或者已经到结尾,会
继续执行其下的case语句
2.default是可选的,而且位置灵活,default的作用是一旦其他的case都没有执行,则执行default
3.变量可以是:char byte short int String 枚举,其余的都不能用在switch语句中
4.case条件:其中条件只能写值,不能写范围
练习:输入英文的夏天,使输出的是中文的夏天
import java.util.Scanner;
public class V{
public static void main(String[] args){
String s="summer";
switch(s){
case "spring":
System.out.println("春天");
break;
case "summer":
System.out.println("夏天");
break;
case "autumn":
System.out.println("秋天");
break;
case "winter":
System.out.println("冬天");
break;
default:
System.out.println("输入有误");
break;
}
}
}
switch-case与if-else之间的转换
1.当多个case语句处理的语句块一致时,可以统一来书写
格式:
switch(变量){
case 常量1:
case 常量2:
case 常量3:
case 常量4:
......
System.out.println();
break;
//这些常量所输出的结果一样
case 常量5:
case 常量6:
case 常量7:
case 常量8:
......
System.out.println();
break;
defaul:
System.out.println();
break;
//这些常量所输出的结果一样
}
2.在一定情况下switch-case与if-else之间可以相互转化
3.if-else作用的范围比switch-case作用范围要大,但是当switch-case和if-else都可以用的情况下
推荐使用switch-case
package test;
import java.util.Scanner;
public class test2 {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("请输入一个小写字母:");
char ch=s.next().charAt(0);
switch(ch){
case 'a':
System.out.println("A");
break;
case 'b':
System.out.println("B");
break;
case 'c':
System.out.println("C");
break;
case 'd':
System.out.println("D");
break;
case 'e':
System.out.println("E");
break;
default:
System.out.println("other");
break;
}
}
}
package test;
import java.util.Scanner;
public class test2 {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("请输入成绩:");
int score=s.nextInt();
switch (score/10){
case 6:
case 7:
case 8:
case 9:
case 10:
System.out.println("合格");
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
System.out.println("不合格");
break;
default:
System.out.println("输入错误");
break;
}
}
}
import java.util.Scanner; public class V{
public static void main(String[] args){
System.out.println("输入月份");
Scanner s=new Scanner(System.in);
int month=s.nextInt();
switch(month){
case 1:
case 2:
case 3:
System.out.println("春天");
break;
case 4:
case 5:
case 6:
System.out.println("夏天");
break;
case 7:
case 8:
case 9:
System.out.println("秋天");
break;
case 10:
case 11:
case 12:
System.out.println("冬天");
break;
default:
System.out.println("输入错误");
break;
}
}
}
import java.util.Scanner; public class V{
public static void main(String[] args){
Scanner s=new Scanner(System.in);
System.out.println("输入月份");
int month=s.nextInt();
System.out.println("输入日期");
int day=s.nextInt();
int sum=0;
switch(month){
case 12:
sum += 30;
case 11:
sum += 31;
case 10:
sum += 30;
case 9:
sum += 31;
case 8:
sum += 31;
case 7:
sum += 30;
case 6:
sum += 31;
case 5:
sum += 30;
case 4:
sum += 31;
case 3:
sum += 28;
case 2:
sum += 31;//一月份的天数
case 1:
sum += day; }
System.out.println(sum);
}
}