int型とfor文

こんにちは。「Javaを復習する初心者」です。

今回は繰り返し処理を記述することをやりました。

スポンサーリンク

ソースと実行結果

プログラムでは似たような処理を何度も実行する場合があります。そのような処理が繰り返し処理の場合、for文を使うことを考えると良いでしょう。

例として、「Hello World.[X]」(X=1, 2, 3, 4, 5)と順番に数値を追加して出力するという処理について、どのように記述すればよいかを考えてみました。[X]と唐突に書きましたが、変数Xの値という意味合いで書きました。このような書き方は設計書で使うことがあります。

以下、for文を使ったソースコードの例と出力結果です。

ソースコード
package test;

public class HelloFor {

    public static void main(String[] args) {

        String s = "Hello World.";
        int max = 5;
        for (int i = 1; i <= max; i++) {
            System.out.println(s + i);
        }

    }

}
結果
Hello World.1
Hello World.2
Hello World.3
Hello World.4
Hello World.5

解説

int型変数maxを宣言して、初期値「5」にしていますが、これはfor文で使うために書きました。後でわかりますが、今回は変数を使わなくても良いのですが、for文に変数が使えることを知っておくと便利だと思い、今回はこのようにしました。

変数maxは繰り返し回数のための変数です。for文は繰り返し変数の値がいくつになったら終了するかという書き方をします。その個所に変数maxを使うのですが、繰り返し回数が変化しない場合は、変数を使わなくても良いです。

for文の構文は以下です。

構文
    for(初期化; 条件; 更新) {
        処理内容;
        ・
        ・
        ・
    }

中括弧で囲んだ箇所をfor文ブロックと呼ぶことにします。for文ブロックには繰り返したい処理の内容を記述します。

構文にある「初期化」の箇所は繰り返し処理に入る前に一度実行されます。この箇所では変数宣言も使えます。例では「int i = 1」とint型変数iを宣言し、「1」で初期化しています。この変数iの有効範囲はfor文ブロックです。変数のスコープに関することなのですが、細かいことは省略します。ちなみにC言語ではこのような使い方はできません。なので、Javaを知る前にC言語の知識が既にある場合、この書き方が出来ることを見逃してしまうかもしれません。

構文にある「条件」の箇所には、次の繰り返し処理を実行するか判定条件を記述します。for文ブロックの最後の行が実行された後、構文にある「更新」の箇所が実行されます。このあと、「条件」を満たすか判定されます。「条件」を満たす場合、for文ブロックの最初に処理が推移します。

今回は「更新」にはインクリメントを使って「iを1加算する」という内容を記述しています。また、「条件」には、比較演算子を使って「iがmax以下」という条件を記述しました。なので、変数iの値が「1」から「5」の場合、for文ブロックの内容が実行されます。iの値が「5」のとき、for文ブロックの最後の行が実行された後、「更新」の処理が実行され、変数iの値が「6」になります。「条件」が判定されまずが、判定結果が偽なので、for文ブロックから処理が抜けます。

for文ブロックの処理内容では、「初期化」で宣言した変数を使うことが多いです。今回は、printlnで変数sと変数iの連結の結果を出力しています。a + bはa, bどちらかが文字列の場合、文字列の連結になります。

スポンサーリンク
構文
「Javaを復習する初心者」が復習・学習するブログ
タイトルとURLをコピーしました