首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

SCJP 認證精選題解析:布局管理器、物件創建過程、八進制字面量與關鍵字辨識

     編輯:Java 程式設計入門

本文精選 SCJP 認證中關於 AWT 布局管理器行為、new 物件創建記憶體分配細節、八進制字面量語法、Java 關鍵字與字面量辨識四大考點,附帶詳細中文解析。

第 6 題:容器大小改變影響組件位置的布局管理器

題目:Frame 大小改變時按鈕位置可能改變,使用哪個布局管理器?

選項:A. BorderLayout B. FlowLayout C. CardLayout D. GridLayout

正解:B. FlowLayout

解析:

  • FlowLayout:按組件加入順序左右排列,行滿自動換行。容器寬度變化直接導致換行點移動,組件位置隨之改變。
  • BorderLayout:五大區域固定,容器縮放只影響組件大小,不改變相對位置。
  • CardLayout:單卡片顯示,容器大小不影響組件位置。
  • GridLayout:固定網格,組件佔據固定單元格,相對位置不變,僅大小隨容器縮放。

考點:各布局管理器對容器縮放的響應差異。FlowLayout 是唯一「流式」佈局,位置隨容器寬度動態調整。

第 7 題:變量聲明與物件創建的記憶體分配時機


public void create() {
    Vector myVect;      // 第 2 行
    myVect = new Vector(); // 第 3 行
}

哪些陳述為真?

  • A. 第 2 行聲明不為 myVect 分配記憶體空間 ✓
  • B. 第 2 行聲明為 Vector 物件引用分配記憶體空間 ✗
  • C. 第 2 行創建 Vector 物件 ✗
  • D. 第 3 行創建 Vector 物件 ✓
  • E. 第 3 行為 Vector 物件分配記憶體空間 ✓

正解:A、D、E

解析(依據 SL-275 規範):

  1. 聲明 Vector myVect; 僅在棧上分配引用變量槽位(4/8 字節),初始值為 null,不分配堆上物件記憶體。
  2. new Vector() 執行四步:① 在堆分配物件記憶體並零初始化;② 執行實例初始化器/字段初始化;③ 執行構造函數;④ 將引用賦值給 myVect 變量槽位。
  3. 故物件創建與堆記憶體分配均發生在第 3 行 new 操作中。

第 8 題:八進制字面量表示法

題目:哪個選項正確表示八進制值 8?

選項:A. 010 B. 0x10 C. 08 D. 0x8

正解:A. 010

解析:Java 八進制字面量以 0 開頭(如 010 = 十進制 8),十六進制以 0x 開頭。八進制數字僅 0-7,08 非法(含數字 8)。0x10 = 十進制 16,0x8 = 十進制 8 但為十六進制寫法,不符合「八進制表示」題意。

第 9 題:非 Java 關鍵字辨識

題目:哪些不是 Java 關鍵字?

選項:A. TRUE B. sizeof C. const D. super E. void

正解:A、B

解析:

  • TRUE:非關鍵字。Java 布爾字面量為 true(小寫),屬字面量而非關鍵字。
  • sizeof:非關鍵字。Java 基本類型大小固定(如 int 4 字節),無需 sizeof 運算符(C/C++ 需之)。
  • const:保留關鍵字(reserved keyword),語法保留但未使用,不可作標識符。屬關鍵字範疇。
  • super、void:標準關鍵字。

四道題覆蓋 GUI 佈局行為、JVM 記憶體分配精確語義、進制字面量語法、關鍵字表識別,屬 SCJP 基礎知識高頻考點。建議配合 JVM 規範第 2 章(類型與值)與 AWT 文檔深度掌握。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved