while,do...while及for三種循環結構


循環結構

while循環

  • while (布爾表達式) {
        //循環內容
    }
    
  • 只要布爾表達式為true循環就會一直執行

  • 我們大多數情況會讓循環停止下來,需要一個讓表達式失效的方式來停止循環

while循環示例

public class whileDemo01 {
    public static void main(String[] args) {

        int i=0;
        int sum=0;
        //輸出1-100
        while (i<100){
            i++;
            sum=i+sum;
        }
        System.out.println(sum);
    }
}

do...while循環

  • do...while循環至少會執行一次

    • do () {
          //代碼語句
      } while (布爾表達式);
      
  • while和do...while的區別

    • while是先判斷后執行,do...while是先執行后判斷
    • do...while總能保證循環至少被執行一次

do...while循環示例

public class dowhileDemo01 {
    public static void main(String[] args) {
        
        int i=0;
        int sum=0;

        do{
            sum=sum+i;
            i++;
        }while (i<=100);

        System.out.println(sum);

    }
}
public class dowhileDemo02 {
    public static void main(String[] args) {
        int a=0;
        while (a<0){
            System.out.println(a);
        }
        System.out.println("===========================");
        do {
            System.out.println(a);
            a++;
        }while (a<0);

    }
}

for循環

  • for循環語句是一種支持迭代的通用結構,是最有效、最靈活的循環結構

  • for循環執行的次數在執行前就確定

    • for(初始化;布爾表達式;更新) {
          //代碼語句
      }
      

for循環示例

public class forDemo01 {
    public static void main(String[] args) {
        int a=1;

        while (a<=100){
            System.out.println(a);
            a+=2;
        }

        for (int i=1;i<=100;i++){
            System.out.println(i);
        }
        System.out.println("for循環結束");
    }
}

分別輸出0-100之間奇數及偶數的和

public class forDemo02 {
    public static void main(String[] args) {
        //0-100之間奇數和偶數的和
        int sum1=0;
        int sum2=0;
        for (int i = 0; i <= 100; i+=2) {
            sum1=sum1+i;
        }
        for (int j = 1; j <=100; j+=2) {
            sum2=sum2+j;
        }
        System.out.println(sum1);
        System.out.println(sum2);
    }
}

輸出1-1000的質數,每三個換行

public class forDemo03 {
    public static void main(String[] args) {
        for (int i1 = 1; i1 <= 1000; i1++) {
            if (i1%5==0){
                System.out.print(i1+"\t");
            if (i1%(5*3)==0){
                System.out.println("\n");
                }
            }
        }
    }
}

數組的定義及遍歷

public class forDemo05 {
    public static void main(String[] args) {
        int[] number={10,20,30,40,50};  //定義了一個數組

        //遍歷數組的元素
        for (int i = 0; i < 5; i++) {
            System.out.println(number[i]);
        }
        System.out.println("============================");
        for (int x:number){
            System.out.println(x);
        }

    }
}

打印九九乘法表

public class forDemo04 {
    public static void main(String[] args) {
        //拆分問題,拆分成不同的小問題逐步化解
        //1.先打印第一列
        //2.把固定的1再用循環包起來
        //3.去掉重復項,i2<=i1
        //4.調整樣式
        for (int i1 = 1; i1 <= 9; i1++) {
            for (int i2 = 1; i2 <= i1; i2++) {
                System.out.print(i2+"*"+i1+"="+(i1*i2)+"\t");
            }
            System.out.println();
        }
    }
}

輸出三角形

public class testDemo01 {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            //輸出的空格逐漸減少,可將初始值設為最大之后逐漸減小
            for (int i1 = 5; i1 >= i; i1--) {
                System.out.print(" ");
            }
            //輸出的數字逐漸增多,可將初始值設為最小之后逐漸增大
            for (int i1 = 1; i1 <= i; i1++) {
                System.out.print(i1);
            }
            //輸出的數字逐漸增多,將初始值設為最后之后逐漸增大
            for (int i1 = 1; i1 < i; i1++) {
                System.out.print(i1);
            }
            System.out.println();
        }
    }
}

break與continue

  • break用於跳出當前循環結構,繼續執行后續語句;
  • continue用於結束本次循環,不再執行本次循環的后續語句,直接進入下次循環;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM