j++)」というように、両方を第3項(反復式)に記入したほうが見やすくなる場合があります。この時、反復式に他の変数や定数を用いる場合は注意が必要です。下記のような2つの変数を増加させる繰り返しを行うプログラムがあるとします。変更前と実行結果この繰り返しの最後にある変数jの操作を、前述の理由でfor文の第3項に移したところ、なんと、違う結果になってしまいました。変更すると異なる実行結果に実はインタフェースのおかげでエラーにならなかっただけこの違いが発生した原因は、定数「CNTUP」にあります。実は、このクラスが実装しているインタフェースに同じ名前の定数が定義されていたので、変更後には、ローカルの定数「CNTUP」が無視されてしまったのです。インタフェースを開いてみるとよって、もし、このインタフェースが実装されてなければ、変数jの操作をfor文の第3項に移した段階でコンパイルエラーになるはずでした。本来はコンパイルエラーこの現象からも、for文の第3項はそれより前に定義済みの変数や定数しか使えないことがわかります。正確には、同じfor文の第1項(初期化部)までに定義されているかどうかがチェックされます。for文の第3項は、実際に実行されるタイミングがforブロックの内容の後ですので、forブロックの内部で定義された変数や定数を利用できそうに見えますが、そうではありません。この例のようにコンパイルエラーにならない場合、発見が困難ですので注意が必要です。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。