本文精選 SCJP 認證考試中關於訪問控制、常量聲明規範、陣列語法、Java 源文件結構規則、字串比較等高頻考點,附帶詳細中文解析,助力考生精準突破語法細節陷阱。
題目:類成員變量僅允許同包類訪問,應使用哪個修飾符?
選項:A. private B. 無修飾符 C. public D. protected
正解:B(無修飾符,即 package-private/default)
解析:Java 四種訪問級別:private(同類)、default/無修飾符(同包)、protected(同包+子類)、public(全域)。題目需求「同一包內可訪問」精確對應默認包訪問權限。
題目:聲明公共 int 常量 MAX_LENGTH = 100,哪個語句最規範?
選項:A. public int MAX_LENGTH=100; B. final int MAX_LENGTH=100; C. final public int MAX_LENGTH=100; D. public final int MAX_LENGTH=100;
正解:D
解析:修飾符順序慣例:public static final(或 public final static)。C 選項 final public 順序違背 Java Code Conventions 慣例(雖編譯通過)。A 缺 final 非常量,B 缺 public 非公共。完整規範寫法:public static final int MAX_LENGTH = 100;
題目:哪個表達式正確聲明含 10 個 String 物件的陣列?
選項:A. char str[]; B. char str[][]; C. String str[]; D. String str[10];
正解:C(較為正確)
解析:嚴格說無選項完全正確(需 String[] str = new String[10];)。C 僅聲明引用類型,未實例化;D String str[10] 為 C/C++ 風格,Java 不合法(長度跟隨 new 運算符)。Java 陣列聲明:String[] str 或 String str[] 均可,但不含長度。
題目:哪些代碼片段符合 Java 源文件語法規範?
選項:
正解:A、C、D
規則總結:1) package 語句必為首條非註釋語句;2) import 緊隨 package 之後、類定義之前;3) 單源文件最多一個 public 類,且文件名必須與 public 類同名;4) 可有多個非 public 類。
String s = "hello";
String t = "hello";
char c[] = {'h','e','l','l','o'};
哪些返回 true? A. s.equals(t) B. t.equals(c) C. s==t D. t.equals(new String("hello")) E. t==c
正解:A、C、D
這組題目精準覆蓋 SCJP 核心語法陷阱:訪問控制語義、修飾符順序慣例、陣列聲明差異、源文件結構強制規則、字串池與 equals/== 雙重機制。建議配合官方文檔與《Java 語言規範》深度內化。