版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
JAVA基礎(chǔ)面試題一、判斷1.
一個(gè)Java源文獻(xiàn)中只能定義一個(gè)公有類,并且類名必須與文獻(xiàn)名一致。(
)2.
通過在程序中引入“importjavax.swing.*;”語句,就能夠使用javax.swing包中的所有類(包括其嵌套的子包中的類)。(
)3.
J2SE的功效是J2ME的一個(gè)子集。(
)4.
Java字節(jié)碼只有被裝入到內(nèi)存中之后,才能被執(zhí)行。(
)5.
Swing是一套GUI組件,采取了新的思緒設(shè)計(jì)Java應(yīng)用程序的界面,它完全地替代掉了原有的AWT。(
)6.
在編程時(shí)編寫過多的注釋,會(huì)使編譯之后生成的程序文獻(xiàn)變大。(
)7.
JavaApplet可運(yùn)行于瀏覽器中,這意味著瀏覽器自身就能夠直接執(zhí)行Applet程序。(
)8.
JDK5.0增加的枚舉類型(enum)是一個(gè)原始數(shù)據(jù)類型。(
)9.
Java要求所有的措施都必須放到某個(gè)類中,不存在獨(dú)立于類的措施。(
)10.
面對對象軟件系統(tǒng)設(shè)計(jì)師們常常用到的UML是一個(gè)編程語言。(
)
二、簡答11.
當(dāng)代編程語言有諸多個(gè)分類措施,如下是我們常見的一個(gè)劃分措施:
(1)“編譯型”編程語言:例如C,程序源碼必須通過編譯才能運(yùn)行;
(2)“解釋型”編程語言:這種類型的語言(例如早期的Basic)一般都擁有一個(gè)交互環(huán)境,用戶輸入一句代碼計(jì)算機(jī)就執(zhí)行一句代碼。
Java屬于上述哪種類型?假如你以為Java不屬于上述任何一個(gè)類型,那么它是不是屬于另外一個(gè)編程語言類型?12.
Java中有兩個(gè)核心字:void和null,它們有什么區(qū)分?13.
簡述“類(class)”、“類庫(classlibrary)”、“包(package)”、“jar文獻(xiàn)”這四個(gè)概念間的聯(lián)系。14.
面對對象的程序在運(yùn)行時(shí)會(huì)創(chuàng)建多個(gè)對象,這些對象之間一般能夠相互“發(fā)送消息”,談?wù)勀銓Α皩ο笾g發(fā)送消息”這句話的了解,并編寫幾句Java示例代碼展示對象之間發(fā)送消息的詳細(xì)編程實(shí)現(xiàn)措施。15.
加法運(yùn)算符“+”能夠施加于原始數(shù)值類型(例如int)的變量,但我們發(fā)覺某些對象類型(例如Integer)的變量,也支持“+”運(yùn)算:
Integerv1=100;
Integerv2=200;
System.out.println(v1+v2);
//輸出:300
這看上去好象Integer類型重載了“+”運(yùn)算符,某些編程語言例如C++能夠重載運(yùn)算符,但Java自身并不支持這一特性。依你的了解或猜測,Java采取什么措施處理兩個(gè)Integer對象直接“+”的語句?16.
在一個(gè)很大的循環(huán)(例如循環(huán)100000次)中,假如需要進(jìn)行大量字符串的連接操作,一般人們會(huì)使用StringBuffer(或StringBuilder)而不是String類型,請解釋這么做的理由。17.
既有兩個(gè)長度不一樣的數(shù)組:
int[]arr1=newint[10];
int[]arr2=newint[100];
那么如下語句能通過編譯嗎?
arr1=arr2;
假如你以為能夠通過編譯,得到這個(gè)結(jié)論的依據(jù)是什么?假如不能通過編譯,你以為其原因是什么?18.
請看如下代碼:
doubled1=100.1;
doubled2=1001/10;
System.out.println(d1==d2);
//輸出:false
明明d1與d2是相等的,為何程序運(yùn)行時(shí)會(huì)輸出一個(gè)讓人意外的成果:false?19.
當(dāng)使用多個(gè)catch語句捕捉多個(gè)異常時(shí),Java要求捕捉Exception的catch語句必須排在最后,如下所示:
try{……}
catch(ClassCastExceptionex){……}
catch(NumberFormatExceptionex){……}
catch(Exceptionex){……}
//此句必須放在最后!
為何會(huì)有這個(gè)限制?談?wù)勀愕牧私狻?0.請看如下示例代碼:
Strings1="Hello";
Strings2="Hello";
System.out.println(s1==s2);
//輸出:true
Strings3=newString("Hello");
Strings4=newString("Hello");
System.out.println(s3==s4);
//輸出:false
請解釋一下為何上述代碼中“System.out…”兩句代碼輸出完全不一樣的成果?
三編程21.
編寫一個(gè)程序,用戶輸入任何一個(gè)字符串之后,反轉(zhuǎn)輸出其成果。其運(yùn)行成果如下所示:
請輸入一個(gè)字串:我在學(xué)習(xí)Java程序設(shè)計(jì)
您輸入了:計(jì)設(shè)序程avaJ習(xí)學(xué)在我22.
編寫一個(gè)措施,它接收一個(gè)int數(shù)組作為參數(shù),外界只需調(diào)用一次這個(gè)措施,能夠立即得到這個(gè)數(shù)組的最大值、最小值和平均值信息。23.
請編寫一個(gè)措施,其申明如下:
publicstaticint[]getRandomizeNumbers(intbegin,intend,intcount)
此措施將生成一個(gè)數(shù)組,包容count個(gè)[begin,end)范圍內(nèi)的隨機(jī)整數(shù).24.
數(shù)學(xué)中,一個(gè)復(fù)數(shù)包容著一個(gè)實(shí)部(Real)和一個(gè)虛部(Imaginary)。請?jiān)O(shè)計(jì)一個(gè)Complex類,它的實(shí)例代表一個(gè)復(fù)數(shù),并且用戶能夠這么使用它:
//創(chuàng)建一個(gè)實(shí)部為3,虛部為4的復(fù)數(shù)
Complexobj=newComplex(3,4);
//Complex對象具備按照數(shù)學(xué)中復(fù)數(shù)的習(xí)慣表示形式輸出的能力。
System.out.println(obj);
//輸出:3+4i25.
A、B、C是三個(gè)類,它們之間有著如下的組合關(guān)系(圖1):
請編寫一個(gè)示例程序,這個(gè)程序能夠完成對A對象的深復(fù)制(deepcopy)。26.
我們能夠調(diào)用Integer.parseInt()措施將一個(gè)字串轉(zhuǎn)換為int類型,但當(dāng)要轉(zhuǎn)換的字串不是一個(gè)有效的數(shù)字時(shí)(例如“a123”),此措施會(huì)拋出一個(gè)NumberFormatException。你需要編寫一個(gè)程序,當(dāng)程序運(yùn)行時(shí)讓用戶從鍵盤上輸入一個(gè)字串,代表考試成績,然后調(diào)用Integer.parseInt()措施將其轉(zhuǎn)換為int類型,并給出是否通過的提示:
請輸入您的考試成績:76
恭喜您通過了考試!
因?yàn)闊o法控制用戶的輸入,因此也許出現(xiàn)如下兩種犯錯(cuò)情況:(1)
用戶輸入了一個(gè)無法轉(zhuǎn)換為int類型的字符串。(2)
用戶輸入的數(shù)字不在[0,100]區(qū)間內(nèi)。
請?jiān)O(shè)計(jì)一個(gè)自定義的異常類InvalidScoreException,當(dāng)出現(xiàn)上述犯錯(cuò)情景時(shí)能拋出此異常對象。要求程序運(yùn)行時(shí),對用戶的錯(cuò)誤輸入能給以明確的提示。27.
設(shè)計(jì)一個(gè)類,實(shí)現(xiàn)如下的狀態(tài)機(jī):
提示:
圖2闡明,當(dāng)使用new核心字創(chuàng)建此類對象時(shí),對象居于Created狀態(tài)(這是初始狀態(tài)),這時(shí),調(diào)用對象的open()措施,對象轉(zhuǎn)換到Opened狀態(tài),再調(diào)用對象的close()措施,對象轉(zhuǎn)入“Closed”狀態(tài),這是終止?fàn)顟B(tài)。
28
一個(gè)圖書管理系統(tǒng)的面對對象設(shè)計(jì)方案如圖3所示:
Book代表書,有“Name(書名)”、“Author(作者名)”、“Price(單價(jià))”和“IsBorrowed(是否被借出)”四個(gè)屬性。
類Library代表圖書館,其內(nèi)部字段books用于保存圖書館中所有的書。它的FindBook()措施依據(jù)書名查找同名的書(也許有多本)。另一個(gè)GetAllBooks()措施獲取館藏所有書的詳細(xì)信息。
類Reader代表讀者,Name字段代表其姓名,讀者能夠“ReturnBook(還書)”和“BorrowBook(借書)”。
請編程完成如下工作:1.
用Java編程實(shí)現(xiàn)上述3個(gè)類。2.
在main()措施內(nèi)書寫如下測試代碼:(1)
創(chuàng)建一個(gè)Library類的實(shí)例myLittleLibrary,其中預(yù)存有如下3本書:
Java程序設(shè)計(jì),張三著,45元
Java核心技術(shù),李四著,50元
Java程序設(shè)計(jì),王五著,38元(2)
顯示圖書館中所有圖書的信息,輸出樣例如下:
Java程序設(shè)計(jì),張三著,45元,可借
Java核心技術(shù),
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版房地產(chǎn)抵押回購交易合同范本3篇
- 二零二五年度預(yù)應(yīng)力鋼筋進(jìn)出口代理合同3篇
- 室內(nèi)設(shè)計(jì)公司2025年度市場推廣合同2篇
- 二零二五年度船舶設(shè)備個(gè)人買賣合同2篇
- 二零二五年度高空作業(yè)安全責(zé)任免除服務(wù)合同3篇
- 二零二五版保姆雇傭合同與雇主合作共贏協(xié)議3篇
- 二零二五版抵債協(xié)議:債權(quán)債務(wù)清算與資產(chǎn)轉(zhuǎn)讓合同3篇
- 2025版超薄浮法玻璃出口貿(mào)易合同范本3篇
- 二零二五版建筑外墻防水涂料研發(fā)與銷售合同3篇
- 二零二五版快遞物流企業(yè)碳排放管理與減排協(xié)議合同3篇
- 碎屑巖油藏注水水質(zhì)指標(biāo)及分析方法
- 【S洲際酒店婚禮策劃方案設(shè)計(jì)6800字(論文)】
- 醫(yī)養(yǎng)康養(yǎng)園項(xiàng)目商業(yè)計(jì)劃書
- 《穿越迷宮》課件
- 《C語言從入門到精通》培訓(xùn)教程課件
- 2023年中國半導(dǎo)體行業(yè)薪酬及股權(quán)激勵(lì)白皮書
- 2024年Minitab全面培訓(xùn)教程
- 社區(qū)電動(dòng)車棚新(擴(kuò))建及修建充電車棚施工方案(純方案-)
- 項(xiàng)目推進(jìn)與成果交付情況總結(jié)與評(píng)估
- 鐵路項(xiàng)目征地拆遷工作體會(huì)課件
- 醫(yī)院死亡報(bào)告年終分析報(bào)告
評(píng)論
0/150
提交評(píng)論