みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Javaについて教えてください。

Javaのソースコードで以下のコードを実行すると表示されないのですがなぜでしょうか?

public class Sample{
public static void main(String[] args){
for (int i = 0 ; i >= 5; i++){
System.out.println(i);
}
}
}

投稿日時 - 2017-12-14 22:28:48

QNo.9407909

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

>Javaについて教えてください。
初心者ですか?

>Javaのソースコードで以下のコードを実行すると表示されないのですがなぜでしょうか?
何処に掲載されたコードですか?
あなたがご自身の考えで書かれたコードでしたら論理式の扱い方を再確認してください。
forループでは次のような約束になっています。
for (初期化式; 条件式; 変化式){
実行する文1;
実行する文2;
}

条件式の結果がTRUEのとき{}内の「実行する文1; や実行する文2;」を実行し、変化式を実行して元に戻り条件式から繰り返します。
条件式の結果がFALSEのとき{}内の実行する文を行わずにfor文を終了します。
提示の数式は初期化式で「int i=0;」としていますので、条件式では「0>=5 → FALSE」となるため{}内の「System.out.println(i);」を1度も実行せずにfor文を終了します。
下記のSample1とSample2を試されると違いが分かります。
public class Sample1 {
public static void main(String[] args) {
int i;
for(i=0; i>=5; i++){
System.out.println("No." + (i+1) + " = " + i);
}
System.out.println(i);
}
}

public class Sample2 {
public static void main(String[] args) {
int i;
for(i=0; i<=5; i++){
System.out.println("No." + (i+1) + " = " + i);
}
System.out.println(i);
}
}

投稿日時 - 2017-12-15 12:59:16

ANo.2

表示するための行が実行されることがないから。

簡単なソースコードなので、日本語にしてみます。
初心者なら初心者らしく、入門サイトくらいは一通り見た方が役に立ちますよ。

と言うことで本題です。

サンプルという名のメインの処理は、iの値を0からスタートし、iの値が5以上であればiの値を出力してからiの値を1増やし、iの値が5以上である限り繰り返す。

投稿日時 - 2017-12-15 00:48:49

ANo.1

誤for (int i = 0 ; i >= 5; i++){
正for (int i = 0 ; i <= 5; i++){

真ん中の条件は「繰り返し条件」です。

投稿日時 - 2017-12-15 00:05:29