English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 基礎教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 異常処理

Java 列表(List)

Java Queue(クエueue)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Javaの他のトピック

Java forループ

このチュートリアルでは、Javaでforループを使用する方法を学び、forループがコンピュータプログラミングでどのように機能するかも学びます。

コンピュータプログラミングでは、ループは特定の条件(テスト式がfalse)が満たされるまで特定のコードブロックを繰り返し実行するために使用されます。例えば、

画面上に文を印刷する必要があると想像してみてください50回。いいえ、print文を使用して50回(ループを使用しない場合)でこれを行うことができます。百万回も文を印刷する必要があると想像してみてください。その場合、ループを使用する必要があります。ループを使用することで、一度だけprint文を書き込んで、任意の回数実行できます。

これは単なる例ですが、ループがコンピュータプログラミングにおいてどれだけ重要であるかを示しています。

Java forループ

Javaのforループの文法は:

for (initialization; testExpression; update)
{
    // ループ内のコード
}

forループの動作

  1. 初期化(initialization)式は一度だけ実行されます。

  2. 次に、評価テスト式(testExpression)です。ここでは、テスト式(testExpression)は布尔値の式です。

  3. テスト式(testExpression)の計算結果がtrueの場合、forループ内のコードを実行します。

  4. その後、実行します。更新更新式(update)。

  5. 再び、テスト式(initialization)を評価します。

  6. テスト式がtrueの場合、forループ内のコードを実行し、更新式(update)を続行します。

  7.             このプロセスはテスト式(testExpression)がfalseと評価されるまで続行します。

  8. テスト式(testExpression)の計算結果がfalseの場合、forループは終了します。

forループのフローチャート

forループのワークフローチャート

例1:forループ

//プログラムは一文を10回印刷します。
class Loop {
    public static void main(String[] args) {
      
        for (int i = 1; i <= 10; ++i) {
            System.out.println("Line " + i);
        }
    }
}

出力

Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10

上記の例では、

  • 初期化式:int i = 1

  • テスト式:i <= 10

  • 更新式:++ i

ここでは、iの最初の値は1。したがって、テスト式が最初にtrueと評価されます。したがって、プリント文を実行します。次に、更新式を評価します。

更新式を評価するたびに、iの値が増加1まで続行します。そして、テスト式を再び評価します。そして、同じプロセスを繰り返します。

このプロセスはiが11。11がfalseの時、テスト式(i <= 10)がfalseになるまで、forループは終了しません。

テスト式やその評価方法に関する詳細情報を知りたい場合は、関係演算子および論理演算子

例2:forループ

//プログラムは1まで1000の自然数の和。
class Number {
    public static void main(String[] args) {
      
        int sum = 0;
	   
        for (int i = 1; i <= 1000; ++i) {
            sum += i;     //等しい sum = sum + i
        }
	   
        System.out.println("Sum = " + sum);
    }
}

出力

Sum = 500500

ここでは、sumという名前の変数があります。その初期値は0です。forループの内部で、iという名前の変数を初期値1。

forループの各反復で、

  • sum変数に値を割り当て:sum + i

  • iの値が増加1

ループはiの値が1000まで。より良い可視化効果を得るために、

1 繰り返し: i = 1 同時に sum = 0+1 = 1
2 繰り返し: i = 2 同時に sum = 1+2 = 3
3 繰り返し: i = 3 同時に sum = 3+3 = 6
4 繰り返し: i = 4 同時に sum = 6+4 = 10
... .. ...
999 繰り返し: i = 999 同時に sum = 498501 + 999 = 499500
1000 繰り返し: i = 1000 同時に sum = 499500 + 1000 = 500500

無限ループ

ループを使用する際には、常に注意深くすることが重要です。なぜなら、テスト式を常にfalseでないように設定しないと、forループが永遠に実行され続けることがあります。

これは無限ループと呼ばれます。例えば、}}

//無限ループ
class Infinite {
    public static void main(String[] args) {
      
        int sum = 0;
        for (int i = 1; i <= 10; --i) {
            System.out.println("Hello");
        }
    }
}

ここでは、テスト式(i <= 10)はfalseが発生することはありませんし、helloは無限に印刷されます(少なくとも理論的にはそうです)。

for ( ; ; ) {
}

Java for-eachループ(ループバージョン)

Javaでは、forループの別の文法を使用することができますJava 配列およびJava 集合(これをループバージョンと呼びます)。例えば、

for (int a : array) {
    System.out.println(a);
}

さらに詳しい情報については、以下のサイトにアクセスしてください:Java 遍历ループ