1. 程式人生 > 其它 >Java基礎周測-08-綜合

Java基礎周測-08-綜合

一、單選題 

Arrays、Array、Constructor<T>、Class<T>

1. 下面哪個類能夠動態建立陣列?()

Array Constructor Class 參考答案:B
知識點: pubic class Arrays(java.util.Arrays):   包含用於運算元組的各種方法(如排序和搜尋),該類還包含一個靜態工廠,可以將陣列視為列表。 public final class Array(java.lang.reflect.Array):   提供靜態方法來動態建立和訪問Java陣列。 public final class Constructor<T>(java.lang.reflect
.Constructor<T>):   提供了一個類的單個建構函式的資訊和訪問。 public final class Class<T>(java.lang.Class<T>):   Class的類表示正在執行的Java應用程式中的類和介面。   列舉是一種類,一個註釋是一種介面。   每個陣列也屬於一個反映為類物件的類。   原始Java型別( booleanbytecharshortintlongfloatdouble ),和關鍵字void也表示為物件。
 

Method

2. 反射API中,使用哪個類封裝方法
?() Methods Method Constructors 參考答案:B
知識點:  public final class Method(java.lang.reflect.Method):   方法提供有關類和介面上單一方法的資訊和訪問許可權。   反映的方法可以是類方法或例項方法(包括抽象方法)。
 

定義註解

3. 下面哪個選項正確聲明瞭一個註解型別?() public interface TestAnnotation{} public Annotation TestAnnotation{} public @interface TestAnnotation{} public @Annotation TestAnnotation{} 參考答案:C
 知識點:   Java語言使用@interface語法來定義註解(Annotation)。   使用 @interface 定義註解時,意味著它實現了 java.lang.annotation.Annotation 介面,即該註解就是一個Annotation。 注意:   Annotation 介面的實現細節都由編譯器完成。   通過 @interface 定義註解後,該註解不能繼承其他的註解或介面。   註解的引數類似無引數方法,可以用default設定一個預設值。   最常用的引數應當命名為value
 

createNewFile、exists、mkdirs、mkdir

4. File型別中定義了什麼方法來建立一級目錄createNewFile exists mkdirs mkdir 參考答案:D
題目解析: boolean createNewFile():   根據抽象路徑建立一個新的空檔案,當抽象路徑制定的檔案存在時,建立失敗。 boolean exists():   測試此抽象路徑名錶示的檔案或目錄是否存在。 boolean mkdirs():   建立由此抽象路徑名命名的目錄,包括任何必需但不存在的父目錄。 boolean mkdir():   建立由此抽象路徑名命名的目錄。父目錄存在的情況下,子目錄才能建立成功。  
  5. TCP/IP是一種: 標準 語言 演算法 參考答案:B  

檔案輸出流的構造方法中的boolean append

6. 檔案輸出流的構造方法是 public FileOutputStream(String name,Boolean append) throws FileNotFoundException,當引數 append 的值為 true時,表示 () 在原檔案的尾部新增資料 覆蓋原檔案的內容 在原檔案的指定位置新增資料 參考答案:B
知識點: public FileOutputStream(String fileName,boolean append)throws FileNotFoundException append:   如果 append 引數為 true,則將位元組寫入檔案末尾處,相當於追加資訊。      如果 append 引數為 false,則寫入檔案開始處。 public FileWriter(File file,boolean append) throws IOException
  7. 凡是從中央處理器或者是記憶體流向外部裝置的資料流稱為() 檔案流 字元流 輸出流 參考答案:D  

createNewFile

8. 有如下程式碼 , 正確答案是()   public class TestFile{     public static void main(String args[]){       File file = new File(“chp13/corejava.txt”); } } corejava.txt 檔案在系統中被建立 在 windows 系統上執行出錯,因為路徑分隔符不正確 參考答案:C
題目解析: 指定路徑 -> new File(path) 建立檔案 -> file.createNewFile()
  9. 使用Java IO流實現對文字檔案的讀寫過程中,需要處理下列()異常 ClassNotFoundException IOException SQLException RemoteException 參考答案:B   10. 在Java的IO操作中,( )方法可以用來重新整理流的緩衝。 void release() void close() void remove() void flush() 參考答案:D   11. 一臺計算機上可以執行多個服務,服務用什麼來區別? IP地址 HOST名字 埠號 使用者名稱 參考答案:C   12. 當伺服器端沒有找到客戶端請求的資源時,響應狀態碼為多少? 80 200 403 D、 404 參考答案:D   13. 以下說法正確的是?() FileWriter類提供有操作基本資料型別的方法 RandomAccessFile類提供有刪除磁碟檔案的方法 File類提供有刪除磁碟檔案的方法 參考答案:D  

UUID

14. Java語言中支援UUID的類在哪個包裡?() java.util java.lang java.io java.sql 參考答案:A   15. Random類的nextDouble()方法返回的隨機數範圍是什麼?() [0, 1.0] [0, 1.0) (0, 1.0) 任意值 參考答案:B  

String

16. 用以下哪個方法會導致字串被改變?() concat() toUpperCase() replace() 沒有改變字串的方法可以呼叫; 參考答案:D
知識點: Stirng concat(String str)   將指定的字串連線到該字串的末尾。 String toUpperCase()   轉換為大寫 String replace(char oldChar,char newChar)   替換字元 都是返回一個新的字串。原字串不改變。
  17. 如何獲取一個String類例項s包含的字元個數?() s.size s.length s.size() s.length() 參考答案:D  

substring

18. 有String s = "Metallica";請問以下哪個語句可以列印輸出ica?() System.out.println(s.substring(7)); System.out.println(s.substring(6)); System.out.println(s.substring(6,8)); System.out.println(s.substring(7,9)); 參考答案:B
題目解析: "Metallica".substring(6) returns "ica" "Metallica".substring(6,9) returns "ica" 知識點: String substring(int beginIndex) String substring(int beginIndex,int endIndex)   beginIndex - 開始索引,包括。   endIndex - 結束索引,不包括。  
 

宣告註解屬性

19. 下面哪個選項正確聲明瞭註解中的一個屬性?() public String urlpattern() ; public String urlpattern ; public String urlpattern() {}; public String urlpattern[]; 參考答案:A  

getAnnotation()

20. 哪個類中定義了getAnnotation方法? Object Annotation Class enum 參考答案:C
知識點: public <A extends Annotation> A getAnnotation(Class<A> annotationClass)   引數型別A - 要查詢的註釋的型別,如果存在則返回引數   annotationClass -  對應於註釋型別的Class物件   結果 - 該元素的註釋指定的註釋型別,如果存在於此元素,否則為null
 

finalize()

21. 以下哪個是finalize()方法的正確形式?() protected void finalize() throws Throwable final finalize() public final finalize() 參考答案:A
知識點: protected void finalize() 
  當垃圾收集確定不再有對該物件的引用時,垃圾收集器在物件上呼叫該物件。Object類的方法。  
  22. 如何明確顯式釋放掉一個物件佔據的記憶體空間?() 呼叫free()方法 呼叫System.gc()方法 賦值給該物件的引用為null 程式設計師無法明確強制垃圾回收器執行 參考答案:D   23. 下列哪個屬於集合介面?() Tree Stack Array Map 參考答案:D   二、多選題   

識別符號

1. 下面哪個是合法的Java識別符號? Stu_name STUName2 Stu$name 1stuname 參考答案:A,B,C  

宣告陣列

2. 下面哪個語句正確? int[] a=new int[]; int[] a={1}; int a[]={1}; int[] a=new int[]{1,2}; 參考答案:B,C,D  

讀寫檔案

3. 在Java中,下列關於讀寫檔案的描述正確的是( ) Reader類的read(int n )方法用來從源中讀取一個字元的資料 Writer類的write(int n)方法用來向輸出流寫入單個字元 Writer類的write(String str)方法用來向輸出流寫入一個字串 參考答案:A,C, D  

記憶體回收

4. 下列哪些語句關於Java記憶體回收的說明是不正確的? () 程式設計師必須建立一個執行緒來釋放記憶體 記憶體回收程式允許程式設計師直接釋放記憶體 記憶體回收程式可以在指定的時間釋放記憶體物件 參考答案:A,C,D
題目解析: A:垃圾回收程式是一般是在堆上分配空間不夠的時候會自己進行一次GC,程式設計師不需要也不能主動釋放記憶體。
B:Java的記憶體釋放由垃圾回收程式來進行釋放。
C:在Java裡,記憶體的釋放由垃圾回收程式進行管理,程式設計師不能直接進行釋放。
D:程式設計師可以呼叫System.gc()執行垃圾回收器,但是不能指定時間。
 

內部類

5. 對於內部類,以下說法正確的是() 匿名內部類可以實現介面或繼承其他類,但不能同時即實現介面又繼承類 匿名內部類不能有任何明確的構造器 內部類可以定義在外部類類體中,也可以定義在外部類的方法體中,和外部類不同,內部類均能使用訪問修飾符,並能使用static修飾 在Java中,對內部類的巢狀層次沒有限制 參考答案:A,B,D
題目解析:區域性內部不能定義靜態方法。
  三、判斷題   1. Java中,==恆等運算子用於判定兩個引用是否為同一物件,而Object類提供的equals方法預設實現則用於判定兩個物件的內容是否相同 錯誤 參考答案:B   2. 如果import語句存在,則必須出現在原始檔的非空白首行 錯誤 參考答案:B   3. 在系統正常執行的情況下 try-catch後如果定義了finally,則finally肯定會執行 錯誤 參考答案:A   4. Java程式中,預設匯入的包為java.lang包 錯誤 參考答案:A   5. List允許重複元素,而Set不允許 錯誤 參考答案:A   6. 陣列可以呼叫length()方法獲取陣列長度 錯誤 參考答案:B   7. HashMap是執行緒安全的。 錯誤 參考答案:B   8. 編譯中的多型表現在方法的過載 錯誤 參考答案:A   9. 一個普通類繼承抽象類,必須重寫其未實現的方法操作 錯誤 參考答案:A   10. 子執行緒的生命週期不會超過主執行緒 錯誤 參考答案:A   四、簡答題

什麼是java序列化,如何實現java序列化?

參考答案:

序列化就是一種用來處理物件流的機制,所謂物件流也就是將物件的內容進行流化。可以對流化後的物件進行讀寫操作,也可將流化後的物件傳輸於網路之間。序列化是為了解決在對物件流進行讀寫操作時所引發的問題。 序列化的實現:將需要被序列化的類實現Serializable介面,該介面沒有需要實現的方法,implements Serializable只是為了標註該物件是可被序列化的,然後使用一個輸出流(如:FileOutputStream)來構造一個ObjectOutputStream(物件流)物件,接著,使用ObjectOutputStream物件的writeObject(Object obj)方法就可以將引數為obj的物件寫出(即儲存其狀態),要恢復的話則用輸入流。