Java switch语句

一时失言乱红尘 2021-11-17 12:42 1089阅读 0赞

1.1 switch语法规则

  1. 表达式expr的值必须是下述几种类型之一:

    1. byteshortintcharenum(枚举);java7之后可以是String
  2. case子句中的值const 必须是常量值(或final的变量),case中的值不能是一个范围
  3. 所有case子句中的值应是不同的,否则会编译出错;
  4. default子句是可选的(不是必须的)
  5. break语句用来在执行完一个case分支后使程序跳出switch语句块;否则会继续执行下去

1.2语法格式

  1. switch(a){ // a = 2
  2. // 情况
  3. case 1:
  4. statement1;
  5. break;
  6. case 2:
  7. statement2;
  8. break;
  9. case constN:
  10. statementN;
  11. break;
  12. default:
  13. statement_dafault;
  14. break;
  15. }

1.3 执行顺序:

  1. 1 所有的 case 都不满足需求的时候 执行default中的内容
  2. 2 break 帮助跳出switch 语句, 如果执行过程中 没有遇到break 继续向下执行直到遇到break为止

1.4 练习:

练习一: 简单实现switch语句

  1. int i = 1;
  2. switch(i){
  3. case 1:
  4. System.out.println("Hello World!");
  5. break;
  6. case 2:
  7. System.out.println("Hello World!2");
  8. case 3:
  9. System.out.println("Hello World3");
  10. break;
  11. default:
  12. System.out.println("Haaaa");
  13. break;
  14. }

练习二: 判断 春夏秋冬

  1. Scanner sc = new Scanner(System.in);
  2. String str = sc.next();
  3. switch(str){
  4. case "春天":
  5. System.out.println("春暖花开");
  6. break;
  7. case "夏天":
  8. System.out.println("闷热");
  9. break;
  10. case "秋天":
  11. System.out.println("秋高气爽");
  12. break;
  13. case "冬天":
  14. System.out.println("滴水成冰");
  15. break;
  16. default:
  17. System.out.println("火星的");
  18. break;
  19. }

练习三: 需求: 利用switch实现一个计算器操作

  1. Scanner sc = new Scanner(System.in);
  2. System.out.println("请输入第一个操作数:");
  3. int a = sc.nextInt();
  4. System.out.println("请输入运算符");
  5. String str = sc.next();
  6. System.out.println("请输入第二个操作:");
  7. int b = sc.nextInt();
  8. switch(str){
  9. case "+":
  10. System.out.println(a+"+"+b+"="+(a+b));
  11. break;
  12. case "-":
  13. System.out.println(a+"-"+b+"="+(a-b));
  14. break;
  15. case "*":
  16. System.out.println(a+""+b+"="+(ab));
  17. break;
  18. case "/":
  19. System.out.println(a+"/"+b+"="+(a/b));
  20. break;
  21. case "%":
  22. System.out.println(a+"%"+b+"="+(a%b));
  23. break;
  24. }

1.5 特殊用法 :case穿透

case穿透: 产生这种现象的原因:由于某个case语句中缺少或者漏写break语句所导致的结果.

  1. // 需求: 打印输出指定的月份的天数
  2. Scanner sc = new Scanner(System.in);
  3. int month = sc.nextInt();
  4. switch(month){
  5. case 1:
  6. case 3:
  7. case 5:
  8. case 7:
  9. case 8:
  10. case 10:
  11. case 12:
  12. System.out.println("31天");
  13. break;
  14. case 2:
  15. System.out.println("28天");
  16. break;
  17. case 4:
  18. case 6:
  19. case 9:
  20. case 11:
  21. System.out.println("30天");
  22. break;
  23. }
  24. System.out.println("Hello World!");
  25. }

发表评论

表情:
评论列表 (有 0 条评论,1089人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java编程——switch语句

    switch关键字的中文意思是开关、转换的意思,switch语句在条件语句中特别适合做一组变量相等的判断,在结构上比if语句要清晰很多。 switch语句的语法格式为: s