switch语句和switch-case与if-else之间的转换
Posted keepcalmandneversaynever
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了switch语句和switch-case与if-else之间的转换相关的知识,希望对你有一定的参考价值。
switch语句
格式:
switch(变量){
case 常量1:
语句1;
break;
case 常量2:
语句2;
break;
......
default:
语句;
break;
}
特点:1.根据变量的值,选择相应的case去判断,一旦满足case相应语句,如果没有break或者已经到结尾,会
继续执行其下的case语句
2.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
import java.util.Scanner; public class V{ public static void main(String[] args){ char ch=‘a‘; 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; }
public class V{ public static void main(String[] args){ int score=70; switch(score/10){ case 10: System.out.println("及格"); break; case 9: System.out.println("及格"); break; case 8: System.out.println("及格"); break; case 7: System.out.println("及格"); break; case 6: System.out.println("及格"); break; case 5: System.out.println("不及格"); break; case 4: System.out.println("不及格"); break; case 3: System.out.println("不及格"); break; case 2: System.out.println("不及格"); break; case 1: 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); } }
以上是关于switch语句和switch-case与if-else之间的转换的主要内容,如果未能解决你的问题,请参考以下文章