ここで紹介するfor文は、前判定型であり、繰り返し処理に入る前に
繰り返し条件をチェックする。したがって、条件によっては繰り返し処理を
1度も実行しない場合もあり得る。
for文は、while文に初期設定と、変化式を組み合わせたものです。これまでの
例と同様に1から100までの合計を求めてみる。while文を使用すると下記のようになる。
import java.io.*;
class Test{
public static void main(String args[]){
int n, t;
n = 1; // 初期設定
t = 0; // 初期設定
while(n <= 100){
t = t + n;
n = n + 1; // 変化式
}
System.out.println("1から100までの合計は"+t+"です");
}
}
|
上のイタリックの部分は、繰り返し処理に入るための初期設定をしている部分で、
アンダーラインの部分は、次回の繰り返し処理のための最初期化をする部分である。for文ではこれらを
一緒に組み込むことができる。実際には下記のようになる。
import java.io.*;
class Test{
public static void main(String args[]){
int n, t;
for( n = 1, t = 0 ; n <= 100 ; n = n + 1){
t = t + n;
}
System.out.println("1から100までの合計は"+t+"です");
}
}
|
すなわち、
for ( 初期設定 ; 条件式 ; 変化式 )
繰り返し処理
|
となる。
初期設定、変化式はカンマ「,」で区切って複数の式にすることもできるが、
あまり書かない。また、初期設定、変化式が必要ない場合は、必ずしも記述する必要はなく、
省略することもできる。しかしこの場合もセミコロン「;」は省略できない。その例を
下記に示す。
import java.io.*;
class Test{
public static void main(String args[]){
int n, t;
n = 1; // 初期設定
t = 0; // 初期設定
for( ; n <= 100 ; n = n + 1){
t = t + n;
}
System.out.println("1から100までの合計は"+t+"です");
}
}
|
繰り返す処理が1文の時は、中括弧を省略し、下記のように書くこともできる。
import java.io.*;
class Test{
public static void main(String args[]){
int n, t;
n = 1; // 初期設定
t = 0; // 初期設定
for( ; n <= 100 ; n = n + 1)
t = t + n;
System.out.println("1から100までの合計は"+t+"です");
}
}
|
このように処理が1文の時に中括弧を省略できるのは「if」「else」文、「while」文も同様である。