乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      java流程控制語句之switch和循環(huán)語句

       流曲頻陽 2016-09-19

      1.switch

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      switch(表達式){
           case 1:
                語句體1;
                break;
           case 2:
                語句體2;
                break;
           ……
           default:
                語句體n;
                break;
      }

      格式解釋:

          switch表示這是switch語句

              a)表達式的取值:byte,short,int,char

              b)JDK5之后可以是枚舉

              c)JDK7之后可以是String

          case后面跟的是要和表達式進行比較的值

          語句體部分可以是一條或多天語句

          break表示中斷、結(jié)束的意思,可以結(jié)束switch語句

          default語句表示所有情況都不匹配的時候,就執(zhí)行該出的內(nèi)容,和if語句的else相似


      執(zhí)行流程

          首先計算出表達式的值

          其次,和case依次比較,一旦有對應(yīng)的值,就會執(zhí)行相應(yīng)的語句,在執(zhí)行的過程中,遇到break就會結(jié)束。

          最后,如果所有的case都和表達式的值不匹配,就會執(zhí)行default語句體部分,然后程序結(jié)束掉。


      wkiol1fdnhvqonleaaby8-asmk4879.png


      注意事項:

          case后面只能是常量,不能是變量,而且,多個case后面的值不能出現(xiàn)相同的。

          default可以省略,一般不建議。

          break可以省略,一般不建議。

          default可以出現(xiàn)在switch語句的任意位置。

          switch語句的結(jié)束條件:1.遇到break ,2.執(zhí)行到程序的末尾。

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      import java.util.Scanner;
      /**
       * 鍵盤錄入一個數(shù)據(jù),根據(jù)這個數(shù)據(jù),我們輸出對應(yīng)的星期幾
       *      鍵盤錄入1,對應(yīng)輸出星期一
       *      鍵盤錄入2,對應(yīng)輸出星期二
       *      ...
       *      鍵盤錄入7,對應(yīng)輸出星期日
       */
      public class SwitchDemo {
          public static void main(String[] args){
              Scanner input  = new Scanner(System.in);
              System.out.print("請輸入數(shù)字:");
              int day = input.nextInt();
              String str = "";
              switch(day){
                  case 1:
                      str = "星期一";
                      break;
                  case 2:
                      str = "星期二";
                      break;
                  case 3:
                      str = "星期三";
                      break;
                  case 4:
                      str = "星期四";
                      break;
                  case 5:
                      str = "星期五";
                      break;
                  case 6:
                      str = "星期六";
                      break;
                  case 7:
                      str = "星期日";
                      break;
                  default:
                      str = "輸入數(shù)據(jù)不合法";
                      break ;
              }
              System.out.println(str);
          }
      }


      在做判斷的時候,我們有兩種選擇,if語句和switch語句,那么,我們到底該如何選擇使用哪種語句呢?

      if語句使用場景:

          針對結(jié)果是boolean類型的判斷

          針對一個范圍的判斷

          針對幾個常量值的判斷

      switch語句使用場景:

          針對幾個常量值的判斷


      2.循環(huán)結(jié)構(gòu)

          循環(huán)語句可以在滿足循環(huán)條件的情況下,反復執(zhí)行某一段代碼,這段被重復執(zhí)行的代碼被稱為循環(huán)體語句,當反復執(zhí)行這個循環(huán)體時,需要在合適的時候把循環(huán)條件修改為false,從而結(jié)束循環(huán),否則循環(huán)將一直執(zhí)行下去,形成死循環(huán)。


      循環(huán)語句的組成:

          初始化語句:一條或者多條語句,這些語句完成一些初始化操作。

          判斷條件語句:這是一個boolean表達式,這個表達式能決定是否執(zhí)行循環(huán)體。

          循環(huán)體語句:這個部分是循環(huán)體語句,也就是我們要多次做的事情。

          控制條件語句:這個部分在依次循環(huán)體結(jié)束后,下一次循環(huán)判斷條件執(zhí)行前執(zhí)行。通過用于控制循環(huán)條件中的變量,使得循環(huán)在合適的時候結(jié)束。


      3.循環(huán)結(jié)構(gòu)(for循環(huán)語句)

      for循環(huán)語句格式: 

      1
      2
      3
      for(初始化語句;判斷條件語句;控制條件語句){
          循環(huán)體語句;
      }

      執(zhí)行流程:

          1.執(zhí)行初始化語句

          2.執(zhí)行判斷條件語句,看其結(jié)果是true還是false,如果是false,循環(huán)結(jié)束;如果是true,循環(huán)執(zhí)行。

          3.執(zhí)行循環(huán)體語句

          4.執(zhí)行控制條件語句

          5.回到2繼續(xù)


      wkiol1fdragai7r1aabijocm4pu137.png

          

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      /**
       * for循環(huán)
       */
      public class ForDemo {
          public static void main(String[] args){
              for(int i = 0;i<4;i++){
                  System.out.println("Hello World");
              }
          }
      }

      注意事項:

          1.判斷條件語句的結(jié)果是一個boolean類型。

          2.循環(huán)體語句如果是一條語句,大括號可以省略;如果是多條語句,大括號不可以省略。建議永遠不要省略。

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      /**
       * 在控制臺輸入1-10
       */
      public class ForDemo {
          public static void main(String[] args){
              for(int i = 1;i<=10;i++){
                  System.out.println(i);
              }
          }
      }
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      /**
       * 求1-10的和
       */
      public class ForDemo {
          public static void main(String[] args){
              int sum = 0;
              for(int i = 1;i<=10;i++){
                  sum += i;
              }
              System.out.println(sum);
          }
      }
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      /**
       * 求1-100的奇數(shù)和偶數(shù)之和
       */
      public class ForDemo {
          public static void main(String[] args){
              int odd = 0;
              int even = 0;
              for(int i =0;i<=100;i++){
                  if(i %2 == 0){
                      even += i;
                  }else {
                      odd += i;
                  }
              }
              System.out.println("奇數(shù)和是"+odd+",偶數(shù)和是"+even);
          }
      }
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      /**
       * 求5的階乘
       *  什么是階乘?
       *      n! = n*(n-1)!
       *      n! = n *(n-1)*(n-2)*...*3*2*1
       */
      public class ForDemo {
          public static void main(String[] args){
              int num = 1;
              for (int i =1;i<=5;i++){
                  num *= i;
              }
              System.out.println(num);
          }
      }
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      /**
       * 水仙花數(shù)
       *      所謂的水仙花數(shù)就是一個三位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。
       *      舉例:153就是一個水仙花數(shù)
       *      153 = 1*1*1 + 5*5*5 +3*3*3
       */
      public class ForDemo {
          public static void main(String[] args){
              for(int i = 100;i<=999;i++){
                  int baiwei = i / 100;
                  int shiwei = i / 10 10;
                  int gewei = i % 10;
                  int result = baiwei * baiwei * baiwei + shiwei * shiwei * shiwei + gewei * gewei * gewei;
                  if(i == result){
                      System.out.println(i+"是水仙花數(shù)");
                  }
              }
          }
      }


      4.循環(huán)結(jié)構(gòu)(while循環(huán)語句)

      while循環(huán)語句格式:

      1
      2
      3
      4
      5
      初始化語句;
      while(判斷條件語句){
          循環(huán)體語句;
          控制條件語句;
      }

      wkiol1fdvahjxabbaabnqqmhzpq689.png



      for循環(huán)和while循環(huán)的區(qū)別?

          使用區(qū)別:控制條件語句所控制的那個變量,在for循環(huán)結(jié)束后,接不能再被訪問到了,而while循環(huán)結(jié)束后,還可以繼續(xù)使用,如果你想繼續(xù)使用,就用while,否則推薦使用for循環(huán),原因是for循環(huán)結(jié)束,該變量就從內(nèi)存中消失,能夠提高內(nèi)存的使用效率。

          場景區(qū)別:for循環(huán)適合針對一個范圍判斷進行操作,當然這個范圍是數(shù)字;而while循環(huán)適合判斷不明確操作。例如:你去跑十圈,就用for循環(huán);你跑到死為止,就用while循環(huán)了。

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      /**
       *  我國最高山峰是珠穆朗瑪峰:8848米,現(xiàn)在我有一張足夠大的紙張,厚度是0.01米。
       *  請問:我折疊多少次,就可以保證厚度不低于珠穆朗瑪峰的高度?
       *  分析:
       *      1.定義一個統(tǒng)計變量,默認值位0
       *      2.最高山峰是珠穆朗瑪峰:8848米,這是最終的厚度
       *        我現(xiàn)在有一張足夠大的紙張,厚度為:0.01米,這是最初的厚度。
       *      3.我折疊多少次,就可以保障厚度不低于珠穆朗瑪峰的高度
       *        折疊依次有什么變化?就是厚度是以前的2倍。
       *      4.只要每次變化的厚度沒有查過珠穆朗瑪峰的高度,就折疊
       *      5.輸出統(tǒng)計變量
       */
      public class WhileDemo {
          public static void main(String[] args){
              int count = 0;
              double end = 8848;
              double start = 0.01;
              while(start < end){
                  count ++;
                  start *= 2;
              }
              System.out.println(count);
          }
      }


      5.循環(huán)結(jié)構(gòu)(do...while結(jié)構(gòu))

      do...while循環(huán)結(jié)構(gòu)格式:

      1
      2
      3
      4
      5
      初始化條件;
      do{
          循環(huán)體語句;
          控制條件語句;
      }while(判斷條件語句);

      wkiom1fdx2ohbb8eaabw2z0d8pc903.png

      循環(huán)結(jié)構(gòu)的區(qū)別及注意事項

          三種循環(huán)語句其實都可以完成一行的功能,也就是說可以等價轉(zhuǎn)換,但還是有小區(qū)別的。do...while循環(huán)至少會執(zhí)行一次循環(huán)體。for循環(huán)和while循環(huán)只有在條件成立的時候才會去執(zhí)行循環(huán)體。

          寫程序優(yōu)先考慮for循環(huán),再考慮while循環(huán),最后考慮do...while循環(huán)。

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      /**
       * 輸出4行5列的星星
       */
      public class ForForDemo {
          public static void main(String[] args){
              for(int i = 0;i<4;i++){
                  for(int y = 0;y<5;y++){
                      System.out.print("*");
                  }
                  System.out.println();
              }
          }
      }


      6.跳轉(zhuǎn)控制語句

          java中的goto是保留字,目前不能使用。雖然沒有g(shù)oto可以增強程序的安全性,但是也帶來了很多不便,比如說,我想在某個循環(huán)在某一步的時候就結(jié)束,現(xiàn)在就做不了這件事。為了彌補這個缺陷,java就提供了break,continue和return來實現(xiàn)控制語句的跳轉(zhuǎn)和終端。

          



      本文出自 “11831428” 博客,請務(wù)必保留此出處http://11841428.blog.51cto.com/11831428/1853470

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多