コマンドラインに与えたデータは文字列の配列としてプログラムに渡されます。
たとえば下図のようなデータを与えたとしましょう。
main メソッドのパラメタが (String[] args) であれば、
下図のようなデータ構造が作成され main メソッドの実行が始まります。
データの合計を求めたければ、
Integer.parseInt(args[0]) + Integer.parseInt(args[1]) + Integer.parseInt(args[2]) + Integer.parseInt(args[3])
と書くことができます。
データの個数がいつも4個と決まっていない場合は次のような計算になります。
sum = 0;
sum = sum + Integer.parseInt(args[0]);
sum = sum + Integer.parseInt(args[1]);
sum = sum + Integer.parseInt(args[2]);
sum = sum + Integer.parseInt(args[3]);
sum = sum + Integer.parseInt(args[4]);
...
つまり、合計を求めるソロバンのようなものを用意して、最初に 0 にしておき、
データのあるだけ順に足しこんでいきます。
2行目は、sum の内容と args[0]
の内容(を整数に変換したもの)を加算し、 sum に格納するという意味です。
あるいは、sum という名前がついたデータと、 args[0] という名前がついたデータを加え、
sum という名前を付ける、と読んでもかまいません。
2行目以降は、共通のパターンで
sum = sum + Integer.parseInt(args[i]);
の
i の部分が 0 から args.length - 1 まで変わります。
これを for 文で表すと
for(int i=0; i<args.length; i++) {
sum = sum + Integer.parseInt(args[i]);
}
になります。
中カッコの中には文が1つしかありませんから、次のようにも書けます。
for(int i=0; i<args.length; i++) sum = sum + Integer.parseInt(args[i]);
さらに、Javaらしく次のようにも書けます。
for(int i=0; i<args.length; i++) sum += Integer.parseInt(args[i]);