今回は「あいだ」について
だって人間だもん、ではありません。
好きだ!君が僕の全てだ!でもありません。
あいだみつをさんについてあまり知りません。
愛についてはもっと知りません。
では、今回の「あいだ」は何か?
「間」です。
マの悪い自分には辛い話ですが。。
「~の間・・・を繰り返す」という文です。
”FOR文”または”WHILE文”を使います。
使い分けは、終了条件によって変えるのかなと思っています。
詳しくはまた後で。
まず、”FOR文”の書き方です。
for ( 初期値 ; 条件式 ; ループカウンタ ) {
繰り返す処理;
}
と書きます。文字で書くと分かりにくいですが。。。
初期値から始まり条件を満たす間、ループカウンタを数えながら処理を行う
ということです。条件やループカウンタの設定などを間違えると一生終わりません!
for ( $i = 0 ; $i > -1 ; $i++ ) {↑、一生終わりません。
処理;
}
初期値が”1”でそれを”1ずつ足していき”、終了条件が”-1”となっています。
”1”からどれだけ”1”を足しても”-1”にはなりません。
for ( $i = 0 ; $i < 20 ; $a++ ){
処理;
}
条件式は合っています。ただループカウンタを間違っているので、終わりません。
”$a”にいくら加算しても”$i”が”20”を超えません。
for ( $a = 0 ; $a < 20 ; $a++ ) {条件式は合っています。ループカウンタも合ってます。
print $a;
$a = 0;
}
ただ、処理の中で”$a”を毎回初期化してしまうので、いくらやっても終わりません。
次に”WHILE文”の書き方です。
while ( 条件式 ) {と書きます。
処理;
}
条件式を満たす間、処理を繰り返す
という意味です。
あ、言い忘れてました!!条件式は”IF文”でのと同じです。
では、どういう時に”FOR文”で、どういう時に”WHILE文”なのか?
ズバリ、
何回かはわからないが、条件を満たす間は処理を繰り返したいとき
または、無限ループを意図的に行いたいとき
そんなときは、”WHILE文”を使います。
あ、”WHILE文”の説明が少ないですね。
”WHILE文”では”FOR文”で言うところの「ループカウンタ」がありません。
なので、処理の中で行います。
$a = 0;
while ( $a == 10 ) {
print $a;
$a++;
}
初期値を”$a=0”、終了条件を”$a==10”、ループカウンタを”$a++”としていますね。
これだと、”FOR文”とほぼ変わらないですな。
ですが、後述する”BRAKE文”と”WHILE文”を組み合わせると
while ( 1 ) {これだと、
$i++;
if ( $i >= 100 ) {
break;
}
}
”$i”の初期値はわからないけど、”$i”が”100”以上になったら終了です。
という風になります。何回繰り返すかわからないが100で終わり、となります。
では、次は”BRAKE文”です。
勘のいい人や英語がわかる方は、もうおわかりかもですが。。
強制的に、繰り返しを終わらせる
ということをします。似たものに”CONTINUE文”があり
CONTINUE文以下の処理を行わず、カウンタをプラスしループの頭に戻る
という処理を行います。
”BRAKE文”は主に”WHILE文”で使われて
”CONTINUE文”は”FOR文”で使われるのかな~と思います。
for ( $i = 0 ; $i <= 10 ; $i++ ) {これは”$i”が”2”の時だけ”print $i ;”を行わないという処理です。
if ($i ==2 ) continue ;
print $i ;
}
0 件のコメント:
コメントを投稿