繰り返し
以下のプログラムを見てみる.
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 と書いても同じである).また,「<」という演算子は数学上
の使い方と一緒である.
for(i=0;i<回数;i++)
文
で,文を指定した回数だけ繰り返すことができる.
指定する回数繰り返すなら,
for(i=1;i<=回数;i++)
文
と書いても同じだが,Java言語ではどちらかというと,
for(i=0;i<回数;i++)
文
という書き方の方が好まれる.
|
for文は,
for(式1;式2;式3)
文
という構文で,以下の動作をする.
- はじめに式1を計算する
- 式2(結果が真偽値になるような式)を計算して結果が真ならば3に進む
- 文を実行する
- 式3を実行する
- 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です
となる.
次に進む