使用 for 迴圈

for迴圈


「for」迴圈是程式設計中常用的迴圈型式,可以重複執行固定次數的工作。適用於計數式的條件控制,程式執行時已事先知道迴圈次數。for迴圈的一般用法為for(起始值;  範圍值;  遞增值;) 大括號區塊為重複執行的程式碼。在小括號中建立的變數「i」在結束迴圈後就會消失。大括號裡面的程式碼是在小括號每次執行完且成立時才會執行。之後只要遇到重複的工作,應該要建立要以「for」迴圈來處理「已知次數」的基本概念

例如想要在電腦螢幕上印出5行文字,因為知道需要5行,因此如下方使用使用for迴圈
public class CH0801 {

 public static void main(String[] args) {
  
  for (int i = 1; i <= 5; i++) {

   System.out.println("第" + i + "行");

  }

 }

}


在控制迴圈的圓括號中,定義「int」變數「i」從1開始每次遞增1, 直到「i」的值等於5為止。
「i++」是一元運算子,意思等同於 「i = i + 1」

印出0~100中的單數,並將所有單數相加總
提示1: 以%求餘數,如 10%2 是求 10除2 的餘數,結果為0。表示10能被2整除
提示2: 迴圈起始從0開始到100,i=0, i<=100


巢狀for迴圈

巢狀迴圈是利用外層迴圈觸發內層迴圈執行,當外層迴圈每遞增執行1次,就會觸發內層迴圈範圖值的執行次數。
public class CH0802 {

 public static void main(String[] args) {
  
  for (int i = 1; i <= 5; i++) { //注意i的值
            
    System.out.println("外層迴圈執行第"+i+"次");

     for (int j = 1; j <= 5; j++) { //注意j的值

      System.out.print("內層迴圈執行第"+j+"次, ");

     } 
   
  }
  
 }

}

印出右斜三角形

public class CH0803 {

 public static void main(String[] args) {
  
  for (int i = 1; i <= 5; i++) { // 高度為5           
      
      for (int j = 1; j <= i; j++) { //寬度為外層迴圈次數的遞增

          System.out.print("*");

      }
     
      System.out.println(""); //每次換1行             

  }
  
 }

}

印出左斜三角形

public class CH0804 {

 public static void main(String[] args) {
  
  for (int i = 5; i >= 0; i--) { // 高度為5           
       
       for (int j = 1; j <= i; j++) {//寬度為外層迴圈次數的遞增

           System.out.print("*");

       }
      
       System.out.println("");//每次換1行             

   }
  
 }

}

簡化型for迴圈

主要用於數組的增強型for循環語法格式為: for(輸出的資料型態及名稱 : 要被輪詢的物件)
public class CH0807{
   public static void main(String args[]){
      int [] numbers = {10, 20, 30, 40, 50};
 
      for(int x : numbers ){
         System.out.print( x );
         System.out.print(",");
      }
      System.out.print("\n");
      String [] names ={"James", "Larry", "Tom", "Lacy"};
      for( String name : names ) {
         System.out.print( name );
         System.out.print(",");
      }
   }
}

初學階段只要記得for迴圈的一般用法為「for(起始值;  範圍值;  遞增值;) 」
簡化型的for迴圈只需要知道有這個東西,暫時不會有很多場合或機會用到。

綜合練習: 印出九九乘法
//這個例子能印出基本九九乘法
for (int i = 1; i <= 9; i++) { 
 
 for (int j = 1; j <= 9; j++) {
  
  System.out.print(i + "*" + j+"="+(i*j)+", ");

 }

 System.out.println();

}


提示: System.out.print為不換行列印,System.out.println為換行列印。
「print」有加「ln」表示要換行
「print」沒加「ln」則表示在同一行追加文字。
1*1=1, 1*2=2, 1*3=3, 1*4=4, 1*5=5, 1*6=6, 1*7=7, 1*8=8, 1*9=9, 
2*1=2, 2*2=4, 2*3=6, 2*4=8, 2*5=10, 2*6=12, 2*7=14, 2*8=16, 2*9=18, 
3*1=3, 3*2=6, 3*3=9, 3*4=12, 3*5=15, 3*6=18, 3*7=21, 3*8=24, 3*9=27, 
4*1=4, 4*2=8, 4*3=12, 4*4=16, 4*5=20, 4*6=24, 4*7=28, 4*8=32, 4*9=36, 
5*1=5, 5*2=10, 5*3=15, 5*4=20, 5*5=25, 5*6=30, 5*7=35, 5*8=40, 5*9=45, 
6*1=6, 6*2=12, 6*3=18, 6*4=24, 6*5=30, 6*6=36, 6*7=42, 6*8=48, 6*9=54, 
7*1=7, 7*2=14, 7*3=21, 7*4=28, 7*5=35, 7*6=42, 7*7=49, 7*8=56, 7*9=63, 
8*1=8, 8*2=16, 8*3=24, 8*4=32, 8*5=40, 8*6=48, 8*7=56, 8*8=64, 8*9=72, 
9*1=9, 9*2=18, 9*3=27, 9*4=36, 9*5=45, 9*6=54, 9*7=63, 9*8=72, 9*9=81, 
如何將結果改成
1*1=1 |2*1=2 |3*1=3 |4*1=4 |5*1=5 |6*1=6 |7*1=7 |8*1=8 |9*1=9 |
1*2=2 |2*2=4 |3*2=6 |4*2=8 |5*2=10|6*2=12|7*2=14|8*2=16|9*2=18|
1*3=3 |2*3=6 |3*3=9 |4*3=12|5*3=15|6*3=18|7*3=21|8*3=24|9*3=27|
1*4=4 |2*4=8 |3*4=12|4*4=16|5*4=20|6*4=24|7*4=28|8*4=32|9*4=36|
1*5=5 |2*5=10|3*5=15|4*5=20|5*5=25|6*5=30|7*5=35|8*5=40|9*5=45|
1*6=6 |2*6=12|3*6=18|4*6=24|5*6=30|6*6=36|7*6=42|8*6=48|9*6=54|
1*7=7 |2*7=14|3*7=21|4*7=28|5*7=35|6*7=42|7*7=49|8*7=56|9*7=63|
1*8=8 |2*8=16|3*8=24|4*8=32|5*8=40|6*8=48|7*8=56|8*8=64|9*8=72|
1*9=9 |2*9=18|3*9=27|4*9=36|5*9=45|6*9=54|7*9=63|8*9=72|9*9=81|
試著做做做看
1×1=1
1×2=2 2×2=4
1×3=3 2×3=6 3×3=9
1×4=4 2×4=8 3×4=12 4×4=16
1×5=5 2×5=10 3×5=15 4×5=20 5×5=25
1×6=6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=36
1×7=7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49
1×8=8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64
1×9=9 2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81


下一步 使用 while 迴圈

沒有留言:

張貼留言