1. 程式人生 > >其它 >java流程控制之For迴圈

java流程控制之For迴圈


For迴圈


1.for迴圈:

  • 雖然所有的迴圈結構都可以用while或者do....while表示,但java提供了另外一種語句—for迴圈,使一些迴圈結構變得更加簡單。
  • for迴圈語句是支援迭代的一種通用結構, 是最有效、最靈活的迴圈結構

  • for迴圈執行的次數是在執行前就確定的。

  • 基本語法:

          for(初始化化;布林表示式;更新語句){
              //迴圈內容
          }
    
  • 關於for迴圈有以下幾點說明

  • 1. 最先執行初始化步驟,可以宣告一種型別,但可初始化一個或多個迴圈控制變數,也可以是空語句。
  • 2. 然後,檢測布林表示式的值。如果為true,迴圈體被執行。如果為false,迴圈終止,開始執行迴圈體後面的語句。
  • 3. 執行一次迴圈後,更新迴圈控制變數(迭代因子控制迴圈變數的增減)。再次檢測布林表示式,迴圈執行上面的過程

1.1 while和for迴圈對比演示:

package struct;

public class ForDemo01 {
    public static void main(String[] args) {
        int a=0;//初始化條件

        while (a<100){//條件判斷
            a+=2;//迭代
            System.out.print(a+"\t");//迴圈體
        }
        System.out.println("\n"+"while迴圈結束");

        //初始化 //條件判斷  //迭代
        for(int i=2;i<100;i+=2){

            System.out.print(i+"\t");
        }

        System.out.println("\n"+"for迴圈結束");


      //   快捷鍵  100.for+ 回車鍵
        for (int i = 0; i < 100; i++) {

        }
        
    }
}

執行結果

2	4	6	8	10	12	14	16	18	20	22	24	26	28	30	32	34	36	38	40	42	44	46	48	50	52	54	56	58	60	62	64	66	68	70	72	74	76	78	80	82	84	86	88	90	92	94	96	98	100	
while迴圈結束
2	4	6	8	10	12	14	16	18	20	22	24	26	28	30	32	34	36	38	40	42	44	46	48	50	52	54	56	58	60	62	64	66	68	70	72	74	76	78	80	82	84	86	88	90	92	94	96	98	
for迴圈結束

1.2 for死迴圈演示:

package struct;

public class ForDemo01 {
    public static void main(String[] args) {
       
       //for死迴圈
        for (;;){
          System.out.println("加油!");  
        } 
    }
}



1.3 for迴圈簡單演示:計算輸出1~100奇數和偶數的和

package struct;

public class ForDemo02 {
    public static void main(String[] args) {
        //計算100之間奇數和偶數的和

        //方法一:計算出奇數和偶數後相加
        int sum=0;
        int sum1=0;
        for (int i = 0; i <= 100; i=i+2) {
            //System.out.println(i);
            sum=sum+i;

        }
        System.out.println("偶數的和為:"+sum);

        for (int j = 1; j <= 99; j+=2) {
            sum1=sum1+j;
            //System.out.println("和"+sum1);
            //System.out.println(j);

        }
        System.out.println("奇數的和為:"+sum1);
        System.out.println(sum+sum1);


        System.out.println("============================");
        //方法二

        int oddSum=0;    //odd    奇數
        int evenSum=0;  //  even 偶數的
        for (int i = 0; i <= 100; i++) {
            if(i%2==0){

                oddSum=oddSum+i;
            }else {
                evenSum=i+evenSum;
            }

        }
        System.out.println("奇數的和:"+oddSum);
        System.out.println("偶數的和:"+evenSum);
        System.out.println(evenSum+oddSum);


    }
}


執行結果

偶數的和為:2550
奇數的和為:2500
5050
============================
奇數的和:2550
偶數的和:2500
5050


1.4 for迴圈演示:輸出1~1000之間能被3整除的數,並且每行輸出3個

package struct;

public class ForDemo03 {


    public static void main(String[] args) {

        //用while或者for 迴圈輸出1-1000之間能被5整除的數,並且每行輸出3個
        for (int i = 0; i <= 1000; i++) {

            if(i%5==0){

                System.out.print(i+"\t");  //\t 的意思是 橫向跳到下一製表符位置
            }
            if(i%(5*3)==0){//每行
                
                System.out.print("\n");    //\n  換行
                //System.out.println();    相當於上述程式碼
                
            }

        }

        //System.out.println();      輸出完,會換行
        //System.out.print();        輸出完,不會換行
       /* Print: 將資訊顯示在命令視窗中,輸出游標定位在最後一個字元之後。

          Println:將資訊顯示在命令視窗中,輸出游標換行定位在下一行開頭。
       */



    }
}

執行結果

0	
5	10	15	
20	25	30	
35	40	45	
50	55	60	
65	70	75	
80	85	90	
95	100	105	
110	115	120	
125	130	135	
140	145	150	
155	160	165	
170	175	180	
185	190	195	
200	205	210	
215	220	225	
230	235	240	
245	250	255	
260	265	270	
275	280	285	
290	295	300	
305	310	315	
320	325	330	
335	340	345	
350	355	360	
365	370	375	
380	385	390	
395	400	405	
410	415	420	
425	430	435	
440	445	450	
455	460	465	
470	475	480	
485	490	495	
500	505	510	
515	520	525	
530	535	540	
545	550	555	
560	565	570	
575	580	585	
590	595	600	
605	610	615	
620	625	630	
635	640	645	
650	655	660	
665	670	675	
680	685	690	
695	700	705	
710	715	720	
725	730	735	
740	745	750	
755	760	765	
770	775	780	
785	790	795	
800	805	810	
815	820	825	
830	835	840	
845	850	855	
860	865	870	
875	880	885	
890	895	900	
905	910	915	
920	925	930	
935	940	945	
950	955	960	
965	970	975	
980	985	990	
995	1000	

1.5 for迴圈演示:列印九九乘法表

package struct;

public class ForDemo04 {

    public static void main(String[] args) {

        //1.我們先列印第一列,也就是for迴圈
        //2.我們把固定的1再用一個迴圈包起來
        //3.去掉重複項,i<=j
        //4.用println 和print 調整樣式
        
        
        for (int i = 1; i <= 9; i++) {  //外行內列
            for (int j = 1; j <= i; j++) {

                System.out.print(i+"*"+j+"\t");
            }
            System.out.println("-------------------");

        }
        
    }

    /*
    *
    *
    *
    *                                                                           //
    *                                                                          /   是    執行列印語句   迴圈j++,判斷j是否小於i是就接著迴圈第二層 直到否跳出
    *                                                                          /
    *                                              // //                       /
    *                                              /      執行 i=1,判斷j是否小於i /   否    跳出第二層迴圈執行列印語句 之後i++ 判斷i是否小於等於9
    *                                              /                           /
    *                                              /                            //
                            是   進入第二層for中      /
    * 當i=1 時,i是否小於9                            /
    *                                              /
    *                                              // //
    *                       否   條件不成立不執行for
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    * */



}


執行結果

1*1	-------------------
2*1	2*2	-------------------
3*1	3*2	3*3	-------------------
4*1	4*2	4*3	4*4	-------------------
5*1	5*2	5*3	5*4	5*5	-------------------
6*1	6*2	6*3	6*4	6*5	6*6	-------------------
7*1	7*2	7*3	7*4	7*5	7*6	7*7	-------------------
8*1	8*2	8*3	8*4	8*5	8*6	8*7	8*8	-------------------
9*1	9*2	9*3	9*4	9*5	9*6	9*7	9*8	9*9	-------------------



2. 更多參考

狂神說Java