版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、JAVA基礎(chǔ)測(cè)試題-CORE JAVA部分1 .在main(String argsT法內(nèi)是否可以調(diào)用一個(gè)非靜態(tài)方法?答:main方法是靜態(tài)方法,不育初接去訪(fǎng)問(wèn)非靜態(tài)成員(成員可以是成員變量或是成員方法)2 .請(qǐng)簡(jiǎn)述java程序運(yùn)行的過(guò)程答:.java程序-編譯-.class運(yùn)-T- 顯示結(jié)果3 . java中的控制臺(tái)輸出內(nèi)容換行方式有幾種?答:第一種:System.out.println();第二種:System.out.prilrrt();4 . java中的注釋有哪幾種?分別用來(lái)注釋什么?答:有三種注釋分別為:?jiǎn)涡凶⑨專(zhuān)撼S脕?lái)注釋變量多行注釋?zhuān)?*用來(lái)注釋變量,方法,類(lèi)*/W注釋?zhuān)?*用來(lái)
2、注釋變量,方法,類(lèi)*/5 .請(qǐng)簡(jiǎn)述java中標(biāo)識(shí)符命名規(guī)則.答:必須是字母,數(shù)字,下劃線(xiàn),$1成不能以數(shù)字開(kāi)頭;不能是java中的保留字,最好見(jiàn)名知義6 .請(qǐng)舉例說(shuō)明Scanner這個(gè)類(lèi)的常用方法答:next() nextLine() nextInt() nextFloat() nextDouble() hasNextInt()7 . java中的數(shù)據(jù)類(lèi)型分為哪兩類(lèi)?答: 數(shù)據(jù)類(lèi)型分八個(gè)基礎(chǔ)數(shù)據(jù)類(lèi)型(byte,short,int ,10ng ,float,double,char,boolea n和引用數(shù)據(jù)類(lèi)型(包括類(lèi),接口和數(shù)組)8 . java中全局變量和局部變量的區(qū)別?答:位置的區(qū)別:ja
3、va中全局變量就是類(lèi)中的屬性,而局部變量是方法中或代碼塊中定義的變量;初始值不一樣:全局變量不賦值,系統(tǒng)會(huì)給默認(rèn)值,也不會(huì)報(bào)錯(cuò),而局變部量必須要賦初始值;作用域不一樣:全局變量在整個(gè)類(lèi)所有方法中可以訪(fǎng)問(wèn),局部變量只能在定義它的那一對(duì)括號(hào)中才可以訪(fǎng)問(wèn)9 .同一個(gè)文件里是否可以有兩個(gè) public類(lèi)?答:不可能,一個(gè)java文件中只能有一個(gè)類(lèi)是public的,而必須是public的類(lèi)才可以作為java文件的類(lèi)名.10 .方法名是否可以與構(gòu)造器的名字相同?答:可以。11 .初始化了一個(gè)沒(méi)有run()方法的線(xiàn)程類(lèi),是否會(huì)出錯(cuò)?答:不會(huì)出錯(cuò)第一種方法:直接繼承Thread類(lèi)。public class T
4、estpublic static void main(String args)ThreadClass t = new ThreadClass();t.start();System.out.printlnC'end");/輸出 “ end' class ThreadClass extends Thread /Threa戰(zhàn)已經(jīng)實(shí)現(xiàn) 了 空的 run()方法。第二種方法:實(shí)現(xiàn) Runnable接口public class Test public static void main(String口 args) ThreadClass t = new ThreadClass();
5、Thread thread = new Thread(t);thread.start();System.out.println("end");class ThreadClass implements Runnable public void run() 必須有此方法否則編譯報(bào)錯(cuò)。它是Runnable接口中 的抽象方法。System.out.println("Threads"); 12 .局部?jī)?nèi)部類(lèi)是否可以訪(fǎng)問(wèn)非final變量?答案:不能訪(fǎng)問(wèn)局部的,可以訪(fǎng)問(wèn)成員變量(全局的)。class Out private String name = "ou
6、"void print() final String work = "out.local.work"/若不是 final 的則不能被 Animal 使用.int age=10; class Animal/定義一個(gè)局部?jī)?nèi)部類(lèi).只能在print()方法中使用./局部類(lèi)中不能使用外部的非final的局部變量.全局的可以.public void eat() (System.out.println(work);/ok/age=20;error not finalSystem.out.println(name);/ok.Animal local = new Ani
7、mal();local.eat();13 .選擇語(yǔ)句case中,允許使用的值有哪些?答案:int,short,char,byte都在int范圍之內(nèi),且是整數(shù)),jdk1.7開(kāi)始支持String 類(lèi)型14 . Math,String 是不可繼承的。(final 類(lèi))答:Math,String是不可繼承的。(final類(lèi))15 . instanceof的作用答:判斷某個(gè)對(duì)象是否屬性某個(gè)類(lèi)或某個(gè)接口的對(duì)象16 .構(gòu)造方法干什么用?有什么特點(diǎn)答:構(gòu)造方法在創(chuàng)建對(duì)象的時(shí)候用來(lái)創(chuàng)建類(lèi)的對(duì)象,可以給創(chuàng)建的對(duì)象進(jìn)行 初始化.構(gòu)造方法的特點(diǎn):a1.構(gòu)造方法的名字必須和類(lèi)名相同a2.沒(méi)有返回值也不需要void修金
8、市.17 .=和=的區(qū)別答:=表示賦值,=表示判斷兩個(gè)對(duì)象是否相等18 . 一個(gè)抽象類(lèi)與接口的區(qū)別答:抽象類(lèi)要asbstract修金缸抽象類(lèi)中有抽象方法和非抽象方法,抽象方法必 須用asbstract修金缸且沒(méi)有方法體。接口中是一個(gè)“特殊的類(lèi)”,特殊到里面的 屬性都是最終靜態(tài)常量,方法都是抽象方法,沒(méi)有方法體。19 . Collection與 Collections的區(qū)另答案:Collection是一個(gè)接口,但 Collections卻是一個(gè)輔助類(lèi),里面有很多 靜態(tài)的工具方法。而且很有用的。如: reverse(List list) ; sort(List list, Comparator c
9、)等。Collections沒(méi)有實(shí)現(xiàn)任何接口。它直接繼承了 Object。20 . Java成員變量默認(rèn)初始化的值。成員變量類(lèi)型取值byte-0short-0int-0 long-0Lchar-'u0000' float-0.0F double-0.0D boolean-false所有引用類(lèi)型-null21 .面向?qū)ο蟮娜筇匦??答案:最基本特征:封裝,繼承,多態(tài)。其他特征:抽象關(guān)聯(lián),聚合,組合,內(nèi)聚,耦合22 . String是最基本的數(shù)據(jù)類(lèi)型嗎? String和StringBuffer的區(qū)別?答案:String 不是一最基本的數(shù)據(jù)類(lèi)型。STRING的長(zhǎng)度是不可變的,STRI
10、NGBUFFER 的長(zhǎng)度是可變的。如果你對(duì) 字符串中的內(nèi)容經(jīng)常進(jìn)行操作,特別是內(nèi)容要修改時(shí),那么使用StringBuffer,如果最后需要String,那么使用 StringBuffer 的 toString()方法23 . int和Integer有什么區(qū)別答案:int是基本類(lèi)型。Integer是引用類(lèi)型。Integer可以把String轉(zhuǎn)換成int。24 .運(yùn)行時(shí)異常與一般異常有何異同?答案:異常表示程序運(yùn)行過(guò)程中可能出現(xiàn)的非正常狀態(tài),運(yùn)行時(shí)異常表示虛擬 機(jī)的通常操作中可能遇到的異常,是一種常見(jiàn)運(yùn)行錯(cuò)誤。java編譯器要求方法必須聲明拋出可能發(fā)生的非運(yùn)行時(shí)異常,但是并不要求必須聲明拋出 未被
11、捕獲的運(yùn)行時(shí)異常。25 .說(shuō)出 ArrayList,Vector, LinkedList 的存儲(chǔ)性能和特性.答案:ArrayList和Vector都是使用數(shù)組方式存儲(chǔ)數(shù)據(jù),此數(shù)組元素?cái)?shù)大于實(shí)際 存儲(chǔ)的數(shù)據(jù)以便增加和插入元素,它們都允許直接按序號(hào)索引元素,但是 插入元素要涉及數(shù)組元素移動(dòng)等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢, Vector由于使用了 synchronized法(線(xiàn)程安全),通常性能上較 ArrayList 差,而LinkedList使用雙向鏈表實(shí)現(xiàn)存儲(chǔ),按序號(hào)索引數(shù)據(jù)需要進(jìn)行前向 或后向遍歷,但是插入數(shù)據(jù)時(shí)只需要記錄本項(xiàng)的前后項(xiàng)即可,所以插入速 度較快。26 .數(shù)組轉(zhuǎn)換問(wèn)題。O
12、bject口 object = new Person2;Person person = new Person 3;person = (Person 口)object;/何以轉(zhuǎn)換 int i = new int2;long l = new int3;i = (long)l;/不可以轉(zhuǎn)換27 .用socket通訊寫(xiě)出客戶(hù)端和服務(wù)器端的通訊,要求客戶(hù)發(fā)送數(shù)據(jù)后能夠回顯相同的數(shù)據(jù)Server.java:源代碼 import .*; import java.io.*;class Server (public Server() (BufferedReader br = null;PrintWriter p
13、w = null; try (ServerSocket server = new ServerSocket(8888)謹(jǐn)立®務(wù)器端 Socket socket = server.accept()盟聽(tīng)客戶(hù)端/得到該連接的輸入流br=newBufferedReader(newInputStreamReader(socket.getInputStream();/得到該連接的輸出流pw = new PrintWriter(socket.getOutputStream(),true);先讀后寫(xiě)String data = br.readLine();System.out.println(data
14、);/榆出到控制臺(tái) pw.println(data);/轉(zhuǎn)發(fā)給客戶(hù)端catch(Exception e) (e.printStackTrace(); finally ( try (/關(guān)閉讀寫(xiě)流 br.close(); pw.close();catch(Exception e) ( public static void main(String args) (Server server = new Server(); Client.java:源代碼 import .*; import java.io.*;class Client (public Client() (BufferedReader b
15、r = null;PrintWriter pw = null; try (Socket socket = new Socket("localhost”,8888);/與服務(wù)器建立連 接,服務(wù)器要先啟得到Socket的輸入與輸出流br=newBufferedReader(newInputStreamReader(socket.getInputStream();pw = new PrintWriter(socket.getOutputStream(),true);先寫(xiě)后讀pw.println("Client:你好!");String data = null;while
16、(true) (data = br.readLine();if(data!=null) break; System.out.println(data);catch(Exception e) (e.printStackTrace(); finally (try ( br.close(); pw.close();catch(Exception e) ( public static void main(String args)Client c = new Client();28 .談?wù)?final, finally, finalize 的區(qū)別。答案:final用于聲明屬性,方法和類(lèi),分別表示屬性不可
17、變,注意:如果是基本類(lèi)型說(shuō)明變量本身不能改變,如果是引用類(lèi)型,說(shuō)明它不能指向其他的對(duì)象了。但對(duì)象還是可以改變的。方法不可覆蓋,類(lèi)不可繼承。finally是異常處理語(yǔ)句結(jié)構(gòu)的一部分,表示無(wú)論是否出現(xiàn)異常總是執(zhí)行。finalize是Object類(lèi)的一個(gè)方法,在垃圾收集器執(zhí)行的時(shí)候會(huì)調(diào)用被回收對(duì)象的此方法,可以覆蓋此方法提供垃圾收集時(shí)的其他資源回收,例如關(guān)閉文件等。29 . HashMap 和 Hashtable 的區(qū)別。答案:HashMap是Hashtable的輕量級(jí)實(shí)現(xiàn)(非線(xiàn)程安全的實(shí)現(xiàn)),他們都實(shí)現(xiàn) 了 Map 接口,主要區(qū)別在于 HashMap允許空(null)鍵值(key)與空值(valu
18、e),由于 非線(xiàn)程安全,效率上可能高于 Hashtable,Hashtable不允許有空(null)鍵值(key)與空值(value)。30 . GC是什么?為什么要有GC?答案:GC是垃圾收集的意思(Gabage Collection,內(nèi)存處理是編程人員容易出 現(xiàn)問(wèn)題的地方,忘記或者錯(cuò)誤的內(nèi)存回收會(huì)導(dǎo)致程序或系統(tǒng)的不穩(wěn)定甚至 崩潰,Java提供的GC功能可以自動(dòng)監(jiān)測(cè)對(duì)象是否超過(guò)作用域從而達(dá)到自 動(dòng)回收內(nèi)存的目的,Java語(yǔ)言沒(méi)有提供釋放已分配內(nèi)存的顯式操作方法。31 . String s = new String("xyz");倉(cāng)建了幾個(gè) String Object?答案
19、:兩個(gè),一個(gè)是對(duì)象,一個(gè)是對(duì)象的引用。32 . Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類(lèi)型?答案:方法的重寫(xiě)Overriding和重載Overloading是Java多態(tài)性的不同表 現(xiàn)。重載Overload是一個(gè)類(lèi)中多態(tài)性的一種表現(xiàn),方法名必需相同 ,參數(shù)列表 必需不同.(長(zhǎng)度不同或類(lèi)型不同),與返回值類(lèi)型沒(méi)有關(guān)系.構(gòu)造器也可以重 載.方法名和參數(shù)列表都相同,只有返回類(lèi)型不相同則是方法重復(fù)定義.編譯 出錯(cuò).Overloaded的方法是可以改變返回值的類(lèi)型。重寫(xiě)Override是父類(lèi)與子類(lèi)之間多態(tài)性的一種表現(xiàn)。如果在子類(lèi)中定義某方法與其父類(lèi)有相同
20、的名稱(chēng)和參數(shù),我們說(shuō)該方法被重寫(xiě) (Overriding) o子類(lèi)的對(duì)象使用這個(gè)方法時(shí),將調(diào)用子類(lèi)中的定義,對(duì)它 而言,父類(lèi)中的定義如同被屏蔽”了。33 .寫(xiě)一個(gè)冒泡排序的程序,實(shí)現(xiàn)對(duì)一組雜亂無(wú)序的數(shù)組中數(shù)據(jù)進(jìn)行升序排列int num = 3,10,1,33,9,6);int temp =0; /中間變量/外層循環(huán)比較輪數(shù)for(int i=0;i<num.length-1;i+)for(int j=0;j<num.length-1-i;j+)if(numj>numj+1)/換位置temp = numj;numj = numj+1;numj+1 = temp;) )34 .多
21、線(xiàn)程有幾種實(shí)現(xiàn)方法,都是什么?同步有幾種實(shí)現(xiàn)方法,都是什么?答:多線(xiàn)程有兩種實(shí)現(xiàn)方法,一種是繼承Thread類(lèi),另一種是:實(shí)現(xiàn)Runnable 接口 .同步的實(shí)現(xiàn)方面有兩種,分別是 synchronized,waig notify,實(shí)現(xiàn) 方式有同步代碼塊,同步方法35 .編程題:寫(xiě)一個(gè)Singleton出來(lái)。方式一:醉漢式public class Singletonprivate static Singleton test = new Singleton();/靜態(tài)的。保留自身的引 用。必須是私有的構(gòu)造函數(shù)private Singleton()public static Singleton g
22、etInstance(論共的靜態(tài)的方法。return test;)方式二:懶漢式public class Singletonprivate static Singleton test = null;靜態(tài)的。保留自身的引用。必須是私有的構(gòu)造函數(shù)private Singleton()public static Singleton getInstance(論共的靜態(tài)的方法。if(test = null)test = new Singleton();return test;36 .說(shuō)出一些常用的類(lèi),包,接口,請(qǐng)各舉5個(gè)答案:常用類(lèi)-System,ArrayList,FileInputStream,Th
23、read,Socket.常用的包-java.io,java.util,java.sql,java.javax.naming,常用接口 -Collection,Connection, Cloneable, Comparable, Serializable37 .談?wù)勀闼煜さ脑O(shè)計(jì)模式答案:?jiǎn)卫J?,工廠(chǎng)模式,代理模式,觀(guān)察者模式等38 .什么是反射?什么地方用反射?常用的反射的類(lèi)有哪些?答:java反射:在編譯時(shí)不確定哪個(gè)類(lèi)被加載,而在程序運(yùn)行時(shí)才 加載、探知、使用;動(dòng)態(tài)加載類(lèi)的對(duì)象可以用反射。常用反射的類(lèi)有:A1.Class類(lèi)一可獲取類(lèi)和類(lèi)的成員信息A2.Field類(lèi)一可訪(fǎng)問(wèn)類(lèi)的屬性A3.Method類(lèi)一可調(diào)用類(lèi)的方法A4.Constructor類(lèi)一可調(diào)用類(lèi)的構(gòu)造方法39 .談?wù)勀闶熘膉ava設(shè)計(jì)原則答:開(kāi)閉原則,里氏替代原則,接口隔離原則,單一職責(zé),依賴(lài)倒置原 則等40 .多線(xiàn)程有幾種實(shí)現(xiàn)方式?舉例完成一個(gè)線(xiàn)程輸出1到10,另一個(gè)線(xiàn)程輸出10到1,使
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年企業(yè)內(nèi)部技術(shù)秘密保護(hù)合同模板3篇
- 2024年酒店瓷磚施工專(zhuān)用合同
- 2024年高層建筑消防設(shè)計(jì)施工合同
- 2025魚(yú)缸清洗觀(guān)賞魚(yú)養(yǎng)護(hù)服務(wù)合同
- 二零二五年度體育場(chǎng)館改造與裝修合同2篇
- 2025年度消防設(shè)施設(shè)計(jì)審查及驗(yàn)收咨詢(xún)服務(wù)合同3篇
- 2025承包合同學(xué)校餐廳承包合同
- 二零二五年度辦公設(shè)備智能化改造合同范本3篇
- 2024年銷(xiāo)售代表合同
- 2024版廣告公司的合同
- 新產(chǎn)品試生產(chǎn)報(bào)告
- 各類(lèi)儀器儀表校驗(yàn)記錄表18篇
- 自動(dòng)生產(chǎn)排程 SMT 多線(xiàn)體 版
- 防造假管理程序文件
- 譯林版英語(yǔ)八年級(jí)上冊(cè)單詞表
- 中石油職稱(chēng)英語(yǔ)
- 2023年副主任醫(yī)師(副高)-神經(jīng)內(nèi)科學(xué)(副高)考試歷年真題薈萃帶答案
- 國(guó)家義務(wù)教育質(zhì)量監(jiān)測(cè)科學(xué)四年級(jí)創(chuàng)新作業(yè)測(cè)試卷【附答案】
- 硫磺安全技術(shù)說(shuō)明書(shū)MSDS
- 工程施工現(xiàn)場(chǎng)存在的環(huán)保問(wèn)題及解決建議
- 鍋爐過(guò)熱蒸汽溫度控制系統(tǒng)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論