- 相關(guān)推薦
2024年Java筆試題及答案
無(wú)論是在學(xué)校還是在社會(huì)中,我們會(huì)經(jīng)常接觸并使用試題,借助試題可以更好地考查參試者所掌握的知識(shí)和技能。那么你知道什么樣的試題才能有效幫助到我們嗎?以下是小編整理的2024年Java筆試題及答案,歡迎閱讀,希望大家能夠喜歡。
Java筆試題及答案 1
一、單項(xiàng)選擇題
1.Java是從( )語(yǔ)言改進(jìn)重新設(shè)計(jì)。
A.Ada B.C++ C.Pasacal D.BASIC
答案:B
2.下列語(yǔ)句哪一個(gè)正確( )
A. Java程序經(jīng)編譯后會(huì)產(chǎn)生machine code
B. Java程序經(jīng)編譯后會(huì)產(chǎn)生byte code
C. Java程序經(jīng)編譯后會(huì)產(chǎn)生DLL
D.以上都不正確
答案:B
3.下列說(shuō)法正確的有( )
A. class中的constructor不可省略。
B. constructor必須與class同名,但方法不能與class同名。
C. constructor在一個(gè)對(duì)象被new時(shí)執(zhí)行。
D.一個(gè)class只能定義一個(gè)constructor。
答 案:C
詳解: 見(jiàn)下面代碼,很明顯方法是可以和類名同名的,和構(gòu)造方法唯一的區(qū)別就是,構(gòu)造方法沒(méi)有返回值。
package net.study;
public class TestConStructor
{
public TestConStructor( )
{
System.out.println("constructor");
}
public void TestConStructor( )
{
System.out.println("not constructor");
}
public static void main(String[] args)
{
TestConStructor testConStructor = new TestConStructor( );
System.out.println("main");
testConStructor.TestConStructor( );
}
}
4.提 供Java存取數(shù)據(jù)庫(kù)能力的包是( )
A.java.sql B.java.awt C.java.lang D.java.swing
答案:A
5.下 列運(yùn)算符合法的是( )
A.&& B.<> C.if D.:=
答案:A
詳解:
java 中沒(méi)有<> := 這種運(yùn)算符, if else不算運(yùn)算符
6.執(zhí)行如下程序代碼
a=0;c=0;
do{
--c;
a=a-1;
}while(a>0);
后,C的值是( )
A.0 B.1 C.-1 D.死循環(huán)
答 案:C
詳解:
Do while 中的語(yǔ)句是至少要執(zhí)行一次的。 執(zhí)行順序?yàn)椋篸o 中的語(yǔ)句,然后價(jià)差while條件,如果為false,則終止;如果為true,則繼續(xù)執(zhí)行 Do中的語(yǔ)句,然后再檢查while條件,如此循環(huán)。
7.下列哪一種敘述是正確的( )
A. abstract修飾符可修飾字段、方法和類
B.抽 象方法的.body部分必須用一對(duì)大括號(hào){ }包住
C.聲明抽象方法,大括號(hào)可有可無(wú)
D.聲明抽象方法不可寫(xiě)出大括號(hào)
答案:D
詳解:
abstract不能修飾字段。既然是抽象方法,當(dāng)然是沒(méi)有實(shí)現(xiàn)的方法,根本就沒(méi)有body部分。
8.下列語(yǔ)句正確的是( )
A.形式參數(shù)可被視為local variable
B.形式 參數(shù)可被字段修飾符修飾
C.形式參數(shù)為方法被調(diào)用時(shí),真正被傳遞的參數(shù)
D.形式參數(shù)不可以是對(duì)象
答案:A
詳解:
形參可以看成方法中的局部變量。 傳遞的是對(duì)象引用
9.下列哪種說(shuō)法是正確的( )
A.實(shí)例方法可直接調(diào)用超類的實(shí)例方法
B.實(shí)例方法可直接調(diào)用超類的類方法
C.實(shí)例方法可直接調(diào)用其他類的實(shí)例方法
D.實(shí)例方法可直接調(diào)用本類的 類方法
答案:D
二、多項(xiàng)選擇題
1.Java程序的種類有( )
A.類 (Class) B.Applet C.Application D.Servlet
2.下列說(shuō)法正 確的有( )
A. 環(huán)境變量可在編譯source code時(shí)指定
B.在編譯程序時(shí),所能指定的環(huán)境變量不包括 class path
C. javac一次可同時(shí)編譯數(shù)個(gè)Java源文件
D. javac.exe能指定編譯結(jié)果要置于哪個(gè)目錄(directory)
答案:BCD
3.下列標(biāo)識(shí)符不合法的有 ( )
A.new B.$Usdollars C.1234 D.car.taxi
答案:ACD
解釋:
java 變量命名規(guī)則:1. 大小寫(xiě)有別,例如 a 和 A是兩個(gè)變量 2. 長(zhǎng)度任意 3. 可以任何字母開(kāi)始,另外還可以以"_"和"$"開(kāi)始,一般"$"是很多代碼生成器用的,人工寫(xiě)出來(lái)的代碼不鼓勵(lì)"_" "$" 4. 除了第一個(gè)字符,后面可以跟任何字母,數(shù)字,_和$
new 是關(guān)鍵字不行。 不能以數(shù)字開(kāi)頭。 不用有“.”這種符號(hào)
4.下列說(shuō)法錯(cuò)誤的有( )
A.數(shù)組是一種對(duì)象
B.數(shù)組屬于一種原生類
C. int number=[]={31,23,33,43,35,63}
D.數(shù)組的大 小可以任意改變
答案:BCD
解釋:
數(shù)組不是原生類:int double boolean float byte short long char ,初始化多大就是多大
5.不能用來(lái)修飾interface的有( )
A.private B.public C.protected D.static
答案:ACD
解釋:
interface 是public的, 加不加都是public
6.下列正確的有( )
A. call by value不會(huì)改變實(shí)際參數(shù)的數(shù)值
B. call by reference能改變實(shí)際參數(shù)的參考地址
C. call by reference不能改變實(shí)際參數(shù)的參考地址
D. call by reference能改變實(shí)際參數(shù)的內(nèi)容
答案:ACD
7.下列說(shuō)法 錯(cuò)誤的有( )
A.在類方法中可 用this來(lái)調(diào)用本類的類方法
B.在類方法中調(diào)用本類的類方法時(shí)可直接調(diào)用
C.在類方法中只能調(diào)用本類中的類方法
D.在類方法中絕對(duì)不能調(diào)用實(shí)例方法
答案:CD
解釋:
原來(lái)答案中包含A,但是在 JDK1.5中,這樣寫(xiě)是不會(huì)出錯(cuò)的,只不過(guò)會(huì)有警告而已。類方法中當(dāng)然可以條用其它的方法,比如system.out 。 當(dāng)然你也可以new Object,調(diào)用一下object.toString( )
8.下列說(shuō)法錯(cuò)誤的有( )
A. Java面向?qū)ο笳Z(yǔ)言容許單獨(dú)的過(guò)程與函數(shù)存在
B. Java面向?qū)ο笳Z(yǔ)言容許單獨(dú)的方法存在
C. Java語(yǔ)言中的方法屬于類中的成員(member)
D. Java語(yǔ)言中的方法必定隸屬于某一類(對(duì)象),調(diào)用方法與過(guò)程或函數(shù)相同
答案:ABC
解釋:
java全部完全面向?qū)ο蟮?/p>
9.下列說(shuō)法錯(cuò)誤的有 ( )
A.能被java.exe成功運(yùn)行的java class文件必須有main( )方法
B. J2SDK就是Java API
C. Appletviewer.exe可利用jar選項(xiàng)運(yùn)行.jar文件
D.能被 Appletviewer成功運(yùn)行的java class文件必須有main( )方法
答案:BCD
解釋:
A正確main方法是入口 BJ2SDK當(dāng)然不僅僅包含java API C jar選項(xiàng)是java.exe 的選項(xiàng) D Appletviewer是運(yùn)行applet的, applet 不用main方法,繼承applet類即可。
三、判斷題
1.Java程序中的起始類名稱必須與存放該類的文件名相同。( )
答案:正確
2.Unicode是用16位來(lái)表示 一個(gè)字的。( )
答案:正確
3.原生類中的數(shù)據(jù)類型均可任意轉(zhuǎn)換。( )
答案:錯(cuò)誤
1.分別寫(xiě)出BOOL,int,float,指針類型的變量a 與“零”的比較語(yǔ)句。
答案:
BOOL : if ( !a ) or if(a)
int : if ( a == 0)
float : const EXPRESSION EXP = 0.000001
if ( a < EXP && a >-EXP)
pointer : if ( a != NULL) or if(a == NULL)
Java筆試題及答案 2
1)Java 中能創(chuàng)建 Volatile 數(shù)組嗎?
能,Java 中可以創(chuàng)建 volatile 類型數(shù)組,不過(guò)只是一個(gè)指向數(shù)組的引用,而不是整個(gè)數(shù)組。我的意思是,如果改變引用指向的數(shù)組,將會(huì)受到 volatile 的保護(hù),但是如果多個(gè)線程同時(shí)改變數(shù)組的元素,volatile 標(biāo)示符就不能起到之前的保護(hù)作用了。
2)volatile 能使得一個(gè)非原子操作變成原子操作嗎?
一個(gè)典型的例子是在類中有一個(gè) long 類型的成員變量。如果你知道該成員變量會(huì)被多個(gè)線程訪問(wèn),如計(jì)數(shù)器、價(jià)格等,你最好是將其設(shè)置為 volatile。為什么?因?yàn)?Java 中讀取 long 類型變量不是原子的,需要分成兩步,如果一個(gè)線程正在修改該 long 變量的值,另一個(gè)線程可能只能看到該值的一半(前 32 位)。但是對(duì)一個(gè) volatile 型的 long 或 double 變量的讀寫(xiě)是原子。
3)volatile 修飾符的有過(guò)什么實(shí)踐?
一種實(shí)踐是用 volatile 修飾 long 和 double 變量,使其能按原子類型來(lái)讀寫(xiě)。double 和 long 都是64位寬,因此對(duì)這兩種類型的讀是分為兩部分的,第一次讀取第一個(gè) 32 位,然后再讀剩下的 32 位,這個(gè)過(guò)程不是原子的,但 Java 中 volatile 型的 long 或 double 變量的讀寫(xiě)是原子的。volatile 修復(fù)符的另一個(gè)作用是提供內(nèi)存屏障(memory barrier),例如在分布式框架中的應(yīng)用。簡(jiǎn)單的說(shuō),就是當(dāng)你寫(xiě)一個(gè) volatile 變量之前,Java 內(nèi)存模型會(huì)插入一個(gè)寫(xiě)屏障(write barrier),讀一個(gè) volatile 變量之前,會(huì)插入一個(gè)讀屏障(read barrier)。意思就是說(shuō),在你寫(xiě)一個(gè) volatile 域時(shí),能保證任何線程都能看到你寫(xiě)的值,同時(shí),在寫(xiě)之前,也能保證任何數(shù)值的.更新對(duì)所有線程是可見(jiàn)的,因?yàn)閮?nèi)存屏障會(huì)將其他所有寫(xiě)的值更新到緩存。
4)volatile 類型變量提供什么保證?(答案)
volatile 變量提供順序和可見(jiàn)性保證,例如,JVM 或者 JIT為了獲得更好的性能會(huì)對(duì)語(yǔ)句重排序,但是 volatile 類型變量即使在沒(méi)有同步塊的情況下賦值也不會(huì)與其他語(yǔ)句重排序。 volatile 提供 happens-before 的保證,確保一個(gè)線程的修改能對(duì)其他線程是可見(jiàn)的。某些情況下,volatile 還能提供原子性,如讀 64 位數(shù)據(jù)類型,像 long 和 double 都不是原子的,但 volatile 類型的 double 和 long 就是原子的。
5) 10 個(gè)線程和 2 個(gè)線程的同步代碼,哪個(gè)更容易寫(xiě)?
從寫(xiě)代碼的角度來(lái)說(shuō),兩者的復(fù)雜度是相同的,因?yàn)橥酱a與線程數(shù)量是相互獨(dú)立的。但是同步策略的選擇依賴于線程的數(shù)量,因?yàn)樵蕉嗟木程意味著更大的競(jìng)爭(zhēng),所以你需要利用同步技術(shù),如鎖分離,這要求更復(fù)雜的代碼和專業(yè)知識(shí)。
6)你是如何調(diào)用 wait( )方法的?使用 if 塊還是循環(huán)?為什么?(答案)
wait( ) 方法應(yīng)該在循環(huán)調(diào)用,因?yàn)楫?dāng)線程獲取到 CPU 開(kāi)始執(zhí)行的時(shí)候,其他條件可能還沒(méi)有滿足,所以在處理前,循環(huán)檢測(cè)條件是否滿足會(huì)更好。下面是一段標(biāo)準(zhǔn)的使用 wait 和 notify 方法的代碼:
// The standard idiom for using the wait method
參見(jiàn) Effective Java 第 69 條,獲取更多關(guān)于為什么應(yīng)該在循環(huán)中來(lái)調(diào)用 wait 方法的內(nèi)容。
Java筆試題及答案 3
第一階段題庫(kù)
基礎(chǔ)知識(shí)部分:
1. JDK是什么?JRE是什么?
a) 答:JDK:java開(kāi)發(fā)工具包。JRE:java運(yùn)行時(shí)環(huán)境。
2. 什么是java的平臺(tái)無(wú)關(guān)性?
a) 答:Java源文件被編譯成字節(jié)碼的形式,無(wú)論在什么系統(tǒng)環(huán)境下,只要有java虛擬機(jī)就能運(yùn)行這個(gè)字節(jié)碼文件。也就是一處編寫(xiě),處處運(yùn)行。這就是java的跨平臺(tái)性。
3. 在一臺(tái)電腦上配置java環(huán)境,path起什么作用?如何配置?
a) 答:path的作用是在DOS環(huán)境下,能在任意位置使用JDK目錄中bin文件夾中的可執(zhí)行程序,來(lái)編譯執(zhí)行java程序。
b) 在環(huán)境變量中找到path變量,把bin文件夾的絕對(duì)路徑加上即可。
4. 什么樣的標(biāo)識(shí)符是合法的?
a) 由字母、數(shù)字、_和$組成,長(zhǎng)度不限。其中字母可以是大寫(xiě)或小寫(xiě)的英文字母,數(shù)字為0到9。
b) 標(biāo)識(shí)符的第一個(gè)字符不能是數(shù)字。
c) 標(biāo)識(shí)符區(qū)分大小寫(xiě)。
d) 標(biāo)識(shí)符不能包含空格。
5. Java有幾種基本數(shù)據(jù)類型?
a) byte,short,int,long,char,boolean,float,double
6. 什么是隱式類型轉(zhuǎn)換?什么是顯示類型轉(zhuǎn)換?
a) 當(dāng)將占位數(shù)少的類型賦值給占位數(shù)多的類型時(shí),Java自動(dòng)使用隱式類型轉(zhuǎn)換。 b) 當(dāng)把在級(jí)別高的變量的值賦給級(jí)別底變量時(shí),必須使用顯示類型轉(zhuǎn)換運(yùn)算。
7. &&和&區(qū)別||和|區(qū)別?
a) &&和||是短路與,短路或,當(dāng)左邊的表達(dá)式能判斷當(dāng)前結(jié)果,則不判斷右邊的表達(dá)式。
b) 而& 和|則將兩邊的表達(dá)式都運(yùn)算完畢后,再算結(jié)果。
8. break,continue區(qū)別?
a) break結(jié)束最近的一個(gè)循環(huán),continue結(jié)束當(dāng)次循環(huán),進(jìn)入下次循環(huán)。
9. 類的命名規(guī)則是什么?
a) 如果類名使用拉丁字母,那么名字的首寫(xiě)字母使用大寫(xiě)字母。
b) 類名最好見(jiàn)名得意,當(dāng)類名由幾個(gè)單詞復(fù)合而成時(shí),每個(gè)單詞的首寫(xiě)字母使用大寫(xiě)。
10. 類體的內(nèi)容由兩部分構(gòu)成,哪兩部分?
a) 一部分是變量的定義,用來(lái)刻畫(huà)屬性。
b) 另一部分是方法的定義,用來(lái)刻畫(huà)功能。
11. 解釋什么是類的成員變量,局部變量,實(shí)例成員變量,類成員變量?
a) 變量定義部分所定義的變量被稱為類的成員變量。
b) 在方法體中定義的變量和方法的參數(shù)被稱為局部變量。
c) 成員變量又分為實(shí)例成員變量和類成員變量(static修飾)。
12. 簡(jiǎn)述this關(guān)鍵字用法。
a) this關(guān)鍵字使用在實(shí)例方法中,代表調(diào)用該方法的當(dāng)前對(duì)象。
13. 如何確定方法的返回類型?
_____________________________________________________________________
a) 方法返回的值的類型就是方法的返回類型,如果無(wú)返回值,則返回類型為void。
14. 返回值為void的方法,可否有return?
a) 可以。但return后沒(méi)有任何值。
15. 解釋什么是類方法,什么是實(shí)例方法?
a) static修飾的方法是類方法,無(wú)static修飾的方法是實(shí)例方法。
16. 簡(jiǎn)述方法和變量的命名規(guī)則?
a) 首寫(xiě)字母使用小寫(xiě),如果由多個(gè)單詞組成,從第2個(gè)單詞開(kāi)始首字母使用大寫(xiě)。
17. 什么是方法重載?
a) 方法重載是指一個(gè)類中可以有多個(gè)方法具有相同的名字,但這些方法的參數(shù)必須不同,即或者是參數(shù)的個(gè)數(shù)不同,或者是參數(shù)的類型不同。
18. 什么是構(gòu)造方法?
a) 構(gòu)造方法是一種特殊方法,它的名字必須與它所在的類的名字完全相同,并且不返回任何數(shù)據(jù)類型。
19. 如何創(chuàng)建一個(gè)對(duì)象?
a) 使用new 運(yùn)算符和類的構(gòu)造方法為對(duì)象分配內(nèi)存,如果類中沒(méi)有構(gòu)造方法,系統(tǒng)會(huì)調(diào)用默認(rèn)的構(gòu)造方法。
20. 系統(tǒng)什么情況下會(huì)為類提供構(gòu)造方法,提供什么樣的構(gòu)造方法?
a) 如果類中沒(méi)有構(gòu)造方法,系統(tǒng)會(huì)提供一個(gè)默認(rèn)的構(gòu)造方法,默認(rèn)的構(gòu)造方法是無(wú)參的。
21. 對(duì)象如何調(diào)用自己的成員變量和方法?
a) 使用運(yùn)算符” . ”來(lái)調(diào)用自己的成員變量和方法。
22. 為什么可以直接用類名來(lái)訪問(wèn)類成員變量和類方法?
a) 因?yàn)楫?dāng)類被加載到虛擬機(jī)的時(shí)候,類成員變量就被分配內(nèi)存,類方法被分配入口地
址,所以不用創(chuàng)建對(duì)象,可以直接通過(guò)類名調(diào)用。
23. 類變量有什么特點(diǎn)?
a) 一個(gè)類的所有對(duì)象共享同一個(gè)類變量。
24. 類方法有什么特點(diǎn)?
a) 類方法只能調(diào)用類變量和類方法。(同一類中)
25. package關(guān)鍵字有什么作用,使用中注意什么問(wèn)題?
a) package指定一個(gè)類所在的包,該語(yǔ)句為源代碼第一行。
26. import關(guān)鍵字有什么作用?
a) 引入程序中所用到的類。
27. 類有幾種訪問(wèn)權(quán)限?變量和方法有幾種訪問(wèn)權(quán)限?分別是什么?
a) 類有兩種訪問(wèn)權(quán)限:public,友好的。
b) 方法和變量的訪問(wèn)權(quán)限:public,protected,友好的,private。
28. 簡(jiǎn)述java的訪問(wèn)權(quán)限。
a) public:公有的,任何類都可以訪問(wèn)。
b) protected:受保護(hù)的,同一個(gè)包的類可以訪問(wèn)。不同包的子類可以訪問(wèn)。 c) 友好的:同一個(gè)包的類可以訪問(wèn)。
d) private:私有的,在同一個(gè)類中才能訪問(wèn)。
29. 子類能繼承父類的哪些變量和方法?
a) 如果子類和父類在同一個(gè)包中,那么,子類自然地繼承了其父類中不是private 的成員變量作為自己的成員變量,并且也自然地繼承了父類中不是private 的方法作為自己的方法。
_____________________________________________________________________
b) 如果子類和父類不在同一個(gè)包中,那么,子類繼承了父類的protected,public 成員變量做為子類的成員變量,并且繼承了父類的protected,public 方法為子類的方法。
30. 子類重寫(xiě)父類的方法,可否降低訪問(wèn)權(quán)限?
a) 不可以降低。
31. final關(guān)鍵字可以用來(lái)修飾什么?分別起什么作用?
a) final可以修飾類,這樣的類不能被繼承。
b) final可以修飾方法,這樣的方法不能被重寫(xiě)。
c) final可以修飾變量,這樣的變量的值不能被修改,是常量。
32. 簡(jiǎn)述super關(guān)鍵字作用?
a) 使用super調(diào)用父類的構(gòu)造方法。
b) 使用super操作被隱藏的成員變量和方法。
33. 簡(jiǎn)述什么是對(duì)象上轉(zhuǎn)型?
a) 假設(shè),A 類是B 類的父類,當(dāng)我們用子類創(chuàng)建一個(gè)對(duì)象,并把這個(gè)對(duì)象的引用放到父類的對(duì)象中時(shí),我們稱這個(gè)父類對(duì)象是子類對(duì)象的上轉(zhuǎn)型對(duì)象。
34. 上轉(zhuǎn)型對(duì)象可以操作什么?不可以操作什么?
a) 上轉(zhuǎn)對(duì)象不能操作子類新增的成員變量,失掉了這部分屬性,不能使用子類新增的方法,失掉了一些功能 。
b) 上轉(zhuǎn)型對(duì)象可以操作子類繼承或重寫(xiě)的成員變量,也可以使用子類繼承的或重寫(xiě)的方法。
35. 什么是抽象類?什么是抽象方法?有什么特點(diǎn)?
a) 用關(guān)鍵字abstract修飾類稱為抽象類,abstract類不能用new運(yùn)算創(chuàng)建對(duì)象,必須產(chǎn)生其子類,由子類創(chuàng)建對(duì)象。
b) 用關(guān)鍵字abstract修飾方法稱為抽象方法,abstract方法,只允許聲明,而不允許實(shí)現(xiàn)。
36. 一個(gè)類聲明實(shí)現(xiàn)一個(gè)接口,那么這個(gè)類需要做什么工作?
a) 實(shí)現(xiàn)接口里所有的方法,并且這些方法的訪問(wèn)權(quán)限必須是public。
37. 簡(jiǎn)述什么是數(shù)組?
a) 數(shù)組是相同類型的數(shù)據(jù)按順序組成的一種復(fù)合數(shù)據(jù)類型。通過(guò)數(shù)組名加數(shù)組下標(biāo),來(lái)使用數(shù)組中的數(shù)據(jù)。下標(biāo)從 0 開(kāi)始排序。
38. 創(chuàng)建數(shù)組是否需要指定數(shù)組長(zhǎng)度,如何求數(shù)組長(zhǎng)度?
a) 必須指定數(shù)組長(zhǎng)度,數(shù)組調(diào)用 .length來(lái)獲取數(shù)組長(zhǎng)度。
39. char數(shù)組和byte數(shù)組如何轉(zhuǎn)化成字符串?如何求字符串長(zhǎng)度?
a) 利用String類本身的構(gòu)造方法,String (char a[]),String (byte a[]),””.length( )。
以下方法均為字符串中方法
40. equals equalsIgnoreCase startsWith endsWith
a) 字符串比較 。
b) 忽略大小寫(xiě)比較。
c) 判斷是否以指定字符串開(kāi)頭、結(jié)尾。
41. regionMatches
a) 判斷一個(gè)字符串的.子串是否和另一個(gè)字符串的子串匹配。
42. compareTo compareToIgnoreCase indexOf
a) 按字典順序比較字符串。
b) 忽略大小寫(xiě)的按字典順序比較字符串。
c) 字符串檢索。
43. substring replace trim( )
a) 字符串截取
b) 字符串替換
c) 去掉字符串前后空格。
44. 字符串如何轉(zhuǎn)化為int型,double型?
a) Integer.parseInt(“1”);
b) Double.parseDouble(“25.45”);
45. 簡(jiǎn)述StringTokenizer作用?
a) 按照指定的分隔符,將字符串解析成若干語(yǔ)言符號(hào)。
46. 如何判斷一個(gè)字符是不是數(shù)字,是不是大寫(xiě)?
a) Character.isDigit(‘a(chǎn)’)
b) Character.isUpperCase(‘U’)
47. 已知一個(gè)java.util.Date對(duì)象,如何格式化成如下格式 YYYY-MM-dd hh:mm:ss
a) SimpleDateFormat formate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
formate.format(new Date( )));
48. 如何生成一個(gè)0-100的隨即整數(shù)?
a) (int)(Math.random( )*100)
49. 簡(jiǎn)述java異常處理的機(jī)制?
a) 當(dāng)所調(diào)用的方法出現(xiàn)異常時(shí),調(diào)用者可以捕獲異常使之得到處理;也可以回避異常。
50. 簡(jiǎn)述如下關(guān)鍵字用途try、catch、throw、throws、finally
a) try:保護(hù)代碼,如果try中某行代碼出現(xiàn)異常,則try中代碼不再繼續(xù)執(zhí)行。 b) catch:捕獲異常,當(dāng)try中出現(xiàn)異常,則catch負(fù)責(zé)捕獲異常,并處理。
c) throw:拋出異常。
d) throws:聲明異常。
e) finally:無(wú)論try中是否出現(xiàn)異常,finally一定執(zhí)行。
51. LinkedList和ArrayList區(qū)別?
a) LinkedList底層通過(guò)鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)實(shí)現(xiàn)。
b) ArrayList底層通過(guò)數(shù)組實(shí)現(xiàn)。
52. 什么是I/O流,有什么作用?
a) 指數(shù)據(jù)輸入輸出的流, I/O 流提供一條通道程序,可以使用這條通道把源中的字節(jié)序列送給目的地。
53. 如何查看一個(gè)文件的大小,絕對(duì)路徑,是否可讀?
a) File file = new File(“e://a.txt”);
b) file.length( );
c) file.getAbsolutePath( );
d) file.canRead( );
54. 已知如下代碼
File f = new File("myfile.dat");
FileInputStream istream = new FileInputStream(f); 如何從流中讀取數(shù)據(jù)。
a) byte[] buff = new byte[100];
b) istream.read(buff);
55. 實(shí)現(xiàn)多線程的兩種方法?
a) 從Java.lang.Thread類派生一個(gè)新的線程類,重寫(xiě)它的run( )方法。
b) 實(shí)現(xiàn)Runnable接口,重寫(xiě)Runable接口中的run( )方法。
56. 簡(jiǎn)述一個(gè)線程的生命周期?
a) 新建---運(yùn)行---中斷---死亡
57. 如何讓一個(gè)準(zhǔn)備就緒的線程運(yùn)行?
a) 調(diào)用線程的start方法讓一個(gè)處于準(zhǔn)備就緒的狀態(tài)的線程運(yùn)行。
58. 如何讓一個(gè)線程休眠1000毫秒?
a) 調(diào)用線程的sleep方法,參數(shù)為1000。
59. 如何使線程同步?
a) 使用同步方法
synchronized void methodA( ) { }
b) 使用同步塊
synchronized(object) {
//要同步的語(yǔ)句
}
60. 什么是GC?為什么有GC?
a) GC是垃圾收集器。Java 程序員不用擔(dān)心內(nèi)存管理,因?yàn)槔占鲿?huì)自動(dòng)進(jìn)行管理。
61. 構(gòu)造方法能否被重寫(xiě)?為什么?
a) 不能,因?yàn)闃?gòu)造方法不能被繼承,所以不能重寫(xiě)。
62. 是否可以繼承String類,為什么?
a) 因?yàn)镾tring類是final類,final修飾的類不能被繼承。
63. java關(guān)鍵字區(qū)分大小寫(xiě)嗎?
a) java關(guān)鍵字一律小寫(xiě)。所以無(wú)所謂區(qū)分大小寫(xiě),大寫(xiě)的不是關(guān)鍵字。
64. java采用什么字符集?該字符集有多少字符
a) Java 使用 unicode 字符集,所以常量共有 65535 個(gè)
65. 列舉算術(shù)運(yùn)算符?
a) +,-,*,/,%
66. 算術(shù)混合運(yùn)算結(jié)果精度如何確定?
a) Java按照運(yùn)算符兩邊的操作元的最高精度保留結(jié)果的精度。
67. &是位運(yùn)算符,與運(yùn)算的規(guī)則是什么?
a) 全1則1,否則為0
68. | 是位運(yùn)算符,或運(yùn)算的規(guī)則是什么?
a) 全0則0,否則是1
69. ^是位運(yùn)算符,異或運(yùn)算的規(guī)則是什么?
a) 相同0,不同1
70. ~是位運(yùn)算符,非運(yùn)算的規(guī)則是什么?
a) 遇1則0,遇0則1
71. if語(yǔ)句后邊有個(gè)括號(hào),該括號(hào)里表達(dá)式為什么類型?
a) boolean類型
72. switch語(yǔ)句后括號(hào)里的表達(dá)式是什么類型?case后類型如何確定?
a) char,int,byte,short,枚舉類型。
b) case后面是一個(gè)常量,該常量類型由switch后括號(hào)內(nèi)表達(dá)式來(lái)確定。
73. switch語(yǔ)句后,default關(guān)鍵字起什么作用?break起什么作用?
a) default:當(dāng)用戶指定的表達(dá)式與任何case都不匹配的時(shí)候,執(zhí)行的default后的語(yǔ)句。 b) break:退出當(dāng)前case。
74. for循環(huán)后括號(hào)里三個(gè)表達(dá)式分別起什么作用?
a) 1:循環(huán)初始化的時(shí)候執(zhí)行,只執(zhí)行一次。
b) 2:循環(huán)成立的條件。
c) 3:循環(huán)每次執(zhí)行都會(huì)調(diào)用該表達(dá)式,一般做變量自增。
75. while 和do。while區(qū)別?
a) while先判斷條件,再執(zhí)行。
b) do……while先執(zhí)行,再判斷條件
c) do……while至少執(zhí)行一次。
76. 什么是編譯執(zhí)行的語(yǔ)言?什么是解釋執(zhí)行的語(yǔ)言?
a) 編譯方式:Compilation:針對(duì)當(dāng)前的機(jī)器處理器芯片,將源程序全部翻譯成機(jī)器指令,稱做目標(biāo)程序,再將目標(biāo)程序交給計(jì)算機(jī)執(zhí)行.
b) 解釋方式:Interpretation:這種方式不產(chǎn)生整個(gè)的目標(biāo)程序,而是根據(jù)當(dāng)前的機(jī)器處理器芯片,邊翻譯邊執(zhí)行,翻譯一句執(zhí)行一句.
77. 簡(jiǎn)述一個(gè)java程序執(zhí)行的過(guò)程?
a) 首先編寫(xiě)java源文件(擴(kuò)展名為.java的文本文檔)。
b) 用javac命令把源文件編譯成字節(jié)碼文件(.class文件)
c) 用java命令執(zhí)行字節(jié)碼文件。
78. 成員變量的作用范圍?局部變量的作用范圍?
a) 成員變量在整個(gè)類內(nèi)都有效
b) 局部變量只在定義它的類內(nèi)有效。
79. 構(gòu)造方法有什么作用?
a) 在創(chuàng)建對(duì)象的時(shí)候,java虛擬機(jī)會(huì)調(diào)用類的構(gòu)造方法來(lái)創(chuàng)建對(duì)象。一般對(duì)象的初始化工作可以放在構(gòu)造方法里。
80. java三大特性?
a) 封裝,繼承,多態(tài)。
數(shù)據(jù)庫(kù)部分
81. 簡(jiǎn)述什么是關(guān)系型數(shù)據(jù)庫(kù)?
a) 所謂關(guān)系型數(shù)據(jù)庫(kù),是指采用了關(guān)系模型來(lái)組織數(shù)據(jù)的數(shù)據(jù)庫(kù)。關(guān)系模型指的就是二維表格模型,而一個(gè)關(guān)系型數(shù)據(jù)庫(kù)就是由二維表及其之間的聯(lián)系組成的一個(gè)數(shù)據(jù)組織。
b) 關(guān)系型數(shù)據(jù)庫(kù)是由許多數(shù)據(jù)表(Table)所組成,表又是由許多記錄(Row 或Record)所組成,而紀(jì)錄又是由許多的字段(Column 或Filed)所組成。
82. 什么是主鍵?
a) 設(shè)置一個(gè)表中的某個(gè)字段為主鍵,這個(gè)字段能夠唯一的確定該表中某條記錄,這樣的字段我們稱為主鍵。
83. 什么是外鍵?
a) 外部鍵約束用于強(qiáng)制參照完整性,提供單個(gè)字段或者多個(gè)字段的參照完整性。
84. 主外鍵關(guān)聯(lián)的作用?
a) 保證數(shù)據(jù)完整性。
b) 消除冗余數(shù)據(jù)。
85. SQL語(yǔ)句中文含義是?
a) Structured Query Language,結(jié)構(gòu)化查詢語(yǔ)言。
86. 什么是數(shù)據(jù)庫(kù)?
a) 數(shù)據(jù)庫(kù)是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。
87. 什么數(shù)據(jù)庫(kù)管理系統(tǒng)?
a) DBMS就是實(shí)現(xiàn)把用戶意義下的抽象的邏輯數(shù)據(jù)轉(zhuǎn)換成計(jì)算機(jī)中的具體的物理數(shù)據(jù)的處理軟件。
JDBC部分
88. JDBC含義?
a) JDBC(Java DataBase Connectivity) java數(shù)據(jù)庫(kù)連接,是java連接數(shù)據(jù)庫(kù)的AIP。
89. JDBC連接數(shù)據(jù)庫(kù)步驟?
a) 加載驅(qū)動(dòng)
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
b) 建立連接
Connection conn = DriverManager.getConnection(dbURL,username,password);
c) 創(chuàng)建語(yǔ)句對(duì)象
Statement stmt = conn.createStatement( )
90. 如何使用sql語(yǔ)句操作數(shù)據(jù)庫(kù)?
a) 得到語(yǔ)句對(duì)象之后,使用語(yǔ)句對(duì)象調(diào)用executeUpdate(sql)方法和executeQuery(sql)
方法分別執(zhí)行更新語(yǔ)句和查詢語(yǔ)句。
91. executeUpdate(sql)方法的返回值表示什么含義?
a) 表示該更新方法影響了幾行記錄。
92. executeQuery(sql)方法的返回值如何使用?
a) 該方法的返回值為一個(gè)結(jié)果集,即ResultSet類型的對(duì)象。
b) ResultSet類型的對(duì)象有一個(gè)游標(biāo),指向當(dāng)前操作的行。該游標(biāo)默認(rèn)指向第一行記錄
之前,如果我們想操作結(jié)果集,需要先將游標(biāo)下移,我們調(diào)用ResultSet接口的next( )方法將游標(biāo)下移,如果結(jié)果集里有數(shù)據(jù),則游標(biāo)下移,指向第一行,如果結(jié)果集里沒(méi)有記錄,則下移失敗。當(dāng)游標(biāo)指向具體的某一行時(shí),我們就可以從結(jié)果集里邊獲取值了。獲取的值為當(dāng)前游標(biāo)指向行的值。
93. 如何獲取游標(biāo)所指的行的數(shù)據(jù)?
a) 當(dāng)游標(biāo)指向某一行時(shí),我們可以使用ResultSet接口的getString(列名)方法來(lái)獲取某一列的值,列名作為方法的參數(shù)。
94. 創(chuàng)建語(yǔ)句對(duì)象時(shí),createStatement(參數(shù)1,參數(shù)2),兩個(gè)參數(shù)分別表示什么含義?
a) 第一個(gè)參數(shù)指定該語(yǔ)句對(duì)象生成的結(jié)果集是否可滾動(dòng)以及是否敏感,
b) 第二個(gè)參數(shù)指定該語(yǔ)句對(duì)象生成的結(jié)果集是否可以更新數(shù)據(jù)庫(kù)。
【Java筆試題及答案】相關(guān)文章:
java考試試題及答案10-25
java基礎(chǔ)筆試題及答案03-03
java面試題2017及答案03-06
2017年Java筆試題及答案03-09
java認(rèn)證考試試題及答案03-04
2017年JAVA考試試題及答案02-26
Java main方法面試題及答案03-14