Given the code fragment:



float x = 22.00f % 3.00f;
int y = 22 % 3;
System.out.print(x + ", " + y);

What is the result?

A.

1.0, 1

B.

1.0f, 1

C.

7.33, 7

D. Compilation fails
E. An exception is thrown at runtime

題解

「%」是餘數運算子,支援整數和單倍精準浮點數(float)型態的餘數計算。若運算元的其中一個為單倍精準浮點數型態,則計算出來的結果也會是單倍精準浮點數型態。

22除以3的結果為7餘1,因此第6行會算出單倍精準浮點數型態的「1」,而第7行會算出整數型態的「1」。