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 と同じ意味を表す.
正確にいうと,iに関する操作では同じだが,式自体の値は,1を足す前の値に なるので,その点は異なっている.また,「<」という演算子は数学上 の使い方と一緒である.i=2; j=(i=i+1);とすると,iには3が,jには3が入るが,i=2; j=i++;とすると,iには3が,jには2が入る.++iとすると,(i=i+1)と同じ意味になる.同様に,i--, --iという演算も用意されている.
for(i=0;i<回数;i++)
文
で,文を指定した回数だけ繰り返すことができる.
指定する回数繰り返すなら,for(i=1;i<=回数;i++) 文と書いても同じだが,Java言語ではどちらかというと,for(i=0;i<回数;i++) 文という書き方の方が好まれる.
for文は,
for(式1;式2;式3) 文という構文で,以下の動作をする.
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ですとなる.