Javaでは、繰り返し文中に while
と do while
があります。どちらも何らかのコードを繰り返し実行することですが、いくつかの違いがあります。
それぞれどのように動作するかを確認し、違いについて学びましょう。
1. while 繰り返し文
whileステートメントは最初に反復条件をチェックし、条件が満たされている場合(true)コードを実行します。 再び繰り返し条件を確認し、条件が満たされればコードの実行を繰り返し、満たさないと(false)繰り返し文から抜け出します。
以下の形式で while
反復文を実装できます。
while (condition) {
statement
}
以下の例は、whileを使用して5までカウントする例です。
public class Example {
public static void main(String[] args) {
int count = 0;
while (count < 5) {
System.out.println("Count : " + count);
count++;
}
}
}
Output:
Count : 0
Count : 1
Count : 2
Count : 3
Count : 4
2. do while 繰り返し文
do while 反復ステートメントは、while とは異なり、繰り返し条件を最初にチェックしません。コードを最初に実行し、次に繰り返す前に繰り返し条件をチェックします。繰り返し条件を満たす(true)と繰り返し、そうでなければ(false)繰り返し文を出ます。
以下の形式で do while
反復文を実装できます。
do {
statement
} while (condition);
以下の例は、do whileを使用して5までカウントする例です。
public class Example {
public static void main(String[] args) {
int count = 0;
do {
System.out.println("Count : " + count);
count++;
} while (count < 5);
}
}
Output:
Count : 0
Count : 1
Count : 2
Count : 3
Count : 4
3. whileとdo whileの違い
whileとdo whileの違いは、do whileの場合、最初に繰り返し条件を満たさなくてもコードを一度実行できることです。
一方、whileは、最初に反復条件が満たされていない場合は、コードを実行せずに反復ステートメントを終了します。
次の例は、do whileを使用したコードです。条件を見ると count < 0
は false になりますが、コードは一度実行されます。そして、繰り返し条件をチェックするのに条件が満たされていないので、再繰り返しせずに繰り返し文を抜けます。
public class Example {
public static void main(String[] args) {
int count = 0;
do {
System.out.println("Count : " + count);
count++;
} while (count < 0);
}
}
Output:
Count : 0
以下の例は、条件は count < 0
と同じですが、whileを使用する例です。
最初から反復条件がfalseなので、何のコードも実行せずにすぐに反復文を抜けます。結果を見ると何も出力されません。
public class Example {
public static void main(String[] args) {
int count = 0;
while (count < 0) {
System.out.println("Count : " + count);
count++;
}
}
}
Output:
Related Posts
- Java - AtomicReference使用方法
- Java - CountDownLatchを使用する方法、および例
- Java - ScheduledThreadPoolExecutor使用方法
- Java - SummaryStatisticsの使用方法(count、min、max、average)
- Java8 - 関数型インタフェース (Functional Interface) について
- Java - String配列をint配列に変換する
- Java - ArrayList要素の値を変更する方法、replaceAll()
- Java - 2つのリストが同じかどうかを比較
- Java - 配列から特定のIndex要素を削除する3つの方法
- Java - HashMapソート、4つの方法
- Java - 文字列を配列に変換する方法
- Java - ArrayListが空であることを確認する3つの方法
- Java - ArrayListの巡回、4つの方法
- Java - ArrayListの最大値、最小 値を見つける
- Java - ArrayListの合計、平均値の計算
- Java - HashMap巡回、3つの方法
- Java - do whileとwhileの違い
- Java - Lambda式と関数型インタフェース
- Java - List empty(null)チェック、3つの方法
- Java - ArrayListの初期化、4つの方法
- Java - Stream.reduce()の使い方と例
- Java - 2つのマップを結合する(merge、putAll)
- Java - java.util.Dateをjava.sql.Dateに変換する
- Java - ArrayListをStringに変換する
- Java - ClassNotFoundExceptionの発生原因と解決策
- Java - 非静的メソッドは静的コンテキストから参照できません
- Java - NoSuchMethodErrorの原因と解決策
- Java - JSONライブラリを使用する方法(JSONObject、JSONArray)
- Java - byte[]配列をFileに保存
- Java - byte[]の配列をStringに変換
- Java - ファイルのアクセス権を確認し、変更
- Java - 一時フォルダ(Temp directory)パスを取得する
- Javaでシェルスクリプトを実行
- Java - Streamを配列に変換する
- Java - リスト重複排除、2つの方法