while
日本語 | ~の間 |
英語 | while |
ふりがな | ほわいる、 |
フリガナ | ホワイル、ワイル |
一定回数の繰り返しを行うための予約語。
whileステートメント及びdoステートメントで使用する。
繰り返し処理、つまり「ループ」を行うための予約語。
「while( 評価式 ){ 繰り返し行う処理 }」という書式で「繰り返し行う処理」を複数回処理することができる。
詳しい書式については「whileステートメント」の項目を参照。
whileは「評価式」の結果がtrueの間「繰り返し行う処理」を繰り返し行う。
流れとしては「評価式」→「繰り返し行う処理」→「評価式」→「繰り返し行う処理」→「評価式」→……「評価式」→「繰り返し行う処理」→「評価式」の順番で処理される。
ループを終了させる際には「繰り返し行う処理」の中で「評価式」の結果がfalseになるよう処理する必要がある。
また、「繰り返し行う処理」の中でbreakやreturn等でループから抜けることもできる。
この「ループから抜ける」処理がないと、whileは永久にステートメントを処理し続ける「無限ループ」となる。
よって、「繰り返し行う処理」の中で必ず「評価式」の結果がfalseになるようになっているか、もしくはbreak等で必ずループから抜けるかどうか確認する必要がある。
whileは必ず最初に「評価式」の処理を行う。
それに対して、do-while(doステートメント)は、まず「繰り返し行う処理」を行い、その後「評価式」を評価する。
「必ず一度は繰り返し行う処理を行う」「評価式は後で」としたい場合にはdo-whileを使用した方がいいだろう。
whileは「いつ評価がfalseになるか分からない」場合にのみ使用した方がいいだろう。
繰り返しの回数が一定回数の場合、forの使用を勧める。
whileステートメント及びdoステートメントで使用する。
繰り返し処理、つまり「ループ」を行うための予約語。
「while( 評価式 ){ 繰り返し行う処理 }」という書式で「繰り返し行う処理」を複数回処理することができる。
詳しい書式については「whileステートメント」の項目を参照。
whileは「評価式」の結果がtrueの間「繰り返し行う処理」を繰り返し行う。
流れとしては「評価式」→「繰り返し行う処理」→「評価式」→「繰り返し行う処理」→「評価式」→……「評価式」→「繰り返し行う処理」→「評価式」の順番で処理される。
ループを終了させる際には「繰り返し行う処理」の中で「評価式」の結果がfalseになるよう処理する必要がある。
また、「繰り返し行う処理」の中でbreakやreturn等でループから抜けることもできる。
この「ループから抜ける」処理がないと、whileは永久にステートメントを処理し続ける「無限ループ」となる。
よって、「繰り返し行う処理」の中で必ず「評価式」の結果がfalseになるようになっているか、もしくはbreak等で必ずループから抜けるかどうか確認する必要がある。
whileは必ず最初に「評価式」の処理を行う。
それに対して、do-while(doステートメント)は、まず「繰り返し行う処理」を行い、その後「評価式」を評価する。
「必ず一度は繰り返し行う処理を行う」「評価式は後で」としたい場合にはdo-whileを使用した方がいいだろう。
whileは「いつ評価がfalseになるか分からない」場合にのみ使用した方がいいだろう。
繰り返しの回数が一定回数の場合、forの使用を勧める。
参考サイト
- (参考サイトはありません)
// Sample.java
public class Sample
{
public static void main( String[] args )
{
int number = 130;
// 50ずつ引き、マイナスになるまで繰り返します。
while( 0 <= number )
{
System.out.println( number );
number -= 50;
}
// 130
// 80
// 30
// whileは、評価式がtrueの間ループし続けます。
// なので、以下のようにすると無限ループになります。
while( true )
{
// ここでwhileから抜ける処理(break、return、throw等)が
// ないと、プログラムが終了しません。
System.out.println( "while無限ループ" );
break;
}
// while無限ループ
}
}
public class Sample
{
public static void main( String[] args )
{
int number = 130;
// 50ずつ引き、マイナスになるまで繰り返します。
while( 0 <= number )
{
System.out.println( number );
number -= 50;
}
// 130
// 80
// 30
// whileは、評価式がtrueの間ループし続けます。
// なので、以下のようにすると無限ループになります。
while( true )
{
// ここでwhileから抜ける処理(break、return、throw等)が
// ないと、プログラムが終了しません。
System.out.println( "while無限ループ" );
break;
}
// while無限ループ
}
}
// Sample.java public class Sample { public static void main( String[] args ) { int number = 130; // 50ずつ引き、マイナスになるまで繰り返します。 while( 0 <= number ) { System.out.println( number ); number -= 50; } // 130 // 80 // 30 // whileは、評価式がtrueの間ループし続けます。 // なので、以下のようにすると無限ループになります。 while( true ) { // ここでwhileから抜ける処理(break、return、throw等)が // ないと、プログラムが終了しません。 System.out.println( "while無限ループ" ); break; } // while無限ループ } }
「みだし」に含まれているページ
「解説」に含まれているページ
「サンプルプログラムとか」に含まれているページ
- 127.0.0.1
- BufferedInputStream
- BufferedReader
- ByteArrayInputStream
- CharArrayReader
- Connection
- CREATE TABLE
- DELETE
- do
- do-while
- doステートメント
- Enumeration
- execute
- FileInputStream
- FileReader
- FilterInputStream
- FilterReader
- GET
- HEAD
- HTTP
- HttpURLConnection
- InputStream
- InputStreamReader
- INSERT
- IPアドレス
- java.net.URL
- java.sql.Date
- JDBC
- JDBCドライバ
- localhost
- NOT NULL制約
- PipedInputStream
- PipedOutputStream
- PipedReader
- PipedWriter
- POST
- PreparedStatement
- PushbackInputStream
- PushbackReader
- Reader
- regex
- ResultSet
- SELECT
- SequenceInputStream
- SQL
- SQLインジェクション
- Statement
- StringBufferInputStream
- StringReader
- StringTokenizer
- TCP
- Timestamp
- UPDATE
- URI
- URL
- volatile
- WHERE
- while
- whileステートメント
- ZIP
- クイックソート
- クエリー
- クライアント
- クライアントサーバーシステム
- コネクション
- コミット
- サーバー
- ステートレス
- ソケット
- テキストファイル
- テーブル
- データベース
- トランザクション
- トークン
- ドメイン名
- バイナリーファイル
- ブロックします
- プリペアードステートメント
- ホスト
- ポート番号
- マージ
- マージソート
- ラベルステートメント
- リクエスト
- リクエストパラメーター
- リクエストヘッダー
- レコード
- レスポンス
- レスポンスヘッダー
- ロールバック
- 主キー
- 予約語
- 列
- 制約
- 多重ループ
- 改行文字
- 文字入力ストリーム
- 標準入出力
- 正規表現
- 無限ループ
- 環境変数
- 行
- 識別子