Given the code fragment



int var1 = -5;
int var2 = var1--;
int var3 = 0;
if (var2 < 0) {
    var3 = var2++;
} else {
    var3 = --var2;
}
System.out.println(var3);

What is the result?

A.

-6

B.

-4

C.

-5

D.

5

E.

4

F. Compilation fails

題解

程式第7行,將var1的值指派給var2變數後,再把var1變數的值減1。此時var1=-6,var2=-5。

程式第9行if條件式成立,因此會執行第10行程式,將var2的值指派給var3變數後,再把var2變數的值加1。此時var3=-5,var2=-4。

程式第14行,輸出var3的值「-5」。