switch语句小案例
public class Test{
public static void main(String[] args){
char a='A';
switch(a){
case 'A':
System.out.println("我是A");
break;
case 'B':
System.out.println("我是B");
break;
default:
System.out.println("我是其他");
}
// 最终结果输出:"我是A"
}
}
如果不加break会怎么样呢?
public class Test{
public static void main(String[] args){
char a='A';
switch(a){
case 'A':
System.out.println("我是A");
case 'B':
System.out.println("我是B");
break;
default:
System.out.println("我是其他");
}
// 最终结果输出:
// 我是A
// 我是B
}
}
switch语句中的表达式是:byte、short、int、char、枚举、String
并且要能实现自动类型转换
public class Test{
public static void main(String[] args){
double a=1;
switch(a){ //这条语句在编译时会报错 a必须是byte、short、int、char、枚举、String类型
case 1:
System.out.println("我是第一个");
break;
case 2:
System.out.println("我是第二个");
break;
}
}
}
case语句中要是常量 不可以是变量
public class Test{
public static void main(String[] args){
char a='A';
switch(a){
case a: //这一行会编译失败 a是char类型的变量 不是常量
System.out.println("我是A");
case 'B':
System.out.println("我是B");
break;
default:
System.out.println("我是其他");
}
}
}
3、4、5是春季 6、7、8是夏季 9、10、11是秋季 12、1、2是冬季
用switch语句实现
public class Test{
public static void main(String[] args){
int a=3;
switch(a){
case 3:
case 4:
case 5:
System.out.println("我是春季");
break;
case 6:
case 7:
case 8:
System.out.println("我是夏季");
break;
case 9:
case 10:
case 11:
System.out.println("我是秋季");
break;
case 12:
case 1:
case 2:
System.out.println("我是冬季");
break;
default:
System.out.println("输入有误");
}
}
}
第二种写法
import java.util.Arrays;
import java.util.Scanner;
public class Test{
public static void main(String[] args){
int a=11;
if (a<=12&& a>=0){
switch(a/3){
case 1:
System.out.println("我是春季");
break;
case 2:
System.out.println("我是夏季");
break;
case 3:
System.out.println("我是秋季");
break;
case 0:
case 4:
System.out.println("我是冬季");
break;
}
}else {
System.out.println("输入有误");
}
}
}