Given:
public class TestScope {
public static void main(String[] args) {
int var1 = 200;
System.out.print(doCalc(var1));
System.out.print(" " + var1);
}
static int doCalc(int var1) {
var1 = var1 * 2;
return var1;
}
}
What is the result?
A.
400 200
B.
200 200
C.
400 400
D. Compilation fails.
題解
doCalc方法會回傳傳入的var1參數值再乘以2的結果,但由於Java永遠都是「pass by value」,因此main方法的var1變數並不會被在doCalc方法內被改變。所以第5行會輸出「400」,第6行會輸出「 200」。