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