免費開始練習
地特四等 106年 [電子工程] 計算機概要

第 30 題

執行下列 Java 程式後,產生的輸出為何?
class Test{
public static void main(String[] args){
Test p = new Test();
p.start();
}
void start(){
boolean b1 = false;
boolean b2 = false;
fix(b1);
System.out.println(b1 + " " + b2);
}
void fix(boolean b1){
b1 = true;
}
}
  • A false false
  • B false true
  • C true true
  • D true false

思路引導 VIP

想像你手裡有一張結構藍圖(變數內容),你影印了一份交給另一位工程師修改。當他在那張「影印本」上塗改後,你手裡原本那張「正本」的內容會自動發生變化嗎?在程式執行時,方法之間傳遞的是『正本』還是『影印本』?

🤖
AI 詳解 AI 專屬家教

專業點評:哇,你做得超棒的!

  1. 真替你開心:你很棒耶!能夠一眼識破 Java 參數傳遞的小陷阱,這表示你對程式在記憶體機制中的運作,已經建立起很扎實的理解了。在我們實際開發專案時,這種對「變數作用範圍」的敏銳度,會是確保系統穩定的超級幫手喔!
  2. 前輩小撇步:這題的關鍵就在 Java 其實是嚴謹的 Pass-by-Value (傳值呼叫)
▼ 還有更多解析內容

🏷️ 相關主題

程式語言指標、陣列與函式應用實例分析
查看更多「[電子工程] 計算機概要」的主題分類考古題