Switch-case语句的应用

/**

switch语句有关规则

     • switch(表达式)中表达式的值必须是下述几种类型之一:byte,short, char,int,枚举 (jdk 5.0),String (jdk 7.0); 

  • case子句中的值必须是常量,不能是变量名或不确定的表达式值; 

  • 同一个switch语句,所有case子句中的常量值互不相同; 

  • break语句用来在执行完一个case分支后使程序跳出switch语句块;如 果没有break,程序会顺序执行到switch结尾 

  • default子句是可任选的。同时,位置也是灵活的。当没有匹配的case时, 执行default

 

*/

 

/*

练习题:
编写程序:从键盘上输入2019年的“month”和“day”,
要求通过程序 输出输入的日期为2019年的第几天。

注意:本题中容易产生疑问的点在于通过匹配,执行完一条case语句之后,还要继续往下执行。

   所以本题代码中没有使用break,且月份从12 >> 1排列来实现。

*/
import java.util.Scanner;
public class SwitchTest4{

  public static void main(String[] args){

  Scanner scan = new Scanner(System.in);
  System.out.println("请输入月份:");
  int month = scan.nextInt();
  System.out.println("请输入日期:");
  int day = scan.nextInt();

  int sum = 0;
  switch(month){
    case 12:
      sum += 31;
    case 11:
      sum += 30;
    case 10:
      sum += 31;
    case 9:
      sum += 30;
    case 8:
      sum += 31;
    case 7:
      sum += 31;
    case 6:

      sum += 30;
    case 5:
      sum += 31;
    case 4:
      sum += 30;
    case 3:
      sum += 31;
    case 2:
      sum += 28;
    case 1:
      sum += day;

    }
    System.out.println("2019年"+month+"月"+day+"号是该年的第"+sum+"天");
  }
}

posted @ 2019-05-08 16:55  战胜橘子  阅读(1277)  评论(1编辑  收藏  举报