for文 #
繰り返し処理を行う制御構文の一つ、for文について各言語での利用法を示す。
Javaでの記法は以下の通り。
for(初期化式;条件式;変化式){
//処理
}
上記におけるフローは以下の通り。
- 初期化式を実行する。
- 条件式を実行しtrueなら3,falseなら6へ行く。
- for文の中身の処理が実行される。
- 変化式が実行される。
- 2.に戻る
- 終了する
for文の中の初期化式、条件式、変化式はコロン(;)で区切る必要がある。区切られてない場合などはコンパイルエラーが発生する。 また、初期化式、変化式は無くても良い。
実行例を以下に示す。
class Main{
public static void main(String args[]){
for(int i=0;i<5;i++){
System.out.println(i);
}
int j=0;
for(;j<5;){
System.out.println(j);
j++;
}
}
}
実行結果
> java Main
0
1
2
3
4
0
1
2
3
4
Pythonにもfor文はあるが、Javaの時とは違い初期値や条件は設定しない。
Pythonでは、リストなどのシーケンス型の値を用いてループ処理を実装する。記法は以下の通り。
for 変数 in シーケンス値
上記のように書くことで、シーケンス値に入っている値が1回のループで頭から順番に1個ずつ取り出され、それを元にfor文の処理が実行される。Javaの拡張for文と似たようなものである。
>>> #0..5のシーケンス型データ作成
>>> range(5)
range(0, 5)
>>>
>>> for i in range(5):
... print(i)
...
0
1
2
3
4
>>>
>>> #リストで0..5のデータ作成
>>> l = list(range(5))
>>> l
[0, 1, 2, 3, 4]
>>>
>>> for i in l:
... print(i)
...
0
1
2
3
4
>>>
Javascriptでのfor文も、Javaと記法・フロー共に同じである。
記法
for(初期化式;条件式;変化式){
//処理
}