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、ループを終了します。