Java流程結構04:循環結構

while循環

  • 是最基本的循環,他的結構爲:

  • 只要布爾表達式爲true,循環就會一直執行下去。

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

  • 少部分情況需要循環一直執行,比如服務器的請求響應監聽等。

  • 循環條件一直爲true就會造成無限循環【死循環】,我們正常的業務編程中應該避免死循環。會影響程序性能或者造成程序卡死崩潰!

  • 語法

        while (表達式){
            //只要表達式爲true,就一直會執行循環內容
        }
  • 示例
public class WhileDemo01 {
    public static void main(String[] args) {
        //輸出1-100
        int i=1;

        while (i<100){
            System.out.println(i++);
        }
    }
}
  • 計算1+2+3…+100 ?
public class WhileDemo02 {
    public static void main(String[] args) {
        //計算1+2+3...+100
        int i=0;
        int sum=0;

        while (i<=100){
           sum=sum+i;
           i++;
        }
        System.out.println(sum);
    }
}

do…while循環

  • 對於while語句而言,如果不滿足條件,則不能進入循環。但有時候我們需要即使不滿足條件,也至少執行一次。
  • do…while循環和while循環相似,不同的是,do…while循環至少會執行一次。
  • 語法
        do{
           //代碼語句
        }while (表達式);
  • while和do-while的區別:
    1. while先判斷後執行,dowhile先執行後判斷!
    2. do…while總是保證循環體被至少執行一次!這是他們的主要差別。
  • 示例
public class WhileDemo03 {
    public static void main(String[] args) {
        //計算1+2+3...+100
        int i=0;
        int sum=0;

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

        System.out.println(sum);
    }
}
public class WhileDemo04 {
    public static void main(String[] args) {
        int a=0;
        /*
        while先判斷a不小於0,所有裏面的內容不會被執行
         */
        while (a<0){
            System.out.println(a);
            a++;
        }
        System.out.println("================");
        /*
        do while先執行後判斷,a不小於0表達式不爲true,但至少還是保證一次執行
         */
        do {
           System.out.println(a);
           a++;
        }while (a<0);
    }
}

for循環

  • 雖然所有的循環結構都可以使用while 或者 do…while表示,但Java提供了另外一種語句——for循環,使一項循環結構變得更加簡單。
  • for循環語句是支持迭代的一種通用結構,是最有效、最靈活的循環結構
  • for循環執行的次數在執行前就確定的。語法如下:
        for (初始化;布爾表達式;更新){
            //代碼語句
        }
  • 示例
public class ForDemo {
    public static void main(String[] args) {
       int a=1; //初始化條件

        while(a<=100){//條件判斷
            System.out.println(a);//循環體
            a+=2;//迭代
        }

        System.out.println("while循環執行結束");

        /*
        int i=1; 初始化條件
        i<=100; 條件判斷
        1++ ; 迭代
         */
        for(int i=1;i<=100;i++){
            System.out.println(i);
        }
        System.out.println("for循環執行結束");

    }
}
  • 練習1:計算0到100之間的奇數和偶數的和
public class ForDemo2 {
    public static void main(String[] args) {

        int odd=0;
        int even=0;

        for (int i=0;i<100;i++){
            if(i%2!=0){  //奇數
                 odd+=i;
            }else{ //偶數
                even+=i;
            }
        }
        System.out.println("奇數的和:"+odd);
        System.out.println("而偶數的和:"+even);
    }
}
  • 練習2:用while或for循環輸出1-1000之間能被5整除的數,並且每行輸出3個
public class ForDemo3 {
    public static void main(String[] args) {
        for (int i=0;i<=1000;i++){
            if(i%5==0){
                System.out.print(i+"\t");
            }

            if(i%15==0){
                System.out.println("");
                //或者使用 System.out.print("\n");
            }

            /**
             *  print 輸出完之後不會換行
             *  println 輸出完之後會換行
             */
        }
    }
}
  • 練習3:打印九九乘法表

增強型for循環

  • 這裏我們先只是見一面,做個瞭解,之後數組我們重點使用
  • Java5引入了一種主要用於數組或者集合的增強型for循環。
  • Java增強for循環語法格式如下:
        for (聲明語句:表達式) {
            //代碼句子
        }
  • 聲明語句: 聲明新的局部變量,該變量的類型必須和數組元素的類型匹配。其作用域定在循環語句塊,其值與此時數組元素的值相等。
  • 表達式:表達式是要訪問的數組名,或者是返回值爲數組的方法。
  • 示例
public class ForDemo5 {
    public static void main(String[] args) {
          //定義了應該數組
         int[] number={10,20,20,30,40};

        //number.length 獲取數組元素的長度
        for (int i = 0;i<number.length;i++) {
            //取元素從0開始
            System.out.println(number[i]);
        }
        System.out.println("====================");

         //遍歷數組的元素
        for (int i : number) {
            System.out.println(i);
        }
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章