• 【Demo 0002】Java基础-语句


    本章学习要点:

           1.  掌握Java关健语句使用方法;  

           2.  理解与语句相关的关键字用法;

    一、Java 关键语句

           Java语句以及关联关键字与C完全相同;

            1.  顺序语句;

            2.  分支语句(if, switch)

                 if (条件) {

                    条件为真,被执行;

                 }else {

                    条件为假,被执行;

                 }

                switch(查询值) {      // 查询值 整数类型, 字符串

                case 匹配条件1:   执行语句;  break;   //  没有break时被语句一直往后执行直到break; 或default;

                case 匹配条件2:   执行语句;  break;

                default:   未被匹配条件执行;  break;

               }

            3.  循环语句 (do while, for, while)

                 for  (初始值;匹配条件;值更新) {

                     循环体;    

                }

               do {

                   循环体;     

               } while (条件);

               while (条件)  {

                   循环体;

              }

    二、与语句相关关键字

          1.  break;      //  可用于if, switch, do while, while, for中,实现终止代码;

          2.  continue;  //  用于循环语句,表示不往下执行,继续下一个循环过程;

    二、代码演示

    public class Demo0002 {

      void usage() {

        System.out.println("--------------- 生活百科 --------------------");

        System.out.println("1. 查日期在当年中的某一天  2. 退出");

        System.out.println("--------------------------------------------");

        System.out.print("请输入命令:");

      } 

     

      int dayToDays(int year, int month, int day) {

         boolean bLeapYear = false;

         if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {

           bLeapYear = true;

         }

     

         int dayInMonths[] = {31, 0, 31, 30, 31, 30, 31, 31, 30, 31,30, 31};

     

         int days = 0;

         for (int ii = 1; ii <= month; ii++) {

           if (month == ii) {

             break;

           }

           days += dayInMonths[ii - 1];  

         }

     

         if (month > 2) {

           if (bLeapYear) {

             days += 28;

           } else {

             days += 29;

           }

         }

         days += day;

     

         return days;

       }

     

       void dayInYear() {

         Scanner scanner= new Scanner(System.in);

         int year= 0;

         int month= 0;

         int day= 0; 

         do {

           System.out.println("请输入年份:");

           year = scanner.nextInt();

         } while (!(year >= 1900 && year <= 2060));

     

         do {

           System.out.println("请输入月份:");

           month = scanner.nextInt();

         } while (!(month >= 1 && month <= 12));

     

         do {

           System.out.println("请输入日期:");

           day = scanner.nextInt();

         } while (!(day >= 1 && day <= 31));

     

         System.out.format("%d-%d-%d是%d中的第%d天 ", year, month, day, year, dayToDays(year, month, day));

      }

     

      public static void main(String[] args) {

        Demo0002 demo = new Demo0002();

        Scanner scanner = new Scanner(System.in);

        boolean bQuit = false;

        while (!bQuit) {

          demo.usage();

          switch (scanner.nextInt()) {

          case 1:  demo.dayInYear(); break;

          case 2:bQuit = true;System.out.println("系统己退出!");break;

          default:System.out.println("输入错误, 重新输入");break;

          }

        } 

      }

    }

     

    演示代码

  • 相关阅读:
    BZOJ 2738 矩阵乘法(整体二分+二维树状数组)
    BZOJ 1430 小猴打架(prufer编码)
    BZOJ 2818 Gcd(莫比乌斯反演)
    BZOJ 4403 序列统计(Lucas)
    BZOJ 3083 遥远的国度(树链剖分+线段树)
    BZOJ 2049 [Sdoi2008]Cave 洞穴勘测(动态树)
    BZOJ 3282 Tree(动态树)
    BZOJ 3239 Discrete Logging(BSGS)
    BZOJ 2683 简单题(CDQ分治+树状数组)
    BZOJ 4327 JSOI2012 玄武密码(后缀自动机)
  • 原文地址:https://www.cnblogs.com/ztercel/p/3349448.html
Copyright © 2020-2023  润新知