Given:



System.out.println("5 + 2 = " + 3 + 4);
System.out.println("5 + 2 = " + (3 + 4));

What is the result?

A.

5 + 2 = 34
5 + 2 = 34

B.

5 + 2 + 3 + 4
5 + 2 = 7

C.

7 = 7
7 + 7

D.

5 + 2 = 34
5 + 2 = 7

題解

運算子「+」若其中一個運算元為字串,那麼它將會做字串連接,否則為加法運算。

由於優先順序的關係,題目第1行會等同:

System.out.println(("5 + 2 = " + 3) + 4);

因此「3」和「4」會被當作字串進行連接。

若題目是寫成:

System.out.println(5 + 2 + " = 3 + 4");

等同:

System.out.println((5 + 2) + " = 3 + 4");

因此會輸出:

7 = 3 + 4