java基礎(chǔ)筆試題(答案已整理)
《java基礎(chǔ)筆試題(答案已整理)》由會(huì)員分享,可在線閱讀,更多相關(guān)《java基礎(chǔ)筆試題(答案已整理)(6頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
Java基礎(chǔ)試題 一:選擇題(1*30=30)(題目寫在答題紙上面) 1:Java 提供哪幾種運(yùn)算符 多選 ( abcd )。 A)算術(shù)運(yùn)算符 B)位運(yùn)算符 C)關(guān)系運(yùn)算符 D)邏輯運(yùn)算符 E)條件運(yùn)算符 2:java.lang包的()方法比較二個(gè)對象是否相等返回true.。 (b) A:toString() B:equals() C:compare D:以上都不正確 3:下列對Java 的變量與函數(shù)說法正確的是 多選( ace ) 。 A)變量是用來保存數(shù)據(jù)的 B)變量是用來實(shí)現(xiàn)操作過程的C)函數(shù)是用來實(shí)現(xiàn)操作過程的 D)函數(shù)是用來保存數(shù)據(jù)的 E)函數(shù)的參數(shù)是數(shù)據(jù)的入口 4:已知:int[] a = new int[100];在下列給出的數(shù)組元素中,非法的是。 (d) A:a[0] B:a[1] C:a[99] D:a[100] 5:在java中,一個(gè)類可同時(shí)定義許多同名的方法,在這些方法的形式參數(shù)個(gè)數(shù),類型或順序各不相同,傳值也可以各不相同。這種面向?qū)ο蟪绦虻奶匦苑Q為。 (c) A:隱藏 B:覆蓋 C:重載 D:Java不支持此特性 6:()是一組常量和抽象方法的集合。 (d) A:實(shí)例 B:類 C:包 D:接口 7:下面關(guān)于數(shù)組說法正確的是 多選(abcde) 。 A)一維數(shù)組實(shí)質(zhì)上是相同類型變量的列表 B)創(chuàng)建一個(gè)數(shù)組首先定義數(shù)組變量所需的類型 C)char c[]=new char[26];可聲明一個(gè)含有 26 個(gè)元素的 char型數(shù)組 D)當(dāng)為一個(gè)多維數(shù)組的時(shí)候分配內(nèi)存時(shí),僅需要為第一指定內(nèi)存,然后再分配其他維的存 E)int twain[][] = new int[4][5];可聲明一個(gè)二維數(shù)組 8:Java源文件和編譯后的文件擴(kuò)展名分別為。 (b) A:.class和.java B:.java各.class C:.class和.class D:.java和.java 9:設(shè)x=5;則y=x--和y=--x的結(jié)果,使y分別為。 (c) A:5,5 B:5,6 C:5,4 D:4,4 10:若x是float類變量,x=10/4;則x 的值是。 (b) A:2 B:2.0 C:2,5 D:編譯錯(cuò)誤 11:.下面方法中,用于調(diào)度線程使其運(yùn)行的是? 多選( bc ) A. init() B. start() C. run() D. resume() E. sleep() 12.下面哪種情況能實(shí)現(xiàn)自動(dòng)轉(zhuǎn)換 多選(ace )。 A)byte 型轉(zhuǎn)換成 int 型 B)int 型轉(zhuǎn)換成 byte 型 C)float 型轉(zhuǎn)換成 double型 D)double 型轉(zhuǎn)換成 int 型 E)char型轉(zhuǎn)換成 int 型 13:下列那些是正確的JAVA字符串?多選( abd )。 A. "\"\"" B. "Oxzabc" C. "\"\" D. "\t\t\r\n" E. "boolean"5 14: 在使用super 和this關(guān)鍵字時(shí),以下描述正確的是。(a) A::在子類構(gòu)造方法中使用super()顯示調(diào)用父類的構(gòu)造方法,super()必須寫在子類構(gòu)造方法的第一行,否則編譯不通過 B:super()和this()不一定要放在構(gòu)造方法內(nèi)第一行 C:this()和super()可以同時(shí)出現(xiàn)在一個(gè)構(gòu)造函數(shù)中 D:this()和super()可以在static環(huán)境中使用,包括static方法和static語句塊 15:以下對封裝的描述正確的是。(d) A:只能對一個(gè)類中的方法進(jìn)行封裝,不能對屬性進(jìn)行封裝 B:如果子類繼承了父類,對于父類中進(jìn)行封裝的方法,子類仍然可以直接調(diào)用 C:封裝的意義不大,因此在編碼時(shí)盡量不要使用 D:封裝的主要作用在于對外隱藏內(nèi)部實(shí)現(xiàn)細(xì)節(jié),增強(qiáng)程序的安全性 16:以下對繼承的描述錯(cuò)誤的。(a) A:Java中的繼承允許一個(gè)子類繼承多個(gè)父類B:父類更具有通用性,子類更具體 C:Java中的繼承存在著傳遞性D:當(dāng)實(shí)例化子類時(shí)會(huì)遞歸調(diào)用父類中的構(gòu)造方法 17: 以下關(guān)于final關(guān)鍵字說法錯(cuò)誤的是(ac)(兩項(xiàng)) A:final是java中的修飾符,可以修飾類、接口、抽象類、方法和屬性 B:final修飾的類肯定不能被繼承 C:final修飾的方法不能被重載 D:final修飾的變量不允許被再次賦值 18: 訪問修飾符作用范圍由大到小是。(d) A:private-default-protected-public B:public-default-protected-private C:private-protected-default-public D:public-protected-default-private 19: 以下( )不是Object類的方法。(d) A: clone() B:finalize() C:toString() D:hasNext() 20:多態(tài)的表現(xiàn)形式有。(a) A:重寫 B:抽象 C:繼承 D:封裝 21: 以下對重載描述錯(cuò)誤的是。(b) A:方法重載只能發(fā)生在一個(gè)類的內(nèi)部 B:構(gòu)造方法不能重載 C: 重載要求方法名相同,參數(shù)列表不同 D:方法的返回值類型不是區(qū)分方法重載的條件 22:以下對接口描述錯(cuò)誤的有。(d) A: 接口沒有提供構(gòu)造方法 B: 接口中的方法默認(rèn)使用public、abstract修飾 C: 接口中的屬性默認(rèn)使用public、static、final修飾 D: 接口不允許多繼承 23: 以下對自定義異常描述正確的是。(c) A:自定義異常必須繼承Exception B:自定義異??梢岳^承自Error C:自定義異??梢愿用鞔_定位異常出錯(cuò)的位置和給出詳細(xì)出錯(cuò)信息 D:程序中已經(jīng)提供了豐富的異常類,使用自定義異常沒有意義 24:在Java中,下面對于構(gòu)造函數(shù)的描述正確的是。(d) A:類必須顯示定義構(gòu)造函數(shù) B:構(gòu)造函數(shù)的返回類型是void C:構(gòu)造函數(shù)和類有相同的名稱,并且不能帶任何參數(shù)D: 一個(gè)類可以定義多個(gè)構(gòu)造函數(shù) 25:根據(jù)下面的代碼,String s = null;會(huì)拋出NullPointerException異常的有(ac)。[兩項(xiàng)] 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) ) 26:下列選項(xiàng)中關(guān)于java中super關(guān)鍵字的說法錯(cuò)誤的是。(b ) A:super關(guān)鍵字是在子類對象內(nèi)部指代其父類對象的引用 B:super關(guān)鍵字不僅可以指代子類的直接父類,還可以指代父類的父類 C:子類可以通過super關(guān)鍵字調(diào)用父類的方法 D:子類可以通過super關(guān)鍵字調(diào)用父類的屬性 27:下列聲明哪個(gè)是錯(cuò)誤的。(b) A :int i = 10; B: float f = 1.1; C: double d = 34.4; D: long m = 4990; 28:關(guān)于抽象類的說法正確的是(b) A:抽象類中一定包含抽象方法,否則是錯(cuò)誤 B:包含抽象方法的類一定是抽象類 C:抽象方法可以沒有方法體,也可以有方法體 D:抽象類的子類一定不是抽象類 29:所有類的基類。(a) A:java.lang.Object B:java.lang.Class C java.applet.Applet D:java.awt.Frame 30:關(guān)于String 和 StringBuffer 下面說法正確的是 ( a ) A:String操作字符串不改變原有字符串的內(nèi)容 B:StringBuffer連接字符串速度沒有String 快 C:String 可以使用append方法連接字符串 D:StringBuffer 在java.util包中 二:簡答題 (2*20=40) (題目寫在答題紙上面) 1:String是最基本的數(shù)據(jù)類型嗎,Java基本類型有哪些? String不是最基本的數(shù)據(jù)類型,而是一個(gè)對象。 Java基本類型有: 布爾型:boolean 字符型:char 整數(shù)型:byte、short、int、long 浮點(diǎn)數(shù)型:float、double 2:面向?qū)ο蟮奶攸c(diǎn)? 1. 信息隱藏和封裝特性: 2.繼承: 3.組合特性 4.動(dòng)態(tài)特性:抽象,多態(tài) 3:JDK是什么? jdk是Java語言的軟件開發(fā)工具包 4:作用域public,private,protected,以及不寫時(shí)的區(qū)別? 作用域 當(dāng)前類 同一package 子孫類 其他package public √ √ √ √ protected √ √ √ friendly √ √ private √ 不寫時(shí)默認(rèn)為friendly 5:Java是編譯型語言還是解釋型的語言? 它既不屬于傳統(tǒng)的編譯型語言也不屬于解釋型語言. 它是先編譯成.CLASS字節(jié)碼文件,然后再利用虛擬機(jī)解釋執(zhí)行的.可以說先編譯后解釋. 6:final、finally、finalize的區(qū)別 final用于聲明屬性,方法和類,分別表示屬性不可交變,方法不可覆蓋,類不可繼承。 finally是異常處理語句結(jié)構(gòu)的一部分,表示總是執(zhí)行。 finalize是Object類的一個(gè)方法 7:heap和stack的區(qū)別 stack是一種現(xiàn)行結(jié)構(gòu),其添加和刪除元素應(yīng)在同一段完成,棧按照先進(jìn)后出的方式進(jìn)行處理。 heap是棧的一個(gè)組成元素。 8:xml有哪些解析技術(shù)?區(qū)別是什么? 有DOM,SAX,STAX等 DOM:處理大型文件時(shí)其性能下降的非常厲害。這個(gè)問題是由DOM的樹結(jié)構(gòu)所造成的,這種結(jié)構(gòu)占用的內(nèi)存較多,而且DOM必須在解析文件之前把整個(gè)文檔裝入內(nèi)存,適合對XML的隨機(jī)訪問SAX:不現(xiàn)于DOM,SAX是事件驅(qū)動(dòng)型的XML解析方式。它順序讀取XML文件,不需要一次全部裝載整個(gè)文件。當(dāng)遇到像文件開頭,文檔結(jié)束,或者標(biāo)簽開頭與標(biāo)簽結(jié)束時(shí),它會(huì)觸發(fā)一個(gè)事件,用戶通過在其回調(diào)事件中寫入處理代碼來處理XML文件,適合對XML的順序訪問STAX:Streaming API for XML (StAX) 9:GC是什么?為什么要有GC? GC是垃圾收集的意思(Gabage Collection),內(nèi)存處理是編程人員容易出現(xiàn)問題的地方,忘記或者錯(cuò)誤的內(nèi)存回收會(huì)導(dǎo)致程序或系統(tǒng)的不穩(wěn)定甚至崩潰,Java提供的GC功能可以自動(dòng)監(jiān)測對象是否超過作用域從而達(dá)到自動(dòng)回收內(nèi)存的目的,Java語言沒有提供釋放已分配內(nèi)存的顯示操作方法。 10::數(shù)組有沒有l(wèi)ength()這個(gè)方法?String有沒有l(wèi)ength()這個(gè)方法? 數(shù)組沒有l(wèi)ength()這個(gè)方法,有l(wèi)ength的屬性。String有有l(wèi)ength()這個(gè)方法。 11:Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型? 方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫Overriding 是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading是一個(gè)類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫(Overriding)。子類的對象使用這個(gè)方法時(shí),將調(diào)用子類中的定義,對它而言,父類中的定義如同被“屏蔽”了。如果在一個(gè)類中定義了多個(gè)同名的方法,它們或有不同的參數(shù)個(gè)數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。 12:error和exception 的區(qū)別 error表示恢復(fù)不是不可能但很困難的情況下的一種嚴(yán)重問題。比如說內(nèi)存溢出。不 可能指望程序能處理這樣的情況。exception表示一種設(shè)計(jì)或?qū)崿F(xiàn)問題。也就是說,它表示如果程序運(yùn)行正常,從不會(huì)發(fā)生的情況。 13:abstract class和interface有什么區(qū)別?(抽象類與接口的區(qū)別) interface被繼承時(shí)用的關(guān)鍵字是implements,而且可以同時(shí)implements多個(gè)interface,而abstract class被繼承時(shí)用的關(guān)鍵字是extends,而且只能同時(shí)extends一個(gè)abstract class。 interface內(nèi)定義的方法都是public的,而abstract class內(nèi)的則不一定。 interface內(nèi)定義的成員對象都是static & final的,而abstract class不是 interface的方法不能有默認(rèn)實(shí)現(xiàn),只有一個(gè)申明,而abstract class內(nèi)申明abstract的方法不能有實(shí)現(xiàn),非申明abstract的方法可以有默認(rèn)實(shí)現(xiàn)。 interface被implements時(shí),所有方法都必須被實(shí)現(xiàn),必須申明是public的,而abstract class被extends時(shí)只有abstract的方法才必須被實(shí)現(xiàn),別的有默認(rèn)實(shí)現(xiàn)的直接被繼承過來。 14:簡述邏輯操作(&,|)與條件操作(&&,||)的區(qū)別? a.條件操作只能操作布爾型的,而邏輯操作不僅可以操作布爾型,而且可以操作數(shù)值型 b.邏輯操作不會(huì)產(chǎn)生短路 c:&和&&都可以用作邏輯與的運(yùn)算符,表示邏輯與(and),當(dāng)運(yùn)算符兩邊的表達(dá)式的結(jié)果都為true時(shí),整個(gè)運(yùn)算結(jié)果才為true,否則,只要有一方為false,則結(jié)果為false。 &&還具有短路的功能,即如果第一個(gè)表達(dá)式為false,則不再計(jì)算第二個(gè)表達(dá)式。 &還可以用作位運(yùn)算符,當(dāng)&操作符兩邊的表達(dá)式不是boolean類型時(shí),&表示按位與操作,我們通常使用0x0f來與一個(gè)整數(shù)進(jìn)行&運(yùn)算,來獲取該整數(shù)的最低4個(gè)bit位。 15:給我五以上種你最常見到的runtime exception? 1,Object x = new Integer(0); System.out.println((String)x); 當(dāng)試圖將對象強(qiáng)制轉(zhuǎn)換為不是實(shí)例的子類時(shí),拋出該異常(ClassCastException) 2,int a=5/0; 一個(gè)整數(shù)“除以零”時(shí),拋出ArithmeticException異常。 3, String s=null; int size=s.size(); 當(dāng)應(yīng)用程序試圖在需要對象的地方使用 null 時(shí),拋出NullPointerException異常 4, "hello".indexOf(-1); 指示索引或者為負(fù),或者超出字符串的大小,拋出StringIndexOutOfBoundsException異常 5,String[] ss=new String[-1]; 如果應(yīng)用程序試圖創(chuàng)建大小為負(fù)的數(shù)組,則拋出NegativeArraySizeException異常。 16:try {}里有一個(gè)return語句,那么緊跟在這個(gè)try后的finally {}里的code會(huì)不會(huì)被執(zhí)行, 會(huì)被執(zhí)行,在return之前執(zhí)行 17:Math.round(11.5)等於多少? Math.round(-11.5)等於多少? Math.round(11.5)是12, Math.round(-11.5)是-11 18:java中實(shí)現(xiàn)多態(tài)的機(jī)制是什么? 方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn). 重寫Overriding是父類與子類之間多態(tài)性的一種表現(xiàn) 重載Overloading是一個(gè)類中多態(tài)性的一種表現(xiàn). 19:Anonymous Inner Class (匿名內(nèi)部類) 是否可以extends(繼承)其它類,是否可以implements(實(shí)現(xiàn))interface(接口) 匿名類本身就是通過繼承類或者接口來實(shí)現(xiàn)的。但是不能再顯式的extends 或者implements了 20:swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上 可以作用在byte和String上,不能作用在long上 三:程序題(6*5=30)(題目寫在答題紙上面) 1:愛因斯坦臺階問題。有人走臺階若每步走2級,則最后剩1級。若每步走3級則最后剩 2級。若每步走4級,則最后剩3級。若每步走5級,則最后剩4級。若每步走6級,則最后剩5級。若每步走7級,則剛好不剩。試編制程序求此臺階數(shù)。 public class Test { public static void main(String[] args) { for(int i=1;i<=1000;i++){ if(i%2==1&&i%3==2&&i%4==3&&i%5==4&&i%6==5&&i%7==0){ System.out.println(i); } } } } 2:試編寫一個(gè)程序,輸入一個(gè)字符串,統(tǒng)計(jì)其中有多少各單詞?單詞之間用空格分開。 import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("請輸入:"); String sentence = input.nextLine(); // 將輸入的句子轉(zhuǎn)化為單詞數(shù)組 String[] words = sentence.split(" "); // 單詞數(shù)組的長度就是單詞數(shù) System.out.println("共有 " + words.length + " 個(gè)單詞."); } } 3:試編寫程序,從一個(gè)給定的字符串中刪去某一個(gè)給定的字符。 import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.println("請輸入一個(gè)字符和字符串:"); String str2=input.next()//輸入一個(gè)字符 String str1=input.next()//輸入一個(gè)字符串 String newStr =str1.replace(str2,"");//替換字符串中的字符為空 } 4:第一三維不平衡數(shù)組如下:Int a[][] []= {{{1,2},{3,4,5}},{{6,7},{8,9,10,11}}}; 編程實(shí)現(xiàn)輸出數(shù)組a各個(gè)元素,并求各元素之和。 5:求1+2!+3!+...+20!的和? public class Test{ public static void main(String[] args){ System.out.println("1!+2!+3!+……+20!="+getSum(20)); } public static long getSum(int n){ int i,k,fac,sum=0; for(i=1;i<=n;i++){ fac=1; for(k=1;k<=i;k++) fac=fac*k; sum=sum+fac; } return sum; } }- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
15 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- java 基礎(chǔ) 筆試 答案 整理
鏈接地址:http://m.appdesigncorp.com/p-10844648.html