for 迴圈

Java 中級

Jim White

Java Developer

迴圈

  • 重複執行某個動作多次
  • Java 最常見:for 迴圈
    • 已知要重複幾次時使用

三支箭組成圓圈的圖片

Java 中級

for 語法

for (int i = 0; i < 5; i++) {

  // Do something

}
  • i:迭代器
  • int i = 0:從 0 開始的 i
  • i < 5:當 i 小於 5 時持續
  • i++:每次迴圈後將 i1
  • iterable:可被迴圈遍歷的東西
    • 例如:Stringarray
Java 中級

for 範例

for (int i = 0; i < 5; i++) {
  System.out.println("Hello".charAt(i));
}  
H

e
l l o
  • i 是迭代器
  • "Hello" 是 iterable
Java 中級

用 for 走訪陣列

// 走訪陣列並印出每個元素
int[] num = {1, 2, 3, 4, 5};

for (int i = 0; i < num.length; i++) {
    System.out.println(num[i]);
}
1
2
3
4
5
Java 中級

在迴圈中加總到陣列

// 走訪陣列
// 並將 i 加到每個元素上
int[] num = {1, 2, 3, 4, 5};

for (int i = 0; i < num.length; i++) {
    System.out.println("Old: " + num[i]);
    num[i] += i;
    System.out.println("New: " + num[i]);
}
Old: 1
New: 1
Old: 2
New: 3
Old: 3
New: 5
Old: 4
New: 7
Old: 5
New: 9
Java 中級

無窮迴圈

  • 原因:
    • 未更新迭代器
    • 停止條件錯誤
  • 避免無窮迴圈!
    • 可能讓程式當機或崩潰

範例

// i 永遠大於 3
for (int i = 3; i > 2; i = i + 1) { 
  System.out.println("Forever...");
}
// 沒有更新 i
for (int i = 0; i < 10; i = i - 0) {
  System.out.println("And ever...");
Java 中級

break

  • 用來提前結束迴圈
  • 並非良好習慣,請審慎使用
    • 通常 while 迴圈更合適
for (int i = 0; i < 5; i++) {
  System.out.println(i);
  if (i == 1) {
    break; // 當 i 為 1 時中斷迴圈
  }
}
0
1
Java 中級

重點回顧

// for 迴圈範例
// 包含 break 關鍵字
String word = "Hey";

for (int i = 0; i < word.length(); i++){
  System.out.println(word.charAt(i));
  if (i == 2) {
    System.out.println("!");
    break;
  }
  System.out.println("-");
}
  • i:迭代器
  • word:iterable
  • for 迴圈執行預先決定的次數
    • 0 跑到 word 的結尾
    • 除非使用 break 關鍵字
H
-
e
-
y
!
Java 中級

一起來練習吧!

Java 中級

Preparing Video For Download...