for文あれこれ


処理に支障が無ければ極力「拡張for文」を使いなさいとのこと。

拡張forで書ける部分を通常のforで書いてあると
何かそうすることに意味があるのかな?と読み手が思ってしまうからだそうです。
(パフォーマンスを意識して特別な処理をしているのかな?とか)


拡張for文はJDK5で追加された新機能。
通常のfor文でこう書いていたものを

for(int i = 0; i < array.length; i++){
    System.out.println(array[i]);
}

拡張for文を使えばこう書くことができます。

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

                                                                              • -

あと、for文について基本的なことをわかってませんでした。

× for(初期値; 継続条件; 増分){}

○ for(前処理; 継続条件; 後処理){}

つまり、後処理が無ければ省略してもいいし、後処理で数を増減する必要もないのです。
後処理の部分にSystem.out.print(i)を入れたりなんかしてもいいわけです。

実際にやってみた。

for(int i = 0; true; System.out.println(i + "回目の後処理")) {
	if(i == 5) break;
	i++;
}

出力:
1回目の後処理
2回目の後処理
3回目の後処理
4回目の後処理
5回目の後処理


i++も計算式だってこと考えればそうなんだろうけど盲点でした。
後処理のタイミングも見てください。