2024年JAVA基礎(chǔ)面試題_第1頁
2024年JAVA基礎(chǔ)面試題_第2頁
2024年JAVA基礎(chǔ)面試題_第3頁
2024年JAVA基礎(chǔ)面試題_第4頁
2024年JAVA基礎(chǔ)面試題_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論