Java求職(應屆生)過程中常見的筆試題(一)
以下的題大多都是我在2018年10月求職過程中遇到的一些筆試題,我總結出來分享給大家,如有什麼錯誤或問題,歡迎評論指出,謝謝!
1.Java語言中下面那個可以用作正確的變數名稱?
A.name B.3D C.implements D.extends
答案:A
2.JDBC中,用於表示資料庫連線的物件是
A.Statement B.Connection C. DriverManager D.PreparedStatement
答案:B
3.下列說法正確的是?
A.一個檔案裡可以存在兩個public修飾的類
B,final修飾的類可以被繼承
C,子類不可以訪問父類非public和protected修飾的屬性
D,建構函式可以被重寫(override)
答案:C 解析:protected的意思是本包可以訪問,子類可以繼承。
4,下列哪一項的敘述是正確的?
A,宣告抽象方法,大括號可有可無
B,abstract修飾符可以修飾字段、方法、和類
C,宣告抽象方法不可寫出大括號
D,抽象方法的body部分必須用一對大括號{ }包住
答案:C 解析:abstract是抽象的意思,在java中,規定只能修飾類或者方法,所以不能修飾屬性。
5、下面的程式輸出結果為?
public static void main(String[] args) { int x=-3; int y=-10; System.out.println(y%x); }
A,-1 B,2 C,1 D,3
答案:A
6、( )類是所有異常類的父類
A,Throwable B,Error C,Exception D,AWTError
答案:A 解析:所有的異常類都繼承Expection, 所有的錯誤類都繼承Error
7,已知如下類說明,如下那個使用是正確的?
public class Test{ private float f=1.0f; int m=12; static int n=1; public static void main(String[] args) { Test t=new Test(); //some code... } }
A,t.f B,this.n C,Test.n D,Test.m
答案:A
8、Java應用開發中字符集編碼通常情況下優先採用以下那種?
A,UTF-8 B, iso8859-1 C,GB2312 D,ASCII
9,Java訪問限定的修飾符不包括?
A,public B,private C,default D,final
答案:D
10,下列會觸發JVM垃圾回收的是()?
A,當新物件生成,並且在Eden申請空間失敗時
B,Old區被寫滿
C,在迴圈中建立大量物件
D,使用Class.forName載入外部類
答案:A 解析:一般情況下,當新物件生成,並且在Eden申請空間失敗時,就會觸發Scavenge GC,對Eden區域進行GC,清除非存活物件,並且把尚且存活的物件移動到Survivor區。然後整理Survivor的兩個區。這種方式的GC是對年輕代的Eden區進行,不會影響到年老代。因為大部分物件都是從Eden區開始的,同時Eden區不會分配的很大,所以Eden區的GC會頻繁進行。因而,一般在這裡需要使用速度快、效率高的演算法,使Eden去能儘快空閒出來。
11,以下程式的執行結果?
class Person{ public Person(){ System.out.println("this is a Person"); } } public class Teacher extends Person{ private String name="tom"; public Teacher(){ System.out.println("this is a Teacher"); super; } public static void main(String[] args) { Teacher teacher=new Teacher(); System.out.println(this.name); } } A,執行出錯 B,編譯有兩處錯誤
C,this is a Person this is a teacher tom
D,this is a teacher this is a Person tom
答案:B
12,下面程式輸出結果為?
class HelloA{ public HelloA() { System.out.println("HelloA"); } { System.out.println("I'm A class"); } static{ System.out.println("static A"); } } public class HelloB extends HelloA{ public HelloB() { System.out.println("HelloB"); } { System.out.println("I'm B class"); } static{ System.out.println("static B"); } public static void main(String[] args) { new HelloB(); } }
答案:static A static B I'm A class HelloA I'm B class HelloB
12,將整數陣列(7-6-3-5-4-1-2)按照堆排序的方式進行排序,請問在第一輪排序結束以後,陣列的順序是()?
A,5-4-3-2-1-6-7 B,1-2-3-4-5-6-7
C,2-6-3-5-4-1-7 D,6-5-3-2-4-1-7
13,建構函式什麼時候被呼叫()?
A,建立物件時 B,使用物件的變數時
C,呼叫物件方法時 D,類定義時
答案:A
14,Java中訪問限定符不包括()?
A,public B,private C,default D,final
答案:D
15,以下所列的HTTP協議的狀態碼,表示內部伺服器錯誤的是()?
A,402 B,404 C,500 D,501
答案:C 解析:200 - 請求成功
301 - 資源(網頁等)被永久轉移到其它URL,404 - 請求的資源(網頁等)不存在,500 - 內部伺服器錯誤
16,有如下程式段:
int total=0; for (int i = 0; i < 4; i++) { if(i==1)continue; if(i==2)break; total+=i; }
A,1 B,0 C,6 D,3
答案:B
17,下列語句片段的結果是()?
int a=-67,b=116,c=78; int d=~a|b&c; System.out.println(d);
A,70 B,67 C,56 D,78
答案:A
18,下列關於整型型別的說法中,正確的是()?
A,short型別的資料儲存順序先低後高
B,Integer.MAX_VALUE表示整型最大值
C,Long.MIN_VALUE表示整型最大值
D,long型別表示資料範圍和int型別一樣
19,Java應用開發中字符集編碼通常情況下優先採用那種?
A,UTF-8 B,ISO8859-1 C,GB2312 D,ASCII
答案:A
20,在使用super和this關鍵字的時候,以下描述正確的是()?
A,在子類構造方法中使用super()顯示呼叫父類的構造方法,super()必須寫在子類構造方法的第一行,否則編譯不通過
B,super()和this()不一定要放在構造方法內第一行
C,this()和super()可以同時出現在一個建構函式中
D,this()和super()可以在static環境中使用,包括static方法和static語句塊
答案:A
解析:使用super()和this()應該注意這些:呼叫super()和this()必須寫在子類構造方法的第一行,否則編譯不通過。每個子類構造方法的第一條語句,都是隱含地呼叫super(),如果父類沒有這種形式的建構函式,那麼在編譯的時候就會報錯。super()和this()類似,區別是super()從子類中呼叫父類的構造方法,this()在同一類內呼叫其它方法。儘管可以用this()呼叫一個構造器,但卻不能呼叫兩個,即this()和super()不能同時出現在一個建構函式裡面。軟體開發