for 文 の例

【コマンドラインに与えた数値の合計】

プログラム ForStatementDemo1.java

実行例

ForStatementDemo1-2.gif

for1/ForStatementDemo1-1.gif

ループの作り方がピンとこないという方に、 こんな解説は いかがでしょうか?

上記の実行例について、 for 文 が実行される様子を アニメーション にしてみました。 「進む」ボタンを押して、プログラムが実行される様子を理解してください。

青い太線が、実際にメモリ上に保持されるデータです。 赤い線は説明の補足です。

【1 から N までの合計】

たとえば、8 に対して 1+2+3+ ... +8 を計算して表示してみましょう。

プログラム ForStatementDemo2.java

1 + 2 + 3 + ... + args[0]
のような計算は、
sum = 0;
sum += 1;
sum += 2;
sum += 3;
...
sum += Integer.parseInt(args[0]);
ですから、
sum = 0;
for(int i=1; i<=Integer.parseInt(args[0]); i++) {
sum += i;
}
となります。 sum はローカル変数で十分なので、1行目を
int sum = 0;
とします。

実行例

ForStatementDemo2-2.gif

for1/ForStatementDemo2-1.gif

コマンドラインに与えるデータが N というものであると強調するのであれば、 つぎのようなコーディングになります。

int n = Integer.parseInt(args[0]);
int sum = 0;
for(int i=1; i<=n; i++) {
sum += i;
}

【改良1】

プログラム ForStatementDemo2.java をもとに、複数の数値について 1〜N の合計を求めるプログラムにします。

プログラム ForStatementDemo3.java

実行例

ForStatementDemo3-2.gif

ForStatementDemo3-1.gif
上記の実行例について、 for 文 が実行される様子を アニメーション にしてみました。

1から10までの和の計算は、途中の表示を省略してあります。


Top Page