int x = 13;
while(x >= 4) {
if (x % 2 == 1) {
System.out.println(x);
}
x = x - 3;
}
私はこれの出力を知っています、それは13と7です、誰かがどのようにして13と7になったのか説明したいと思います.
int x = 13;
while(x >= 4) {
if (x % 2 == 1) {
System.out.println(x);
}
x = x - 3;
}
私はこれの出力を知っています、それは13と7です、誰かがどのようにして13と7になったのか説明したいと思います.
最初の x は 13 です。それは >= 次に 4 ですか? はい。while ループに入ります。13%2==1 です。はい。x を出力 (13 を出力)。x = x-13 とすると、x は 10 になります。10 >=4 ですか? はい。.... 後で。
13 % 2 = 1
したがって、印刷します13
。今x = 10
。
10 % 2 = 0
、だからあなたは印刷しないでください10
。今x = 7
。
7 % 2 = 1
、だからあなたは7を印刷しますx = 4
。
4 % 2 = 0
; x = 1
これでループが停止します。
%
演算子はモジュロ演算子です。これは、2 つの数値を除算したときの剰余を出力します。たとえば14/3 = 4 remainder 2
、そう13 % 4 = 2
。
何がわからないの?
最初の反復ではx=13
、13%2=1
が表示されるため、 が出力され13
ます。秒の繰り返しx=10
( x=x-3
) 10%2=0
、何も出力されません。3 回目の反復x=7
( 10-3
) で7%2=1
あるため、7 が出力されます。
その後、x=4 なので何も表示されずx=1
、ループを終了します。