Home About Rice Downloads Documents Others Cooker CookerGX
Documents  >  Tutorial  >  whilestatement
while文

この章の目的。

while文について学びます。

条件ループ。

while文は、条件によってループを制御するための文です。

while文は、以下の形式です。


while ( 条件式 )

文...

endwhile


条件式は、boolクラスのインスタンスを返す式でなければなりません。条件式がtrueと評価される場合、while文内の文が先頭から実行されます。条件式がfalseと評価される場合、endwhileキーワードの次の文に実行制御が移動します。

実行制御がcontinue文かendwhileに達した場合、実行制御が条件式に移動します。そして、条件式の評価から実行を繰り返します。

実行制御がbreak文に到した場合、実行制御がendwhileの次の文に移動します。

while文はendwhileキーワードで終了しなければなりません。

while キーワード

この文が、while文である事を示すキーワードです。

条件式。

条件式は、boolクラスのインスタンスを返す式でなければなりません。括弧で囲んで記述します。

条件式がtrueと評価された場合、実行制御が条件式の次の文に移動し、ループが再実行されます。

while文の終了。

while文の終了は、endwhileキーワードで表します。

スコープ

while文は、スコープを生成します。スコープの範囲は、whileキーワードからendwhileキーワードまでです。

while文内で宣言された変数は、while文内だけで参照可能です。

スコープ内で宣言された変数は、新たなループが始まるたびにクリアされて、再び宣言されます。

変数には、宣言のたびに新しいインスタンスが割り当てられます。前のループの値を次のループに持ち越すことはありません。

予約変数。

実行制御がwhileキーワードに到達すると、スコープが生成され、予約変数__countが自動的に定義されます。

__countはint型の変数であり、ゼロから始まるループ回数で初期化されます。

__countは、通常のint型のようにオーバーフローが発生することはありません。__countがint型の最大値を超えた場合は、ゼロに戻ります。

条件式の中で予約変数を使うときは注意してください。特にループ文がネストしている時は要注意です。ループ文がネストしている場合は、内部のループ文の予約変数が、外部のループ文の予約変数を隠蔽します。

while文の条件式は、そのwhile文が生成するスコープの中に含まれます。したがって、条件式の中の予約変数は、そのWhile文が定義したものです。

ループの再開位置。

while文の条件式は、ループの最初に毎回評価されます。したがって、while文のループの再開位置は、条件式です。

Copyright © Rice All rights reserved.