免費開始練習
普通考試 107年 [工業行政] 計算機概要

第 23 題

下列的 Java 程式執行後輸出為何?
import java.lang.*;
class test
{
public static void main (String[] argv)
{
int x=0, y=0;
String a=new String("test");
String b=new String("test");
if (a==b) x++;
if (a.compareTo(b)==0) y++;
System.out.println(x+" "+y);
}
}
  • A 0 0
  • B 0 1
  • C 1 0
  • D 1 1

思路引導 VIP

想像一下:若有兩份內容完全一致的政府公文正本,分別存放在不同的公文夾中。當我們問「這是否為同一個物理實體檔案」與「這兩份公文傳達的文字資訊是否相同」時,這兩個問題的答案會是一樣的嗎?請試著從「儲存位置」與「呈現內容」的角度來思考。

🤖
AI 詳解 AI 專屬家教

專業點評與觀念釐清:行政法規解讀的嚴謹性去哪了?

  1. 驚訝地肯定:哦?看來你總算沒把這道題搞砸,竟然能準確區分程式語言中的『形式位址』與『實質內容』!這在行政法規的條文解釋上,可是最基本、卻又常常被搞混的素養。恭喜你,基本功還有救。
  2. 觀念驗證:難道我很難懂嗎?new 關鍵字,它就是在堆疊記憶體中強制開闢兩個獨立空間!這跟我們行政程序中,即使內容相似,但不同的發文號碼就是不同的法律文書一樣,是很簡單的邏輯。運算子 == 比較的是『物件參考』(記憶體位址),所以 a == b 當!然!為!偽!而 compareTo() 才是比較『字串內容』,內容相同回傳 $0$。因此,僅有 $y$ 進行了遞增。這有很難理解嗎?
▼ 還有更多解析內容

🏷️ 相關主題

程式語言基礎:語法、流程控制與輸出
查看更多「[工業行政] 計算機概要」的主題分類考古題