1. 程式人生 > >Java循環流程控制語句

Java循環流程控制語句

system bsp tro main div 選擇 ati 多少 switch

7 循環流程控制語句

7.1 for循環的格式及基本使用

7.1.1 for循環語句格式:

 for(初始化語句;判斷條件語句;控制條件語句){

     循環體語句; 

 }

7.1.2 循環的執行流程圖:

技術分享圖片

案例:

package com.lyc.test;

public class ForDemo01 {

    public static void main(String[] args) {
        //需求:在控制臺輸出10次"我好喜歡你"
        
        //原始寫法:
        System.out.println("我好喜歡你");
        System.out.println(
"我好喜歡你"); System.out.println("我好喜歡你"); System.out.println("我好喜歡你"); System.out.println("我好喜歡你"); System.out.println("我好喜歡你"); System.out.println("我好喜歡你"); System.out.println("我好喜歡你"); System.out.println("我好喜歡你"); System.out.println("我好喜歡你"); System.out.println(
"-----------------------"); //用循環改進 for (int i = 0; i < 10; i++) { System.out.println("我好喜歡你"); } } }

7.2 for循環練習

7.2.1 for循環實現獲取指定範圍數據

package com.lyc.test;

public class ForDemo02 {

    public static void main(String[] args) {
        //需求:獲取數據1-5和5-1
        
        
//原始做法 System.out.println(1); System.out.println(2); System.out.println(3); System.out.println(4); System.out.println(5); System.out.println("------------------"); //用循環改進 for (int i = 1; i <=5; i++) { System.out.println(i); } System.out.println("------------------"); for (int i = 5; 1<=i; i--) { System.out.println(i); } } }

7.2.2 for循環實現1-5之間數據求和

package com.lyc.test;

public class ForDemo03 {

    public static void main(String[] args) {
        // 需求:求1-5之間數字之和

        // 定義求和變量,初始化值是0
        int sum = 0;
        // 獲取1-5之間的數據,用for循環實現
        for (int i = 1; i <= 5; i++) {
            // 把每一次獲取到的數據,累加起來
            /**
             * sum = sum + i; 
             * 
             * 第一次: sum = 0 + 1 = 1
             * 第二次: sum = 1 + 2 = 3
             * 第三次: sum = 3 + 3 = 6
             * 第四次: sum = 6 + 4 = 10
             * 第五次: sum = 10 + 5 = 15
             */
            sum += i;
        }
        //輸出結果
        System.out.println("sum="+sum);
    }
}

7.2.3 for循環實現1-100之間偶數和

package com.lyc.test;

public class ForDemo04 {

    public static void main(String[] args) {
        //需求:求1-100之間的偶數和
        
        //定義求和變量,初始值為0
        int sum = 0;
        //獲取1-100之間的數據,用for循環實現
        for(int i=1;i<=100;i++){
            if(i%2==0){//把獲取到的數據進行判斷,看是否是偶數
                sum += i;
            }
        }
        //輸出結果
        System.out.println(sum);
    }
}

7.2.4 for循環實控制臺打印水仙花數和統計的個數

package com.lyc.test;

public class ForDemo05 {

    public static void main(String[] args) {
        // 需求:在控制臺輸出所有的"水仙花數"
        /**
         * 什麽是水仙花數? 
         * 所謂的水仙花數就是指一個三位數,其個位數字的立方和等於概述本身 
         * 舉例:153就是一個水仙花數 
         * 153 =1*1*1 + 5*5*5 + 3*3*3
         * a:三位數其實就是告訴我們水仙花數的範圍
         *      100-999
         * b:如何獲取一個數據的每一個位上的數昵?
         *      如:153
         *      個位:153%10=3;
         *      十位:153/10%10=5;
         *      百位:153/10/10%10=1;
         *     千位:...
         *     萬位:...
         * c:讓每個位上的立方和相加,並和該數數據進行比較,如果相等
         *   則說明該數據是水仙花數,在控制臺輸出
         */
        //定義變量統計共有多少水仙花數,初始化值是0
        int num = 0;
        //通過循環獲取到每一個三位數
        for (int i = 100; i <1000; i++) {
            int ge = i%10;//獲取各位
            int shi = i/10%10;//獲取十位
            int bai = i/10/10%10;//獲取百位
            
            //讓每個位上的立方和相加,並和該數數據進行比較
            if ((ge*ge*ge + shi*shi*shi + bai*bai*bai) == i) {
                System.out.println(i);//輸出水仙花數
                num++;//如果是水仙花數,則統計起來
            }
        }
        System.out.println("共有"+num+"個水仙花數");//輸出共有多少水仙花數
    }
}

7.3 while循環的格式及基本使用

7.3.1 while循環語句格式

 基本格式

  while(判斷條件語句){

    循環語句體;

  }

 擴展格式

  while(判斷條件語句){

    循環體語句;

    控制條件語句;

  }

7.3.2 執行流程圖

技術分享圖片

7.3.3 案例

package com.lyc.test;

public class WhileDemo01 {

    public static void main(String[] args) {
        // for循環輸出
        for (int i = 0; i < 10; i++) {
            System.out.println("hello");
        }
        System.out.println("----------------------");
        //while循環實現
        int x = 1;
        while(x<=10){
            System.out.println("hello");
            x++;
        }
    }
}

7.3.4 while循環實現1-100之間數據求和

package com.lyc.test;

public class WhileDemo02 {

    public static void main(String[] args) {
        //求1-100之和
        //for循環實現
        /*
        int sum = 0;//定義變量
        for(int i = 1;i <= 100;i++){//獲取1-100之間的數據
            sum += i;//累加
        }
        System.out.println("1-100之和是:"+sum);
        */
        //while循環實現
        int sum = 0;
        int i = 1;
        while(i<=100){
            sum += i;
            i++;
        }
        System.out.println("1-100之和是:"+sum);
    }
}

7.4 do...while循環的格式及基本使用

7.4.1 do...while循環語句格式

 基本格式

  do{

    循環體語句;

  }while(判斷條件語句);

 擴展格式

  do{

    循環體語句;

    控制條件語句;

  }while(判斷條件語句);

 執行流程圖

技術分享圖片

案例

package com.lyc.test;

public class DoWhileDemo {

    public static void main(String[] args) {
        /**
         * 執行流程
         *     1>執行初始化語句;
         *     2>執行循環體語句;
         *  3>執行控制條件語句;
         *  4>執行判斷條件語句,看true還是false
         *      如果是true,繼續
         *      如果是false,結束
         */
        
        int x = 1;
        do {
            System.out.println("我好喜歡你┭┮﹏┭┮");
            x++;
        } while (x<=10);
    }
}

三種循環的區別

  雖然可以完成同樣的功能,但是還是有小區別:

  do…while循環至少會執行一次循環體。

  for循環和while循環只有在條件成立的時候才會去執行循環體

  for循環語句和while循環語句的小區別:

  使用區別:

    控制條件語句所控制的那個變量,在for循環結束後,就不能再被訪問到了,而while循環結束還可以繼續使用,如果你想繼續使用,就用while,否則推薦使用for。原因是for循環結束,該變量就從內存中消失,能夠提高內存的使用效率。

7.5 控制循環語句

7.5.1 控制跳轉語句break

 Break的使用場景和作用

  break的使用場景:

   在選擇結果switch語句中

   在循環語句中

  離開使用場景的存在是美喲意義的

   break的作用:跳出單層循環

案例

package com.lyc.test;

public class BreakDemo {

    public static void main(String[] args) {
        /**
         * break:中斷的意思
         * 使用場景:
         *         A.switch語句中
         *         B.循環中
         * 作用:
         *         跳出循環,讓循環提前結束
         */
        for(int i = 0;i < 10;i++){
            if (i==3) {
                break;
            }
            System.out.println(i);
        }
    }
}

7.5.2 控制跳轉語句continue

 continue的作用:

  單層循環對比break,然後總結兩個的區別

  break:退出當前循環

  continue:退出本次循環,繼續下次循環

案例

package com.lyc.test;

public class ContinueDemo {

    public static void main(String[] args) {
        /**
         * continue:繼續的意思
         * 使用場景:循環中
         * 作用:結束本次循環,繼續下次的循環
         * 區別:break退出循環
         *        continue結束本次循環,繼續下次的循環
         */
        for (int i = 0; i <10; i++) {
            if (i==3) {//如果等於3就不會輸出,結束這次循環
                continue;
            }
            System.out.println(i);
        }    
    }
}

 

Java循環流程控制語句