繰り返し

以下のプログラムを見てみる.
class MyName {
  public static void main(String[] args){
    System.out.println("TTTTTTT   TTTTTTT");
    System.out.println("   T         T"); // (1)
    System.out.println("   T         T"); // (1)
    System.out.println("   T         T"); // (1)
    System.out.println("   T    ..   T"); // (2)
    System.out.println("   T    ..   T"); // (2)
  }
}
(1) と書いた3行,(2)と書いた2行はまったく同じ動作を繰り返している. Java言語では繰り返しのための構文がいくつかあるが,そのうちの for 文を 使って以下のように書くことができる.
class MyName {
  public static void main(String[] args){
    int i;
    System.out.println("TTTTTTT   TTTTTTT");
    for(i=0;i<3;i++)
      System.out.println("   T         T");
    for(i=0;i<2;i++)
      System.out.println("   T    ..   T");
  }
}
ここの i++ は i=i+1 と同じ意味を表す.また,「<」という演算子は数学上 の使い方と一緒である.
    for(i=0;i<回数;i++)
      文
で,文を指定した回数だけ繰り返すことができる.

for文は,

for(式1;式2;式3)
  文
という構文で,以下の動作をする.
  1. はじめに式1を計算する
  2. 式2(結果が真偽値になるような式)を計算して結果が真ならば3に進む
  3. 文を実行する
  4. 式3を実行する
  5. 2に進む

繰り返しの文が複数ある時は,以下のように「{」,「}」でまとめて1つの文 にすることができる.
    for(i=0;i<2;i++){
      System.out.print("   T    ");
      System.out.prinln("..   T");
    }
式1のところには,変数宣言を一つだけ書くことができる.繰り返し回数を指 定するためだけの変数 i などは,ここで宣言して,
class MyName {
  public static void main(String[] args){
    System.out.println("TTTTTTT   TTTTTTT");
    for(int i=0;i<3;i++)
      System.out.println("   T         T");
    for(int i=0;i<2;i++)
      System.out.println("   T    ..   T");
  }
}
のように書くことを推奨している入門書も多い.ここで,変数 i の宣言が2回 おこなわれていることに気がついた人もいるかもしれない.変数は宣言した場 所によって,有効範囲(スコープ)が決まっていて,スコーブ外では同じ名前で 変数を宣言しても良い.

ちょっとづつ違う繰り返し

先ほどはまったく同じ文を実行する例だったが,変数の値を変化することによっ て,繰り返し実行の内容を変更することができる.
class VarTest {
  public static void main(String[] args){
    int i;
    for(i=1;i<10;i++)
      System.out.println( i + " の2乗は " + (i*i) + "です"); //(1)
  }
}
のプログラムでは,(1)の文を9回繰り返し実行するが,その時のi 値が 1,2,3,4,5,6,7,8,9 と変化するため,実行結果は
1 の2乗は 1です
2 の2乗は 4です
3 の2乗は 9です
4 の2乗は 16です
5 の2乗は 25です
6 の2乗は 36です
7 の2乗は 49です
8 の2乗は 64です
9 の2乗は 81です
となる.
次に進む