1

説明が必要です。ステートメントif()内のブロックがwhile()実行される 理由は次のとおりです。while ステートメントは式を評価し、ブール値を返す必要があります。式が true と評価された場合、while ステートメントは while ブロック内のステートメントを実行します。ですから、このコードを見てください:

class test{
static int x;

public static void main(String args[]){
    while(x!=5){
        x=x+1;
        if(x==5)
            System.out.println("I'm 5 now!");
    }
  }
}

変数 x が 5 倍になったら(x!=5)、偽と見なされるべきではありませんか? では、ブロックが実行された場合はどうなるでしょうか? 基本的に、式5!=5に対して真のブール値を返すようです。

説明ありがとう!

4

8 に答える 8

5

x == 4 の場合、 while は満たされx != 5ます。次に、x をインクリメントx = x+1 して を取得しますx == 5。それが理由です

于 2013-08-05T12:31:26.560 に答える
3

ループの本体とx == 4に入ると進みます。

次に、変数に追加1します。

5だからifの条件は真!

于 2013-08-05T12:31:19.340 に答える
3

これは、ループに入ったxで yourが 5 になるためです。次の繰り返しで、ループは停止します。希望どおりに機能させるには、の後に行を移動する必要がありますx=x+1if

于 2013-08-05T12:31:48.787 に答える
2

X等しい 4 でループに入ると、最初にインクリメントされて値 5 が取られるため、式 が満たされますx == 5

しかし、次の反復では、条件whileは真ではなくなります。

于 2013-08-05T12:31:51.530 に答える