一、單選題
2、java.lang包的( )方法比較二個對象是否相等返回true.。
A、toString()
B、equals()
C、compare
D、以上都不正確
答案:B
4、已知、int[] a = new int[100];在下列給出的數組元素中,非法的
是。
A、a[0]
B、a[1]
C、a[99]
D、a[100]
答案:D
5、在java中,一個類可同時定義許多同名的方法,在這些方法的形式參數個數,類型或順序各不相同,傳值也可以各不相同。這種面向對象程序的特性稱爲。
A、隱藏
B、覆蓋
C、重載
D、Java不支持此特性
答案:C
6、( )是一組常量和抽象方法的集合。
A、實例
B、類
C、包
D、接口
答案:D
8、Java源文件和編譯後的文件擴展名分別爲。
A、.class和.java
B、.java各.class
C、.class和.class
D、.java和.java
答案:B
9、設x=5;則y=x--和y=--x的結果,使y分別爲。
A、5,5
B、5,6
C、5,4
D、4,4
答案:C
10、若x是float類變量,x=10/4;則x 的值是。
A、2
B、2.0
C、2,5
D、編譯錯誤
答案:B
14、 在使用super 和this關鍵字時,以下描述正確的是。
A、在子類構造方法中使用super()顯示調用父類的構造方法,super()必須寫在子類構造方法的第一行,否則編譯不通過
B、super()和this()不一定要放在構造方法內第一行
C、this()和super()可以同時出現在一個構造函數中
D、this()和super()可以在static環境中使用,包括static方法和static語句塊
答案:A
15、以下對封裝的描述正確的是。
A、只能對一個類中的方法進行封裝,不能對屬性進行封裝
B、如果子類繼承了父類,對於父類中進行封裝的方法,子類仍然可以直接調用
C、封裝的意義不大,因此在編碼時儘量不要使用
D、封裝的主要作用在於對外隱藏內部實現細節,增強程序的安全性
答案:D
16、以下對繼承的描述錯誤的。
A、Java中的繼承允許一個子類繼承多個父類
B、父類更具有通用性,子類更具體
C、Java中的繼承存在着傳遞性
D、當實例化子類時會遞歸調用父類中的構造方法
答案:A
18、 訪問修飾符作用範圍由大到小是。
A、private-default-protected-public
B、public-default-protected-private
C、private-protected-default-public
D、public-protected-default-private
答案:D
19、 以下( )不是Object類的方法。
A、 clone()
B、finalize()
C、toString()
D、hasNext()
答案:D
20、多態的表現形式有。
A、重寫
B、抽象
C、繼承
D、封裝
答案:A
21、 以下對重載描述錯誤的是。
A、方法重載只能發生在一個類的內部
B、構造方法不能重載
C、 重載要求方法名相同,參數列表不同
D、方法的返回值類型不是區分方法重載的條件
答案:B
22、以下對接口描述錯誤的有。
A、 接口沒有提供構造方法
B、 接口中的方法默認使用public、abstract修飾
C、 接口中的屬性默認使用public、static、final修飾
D、 接口不允許多繼承
答案:D
23、 以下對自定義異常描述正確的是。
A、自定義異常必須繼承Exception
B、自定義異常可以繼承自Error
C、自定義異常可以更加明確定位異常出錯的位置和給出詳細出錯信息
D、程序中已經提供了豐富的異常類,使用自定義異常沒有意義
答案:C
24、在Java中,下面對於構造函數的描述正確的是。
A、類必須顯示定義構造函數
B、構造函數的返回類型是void
C、構造函數和類有相同的名稱,並且不能帶任何參數
D、 一個類可以定義多個構造函數
答案:D
26、下列選項中關於java中super關鍵字的說法錯誤的是。
A、super關鍵字是在子類對象內部指代其父類對象的引用
B、super關鍵字不僅可以指代子類的直接父類,還可以指代父類的父類
C、子類可以通過super關鍵字調用父類的方法
D、子類可以通過super關鍵字調用父類的屬性
答案: B
27、下列聲明哪個是錯誤的。
A 、int i = 10;
B、 float f = 1.1;
C、 double d = 34.4;
D、 long m = 4990;
答案:B
28、關於抽象類的說法正確的是
A、抽象類中一定包含抽象方法,否則是錯誤
B、包含抽象方法的類一定是抽象類
C、抽象方法可以沒有方法體,也可以有方法體
D、抽象類的子類一定不是抽象類
答案:B
29、所有類的基類。
A、java.lang.Object
B、java.lang.Class
C 、java.applet.Applet
D、java.awt.Frame
答案:A
30、關於String 和 StringBuffer 下面說法正確的是
A、String操作字符串不改變原有字符串的內容
B、StringBuffer連接字符串速度沒有String 快
C、String 可以使用append方法連接字符串
D、StringBuffer 在java.util包中
答案:A
二、多選題
1、Java 提供哪幾種運算符。
A、算術運算符
B、位運算符
C、關係運算符
D、邏輯運算符
E、條件運算符
答案:ABCD
3、下列對Java 的變量與函數說法正確的是。
A、變量是用來保存數據的
B、變量是用來實現操作過程的
C、函數是用來實現操作過程的
D、函數是用來保存數據的
E、函數的參數是數據的入口
答案:ACE
7、下面關於數組說法正確的是。
A、一維數組實質上是相同類型變量的列表
B、創建一個數組首先定義數組變量所需的類型
C、char c[]=new char[26];可聲明一個含有 26 個元素的 char型數組
D、當爲一個多維數組的時候分配內存時,僅需要爲第一指定內存,然後再分配其他維的存
E、int twain[][] = new int[4][5];可聲明一個二維數組
答案:ABCDE
11、下面方法中,用於調度線程使其運行的是?
A. init()
B. start()
C. run()
D. resume()
E. sleep()
答案:BC
17、 以下關於final關鍵字說法錯誤的是
A、final是java中的修飾符,可以修飾類、接口、抽象類、方法和屬性
B、final修飾的類肯定不能被繼承
C、final修飾的方法不能被重載
D、final修飾的變量不允許被再次賦值
答案:AC
12.下面哪種情況能實現自動轉換
A、byte 型轉換成 int 型
B、int 型轉換成 byte 型
C、float 型轉換成 double型
D、double 型轉換成 int 型
E、char型轉換成 int 型
答案:ACE
13、下列那些是正確的JAVA字符串?
A. "\"\""
B. "Oxzabc"
C. "\"\"
D. "\t\t\r\n"
E. "boolean"5
答案:ABD
25、根據下面的代碼,String s = null;會拋出NullPointerException異常的有
A、if( (s!=null) & (s.length()>0) )
B、if( (s!=null) & & (s.length()>0) )
C、if( (s==null) | (s.length()==0) )
D、if( (s==null) || (s.length()==0) )
答案:AC
三、問答題
1、面向對象的特點?
1)信息隱藏和封裝特性:
2)繼承:
3)組合特性
4)動態特性、抽象,多態
2、JDK是什麼?
Java開發工具包
3、數組有沒有length()這個方法?String有沒有length()這個方法?
沒有,有
4、Overload和Override的區別。Overloaded的方法是否可以改變返回值的類型?
方法的重寫Overriding和重載Overloading是Java多態性的不同表現。重寫Overriding
是父類與子類之間多態性的一種表現,重載Overloading是一個類中多態性的一種表現。如果在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被重寫 (Overriding)。子類的對象使用這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被“屏蔽”了。如果在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同的參數類型,則稱爲方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。
5:error和exception 的區別
error 表示恢復不是不可能但很困難的情況下的一種嚴重問題。比如說內存溢出。不
可能指望程序能處理這樣的情況。 exception 表示一種設計或實現問題。也就是說,它表示如果程序運行正常,從不會發生的情況。
6:abstract class和interface有什麼區別?(抽象類與接口的區別)
聲明方法的存在而不去實現它的類被叫做抽象類(abstract class),它用於要創建一
個體現某些基本行爲的類,併爲該類聲明方法,但不能在該類中實現該類的情況。不能創建abstract 類的實例。然而可以創建一個變量,其類型是一個抽象類,並讓它指向具體子類的一個實例。不能有抽象構造函數或抽象靜態方法。Abstract 類的子類爲它們父類中的所有抽象方法提供實現,否則它們也是抽象類爲。取而代之,在子類中實現該方法。知道其行爲的其它類可以在類中實現這些方法。接口(interfacE、是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過實現這樣的接口而獲得。接口中的所有方法都是抽象的,沒有一個有程序體。接口只可以定義static final成員變量。接口的實現與子類相似,除了該實現類不能從接口定義中繼承行爲。當類實現特殊接口時,它定義(即將程序體給予)所有
這種接口的方法。然後,它可以在實現了該接口的類的任何對象上調用接口的方法。由於有抽象類,它允許使用接口名作爲引用變量的類型。通常的動態聯編將生效。引用可以轉換到接口類型或從接口類型轉換,instanceof 運算符可以用來決定某對象的類是否實現了接口。
7:簡述邏輯操作(&,|)與條件操作(&&,||)的區別?
|如果前面滿足條件,就不用判斷後面的類容 &&如果前面不滿足條件。後面的就不用判斷 另外的相反
8:try {}裏有一個return語句,那麼緊跟在這個try後的finally {}裏的code會不會被執行,
會,而且必修被執行
9:Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類,是否可以implements(實現)interface(接口)
不可以,可以
10:swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
Byte能,long和string不能