- 相關(guān)推薦
Java經(jīng)典筆試題(含答案)
在平時(shí)的學(xué)習(xí)、工作中,我們最離不開(kāi)的就是試題了,試題是參考者回顧所學(xué)知識(shí)和技能的重要參考資料。你所見(jiàn)過(guò)的試題是什么樣的呢?以下是小編幫大家整理的Java經(jīng)典筆試題(含答案),歡迎大家借鑒與參考,希望對(duì)大家有所幫助。
Java筆試題含答案 1
一、選擇題(共50題,每題1.5分,共75分。多選題選不全或選錯(cuò)都不得分。)
1. 以下屬于面向?qū)ο蟮奶卣鞯氖?C,D)。(兩項(xiàng))
A) 重載
B) 重寫(xiě)
C) 封裝
D) 繼承
2. 以下代碼運(yùn)行輸出是(C)
public class Person{
private String name=”P(pán)erson”;
int age=0;
}
public class Child extends Person{
public String grade;
public static void main(String[] args){
Person p = new Child();
System.out.println(p.name);
}
}
A) 輸出:Person
B) 沒(méi)有輸出
C) 編譯出錯(cuò)
D) 運(yùn)行出錯(cuò)
3. 在使用super 和this關(guān)鍵字時(shí),以下描述正確的是(A)
A) 在子類(lèi)構(gòu)造方法中使用super()顯示調(diào)用父類(lèi)的構(gòu)造方法,super()必須寫(xiě)在子類(lèi)構(gòu)造方法的第一行,否則編譯不通過(guò)
B) super()和this()不一定要放在構(gòu)造方法內(nèi)第一行
C) this()和super()可以同時(shí)出現(xiàn)在一個(gè)構(gòu)造函數(shù)中
D) this()和super()可以在static環(huán)境中使用,包括static方法和static語(yǔ)句塊
4. 以下對(duì)封裝的描述正確的是(D)
A) 只能對(duì)一個(gè)類(lèi)中的方法進(jìn)行封裝,不能對(duì)屬性進(jìn)行封裝,
B) 如果子類(lèi)繼承了父類(lèi),對(duì)于父類(lèi)中進(jìn)行封裝的方法,子類(lèi)仍然可以直接調(diào)用
C) 封裝的意義不大,因此在編碼時(shí)盡量不要使用
D) 封裝的主要作用在于對(duì)外隱藏內(nèi)部實(shí)現(xiàn)細(xì)節(jié),增強(qiáng)程序的安全性
5. 以下對(duì)繼承的描述錯(cuò)誤的是(A)
A) Java中的繼承允許一個(gè)子類(lèi)繼承多個(gè)父類(lèi)
B) 父類(lèi)更具有通用性,子類(lèi)更具體
C) Java中的繼承存在著傳遞性
D) 當(dāng)實(shí)例化子類(lèi)時(shí)會(huì)遞歸調(diào)用父類(lèi)中的構(gòu)造方法
6. 以下程序的運(yùn)行結(jié)果是(D)
class Person{
public Person(){
System.out.println(“this is a Person”);
}
}
public class Teacher extends Person{
private String name=”tom”;
public Teacher(){
System.out.println(“this is a teacher”);
super();
}
public static void main(String[] args){
Teacher teacher = new Teacher();
System.out.println(this.name);
}
}
A) this is a Person
this is a teacher
tom
B) this is a teacher
this is a Person
tom
C) 運(yùn)行出錯(cuò)
D) 編譯有兩處錯(cuò)誤
7. 以下說(shuō)法錯(cuò)誤的是()
A) super.方法()可以調(diào)用父類(lèi)的所有非私有方法
B) super()可以調(diào)用父類(lèi)的所有非私有構(gòu)造函數(shù)
C) super.屬性可以調(diào)用父類(lèi)的所有非私有屬性
D) this和super關(guān)鍵字可以出現(xiàn)在同一個(gè)構(gòu)造函數(shù)中
8. 以下關(guān)于final關(guān)鍵字說(shuō)法錯(cuò)誤的是(A,C)(兩項(xiàng))
A) final是java中的修飾符,可以修飾類(lèi)、接口、抽象類(lèi)、方法和屬性
B) final修飾的類(lèi)肯定不能被繼承
C) final修飾的方法不能被重載
D) final修飾的變量不允許被再次賦值
9. 訪問(wèn)修飾符作用范圍由大到小是(D)
A) private-default-protected-public
B) public-default-protected-private
C) private-protected-default-public
D) public-protected-default-private
10. 以下(D)不是Object類(lèi)的方法
A) clone()
B) finalize()
C) toString()
D) hasNext()
11. 多態(tài)的表現(xiàn)形式有(A)
A) 重寫(xiě)
B) 抽象
C) 繼承
D) 封裝
12. 以下對(duì)重載描述錯(cuò)誤的是(B)
A) 方法重載只能發(fā)生在一個(gè)類(lèi)的內(nèi)部
B) 構(gòu)造方法不能重載
C) 重載要求方法名相同,參數(shù)列表不同
D) 方法的返回值類(lèi)型不是區(qū)分方法重載的條件
13. 以下(D)添加到ComputerBook中不會(huì)出錯(cuò)
class Book{
protected int getPrice(){
return 30;
}
}
public class ComputerBook extends Book{
}
A) protected float getPrice(){}
B) protected int getPrice(int page){}
C) int getPrice(){}
D) public int getPrice(){return 10;}
14. 以下對(duì)抽象類(lèi)的描述正確的是(C)
A) 抽象類(lèi)沒(méi)有構(gòu)造方法
B) 抽象類(lèi)必須提供抽象方法
C) 有抽象方法的類(lèi)一定是抽象類(lèi)
D) 抽象類(lèi)可以通過(guò)new關(guān)鍵字直接實(shí)例化
15. 以下對(duì)接口描述錯(cuò)誤的有(D)
A) 接口沒(méi)有提供構(gòu)造方法
B) 接口中的方法默認(rèn)使用public、abstract修飾
C) 接口中的屬性默認(rèn)使用public、static、final修飾
D) 接口不允許多繼承
16. 以下代碼,描述正確的有(A)
interface IDemo{
public static final String name; 1
void print(); 2
public void getInfo(); 3
}
abstract class Person implements IDemo{ 4
public void print(){
}
}
A) 第1行錯(cuò)誤,沒(méi)有給變量賦值
B) 第2行錯(cuò)誤,方法沒(méi)有修飾符
C) 第4行錯(cuò)誤,沒(méi)有實(shí)現(xiàn)接口的全部方法
D) 第3行錯(cuò)誤,沒(méi)有方法的`實(shí)現(xiàn)
17. 接口和抽象類(lèi)描述正確的有(B,C)(兩項(xiàng))
A) 抽象類(lèi)沒(méi)有構(gòu)造函數(shù)
B) 接口沒(méi)有構(gòu)造函數(shù)
C) 抽象類(lèi)不允許多繼承
D) 接口中的方法可以有方法體
18. 以下描述錯(cuò)誤的有(C)
A) abstract 可以修飾類(lèi)、接口、方法
B) abstract修飾的類(lèi)主要用于被繼承
C) abstract 可以修飾變量
D) abstract修飾的類(lèi),其子類(lèi)也可以是abstract修飾的
19. 以下描述正確的有(B)
A) 方法的重寫(xiě)應(yīng)用在一個(gè)類(lèi)的內(nèi)部
B) 方法的重載與返回值類(lèi)型無(wú)關(guān)
C) 構(gòu)造方法不能重載
D) 構(gòu)造方法可以重寫(xiě)
20. 以下程序運(yùn)行結(jié)果是(A)
public class Test extends Father{
private String name=”test”;
public static void main(String[] args){
Test test = new Test();
System.out.println(test.getName());
}
}
class Father{
private String name=”father”;
public String getName() {
return name;
}
}
A) father
B) test
C) 編譯出錯(cuò)
D) 運(yùn)行出錯(cuò),無(wú)輸出
21. 以下對(duì)異常的描述不正確的有(C)
A) 異常分為Error和Exception
B) Throwable是所有異常類(lèi)的父類(lèi)
C) Exception是所有異常類(lèi)父類(lèi)
D) Exception包括RuntimeException和RuntimeException之外的異常
22. 在try-catch-finally語(yǔ)句塊中,以下可以單獨(dú)與finally一起使用的是(B)
A) catch
B) try
C) throws
D) throw
23. 下面代碼運(yùn)行結(jié)果是(B)
public class Demo{
public int add(int a,int b){
try{
return a+b;
}catch(Exception e){
System.out.println(“catch 語(yǔ)句塊”);
}finally{
System.out.println(“finally 語(yǔ)句塊”);
}
return 0;
}
public static void main(String[] args){
Demo demo = new Demo();
System.out.println(“和是:”+demo.add(9,34));
}
}
A) 編譯異常
B) finally語(yǔ)句塊 和是:43
C) 和是:43 finally語(yǔ)句塊
D) catch語(yǔ)句塊 和是:43
24. 以下描述不正確的有(D)
A) try塊不可以省略
B) 可以使用多重catch塊
C) finally塊可以省略
D) catch塊和finally塊可以同時(shí)省略
25. 以下對(duì)自定義異常描述正確的是(C)
A) 自定義異常必須繼承Exception
B) 自定義異?梢岳^承自Error
C) 自定義異?梢愿用鞔_定位異常出錯(cuò)的位置和給出詳細(xì)出錯(cuò)信息
D) 程序中已經(jīng)提供了豐富的異常類(lèi),使用自定義異常沒(méi)有意義
26. 以下程序運(yùn)行結(jié)果是(D)
public class Test {
public int div(int a, int b) {
try {
return a / b;
}catch(Exception e){
System.out.println(“Exception”);
}catch(NullPointerException e){
System.out.println(“ArithmeticException”);
}
catch (ArithmeticException e) {
System.out.println(“ArithmeticException”);
} finally {
System.out.println(“finally”);
}
return 0;
}
public static void main(String[] args) {
Test demo = new Test();
System.out.println(“商是:” + demo.div(9, 0));
}
}
A) Exception finally 商是:0
B) ArithmeticException finally 商是:0
C) finally商是:0
D) 編譯報(bào)錯(cuò)
27. 以下對(duì)TCP和UDP描述正確的是(D)
A) TCP不能提供數(shù)據(jù)的可靠性
B) UDP能夠保證數(shù)據(jù)庫(kù)的可靠性
C) TCP數(shù)據(jù)傳輸效率高于UDP
D) UDP數(shù)據(jù)傳輸效率高于TCP
28. 在Java中,下面對(duì)于構(gòu)造函數(shù)的描述正確的是(D)。(選擇一項(xiàng))
A) 類(lèi)必須顯示定義構(gòu)造函數(shù)
B) 構(gòu)造函數(shù)的返回類(lèi)型是void
C) 構(gòu)造函數(shù)和類(lèi)有相同的名稱(chēng),并且不能帶任何參數(shù)
D) 一個(gè)類(lèi)可以定義多個(gè)構(gòu)造函數(shù)
29. 根據(jù)下面的代碼,
String s = null;
會(huì)拋出NullPointerException異常的有(A,C)。[兩項(xiàng)]
A) if( (s!=null) & (s.length()>0) )
B) if( (s!=null) & & (s.length()>0) )
C) if( (s==null) | (s.length()==0) )
D) if( (s==null) || (s.length()==0) )
30. .在Java中,關(guān)于HashMap類(lèi)的描述,以下廉潔錯(cuò)誤的是( B )。
A) HashMap使用鍵/值得形式保存數(shù)據(jù)
B) HashMap 能夠保證其中元素的順序
C) HashMap允許將null用作鍵
D) HashMap允許將null用作值
31. 下列選項(xiàng)中關(guān)于java中super關(guān)鍵字的說(shuō)法錯(cuò)誤的是( B )
A) super關(guān)鍵字是在子類(lèi)對(duì)象內(nèi)部指代其父類(lèi)對(duì)象的引用
B) super關(guān)鍵字不僅可以指代子類(lèi)的直接父類(lèi),還可以指代父類(lèi)的父類(lèi)
C) 子類(lèi)可以通過(guò)super關(guān)鍵字調(diào)用父類(lèi)的方法
D) 子類(lèi)可以通過(guò)super關(guān)鍵字調(diào)用父類(lèi)的屬性
32. 在Java中,以下代碼( A )正確地創(chuàng)建了一個(gè)InputStreamReader對(duì)象。
A) InuptStreamReader(new FileInputStream(“1.dat”));
B) InuptStreamReader(new FileReader(“1.dat”));
C) InuptStreamReader(new BufferReader(“1.dat”));
D) InuptStreamReader (“1.dat”);
33. 在Java中,( D )類(lèi)提供定位本地文件系統(tǒng),對(duì)文件或目錄及其屬性進(jìn)行基本操作。
A) FileInputStream
B) FileReader
C) FileWriter
D) File
34. Java中的集合類(lèi)包括ArrayList、LinkedList、HashMap等類(lèi),下列關(guān)于集合類(lèi)描述錯(cuò)誤的是(C)(選擇一項(xiàng))
A) ArrayList和LinkedList均實(shí)現(xiàn)了List接口
B) ArrayList的訪問(wèn)速度比LinkedList快
C) 添加和刪除元素時(shí),ArrayList的表現(xiàn)更佳
D) HashMap實(shí)現(xiàn)Map接口,它允許任何類(lèi)型的鍵和值對(duì)象,并允許將null用作鍵或值
35. 在Java中開(kāi)發(fā)JDBC應(yīng)用程序時(shí),使用DriverManager類(lèi)的getConnection()方法建立與數(shù)據(jù)源的連接語(yǔ)句為:
Connection con = DriverManager.getConnection(“jdbc:odbc:news”);
URL連接中的“news”表示的是(C)(選擇一項(xiàng))
A) 數(shù)據(jù)庫(kù)中表的名稱(chēng)
B) 數(shù)據(jù)庫(kù)服務(wù)器的機(jī)器名
C) 數(shù)據(jù)源的名稱(chēng)
D) 用戶(hù)名
36. 在Java中,JDBCAPI定義了一組用于與數(shù)據(jù)庫(kù)進(jìn)行通信的接口和類(lèi),它們包括在(B)包中。
A) java.lang
B) java.sql
C) java.util
D) java.math
37. Java中,以下( B )接口以鍵_值對(duì)的方式存儲(chǔ)對(duì)象。
A) java.util.Collection
B) java.util.Map
C) java.util.List
D) java.util.Set
38. 以下關(guān)于對(duì)象序列化描述正確的是( C,D )[兩項(xiàng)]
A) 使用FileOutputStream可以將對(duì)象進(jìn)行傳輸
B) 使用PrintWriter可以將對(duì)象進(jìn)行傳輸
C) 使用ObjectOutputStream類(lèi)完成對(duì)象存儲(chǔ),使用ObjectInputStream類(lèi)完成對(duì)象讀取
D) 對(duì)象序列化的所屬類(lèi)需要實(shí)現(xiàn)Serializable接口
39. 在Java中,( A )類(lèi)可用于創(chuàng)建鏈表數(shù)據(jù)結(jié)構(gòu)的對(duì)象。
A) LinkedList
B) ArrayList
C) Collection
D) HashMap
40. 分析下面這段Java代碼,它的運(yùn)行結(jié)果是( C )。
import java.io.*;
public class B{
public static void main(string [] args){
int i=12;
System.out.println(i+=i-=i*=i);
}
}
A) 100
B) 0
C) -120
D) 程序無(wú)法編譯
41. 使用JDBC事務(wù)的步驟是(C,A,B,D)(多選)
A) 取消Connection的事務(wù)自動(dòng)提交方式
B) 發(fā)生異常回滾事務(wù)
C) 獲取Connection對(duì)象
D) 操作完畢提交事務(wù)
42. 以下對(duì)JDBC事務(wù)描述錯(cuò)誤的是( B )
A) JDBC事務(wù)屬于JAVA事務(wù)的一種
B) JDBC事務(wù)屬于容器事務(wù)類(lèi)型
C) JDBC事務(wù)可以保證操作的完整性和一致性
D) JDBC事務(wù)是由Connection發(fā)起的,并由Connection控制
43. 要通過(guò)可滾動(dòng)的結(jié)果集更新數(shù)據(jù),以下正確的是(A
A) pst=con.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)
B) pst=con.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY)
C) pst=con.prepareStatement(sql, Resu ltSet.TYPE_SCROLL_SENSITIVE)
D) pst=con.prepareStatement(sql, ResultSet.CONCUR_UPDATABLE)
44. 存儲(chǔ)過(guò)程pro有兩個(gè)參數(shù),第一個(gè)為輸入?yún)?shù),第二個(gè)為輸出參數(shù),以下代碼正確的是(C)
A) CallableStatement cst=con.prepareCall(“(call pro(?,?))”);
B) CallableStatement cst=con.prepareCall(“(call pro(?))”);
C) CallableStatement cst=con.prepareCall(“{call pro(?,?)}”);
D) CallableStatement cst=con.prepareCall(“{call pro(?,?,?)}”);
45. 以下描述正確的是(B)
A) CallableStatement是PreparedStatement的父接口
B) PreparedStatement是CallableStatement的父接口
C) CallableStatement是Statement的子接口
D) PreparedStatement是Statement的父接口
46. 要?jiǎng)h除book表中書(shū)籍(bookName)是”java”的記錄,以下代碼正確的是(A)
String sql=” from book where bookName=?”;
PreparedStatement pst=con.preparedStatement(sql);
pst.execute();
A) pst.setString(1,”java”);
B) pst.setString(0,”java”);
C) pst.setInt(0,”java”);
D) 以上選項(xiàng)都不正確
47. 獲取ResutlSet對(duì)象rst的第一行數(shù)據(jù),以下正確的是(B)
A) rst.hashNext();
B) rst.next();
C) rst.first();
D) rst.nextRow();
48. 以下可以正確獲取結(jié)果集的有(AD)(多選)
A) Statement sta=con.createStatement();
ResultSet rst=sta.executeQuery(“select * from book”);
B) Statement sta=con.createStatement(“select * from book”);
ResultSet rst=sta.executeQuery();
C) PreparedStatement pst=con.preparedStatement();
ResultSet rst=pst.executeQuery(“select * from book”);
D) PreparedStatement pst=con.preparedStatement(“select * from book”);
ResultSet rst=pst.executeQuery();
49. 以下負(fù)責(zé)建立與數(shù)據(jù)庫(kù)連接的是(D)
A) Statement
B) PreparedStatement
C) ResultSet
D) DriverManager
50. 使用JDBC連接數(shù)據(jù)庫(kù)的順序是(B,A,D,C,E)(多選)
A) 加載驅(qū)動(dòng)
B) 導(dǎo)入驅(qū)動(dòng)包
C) 發(fā)送并處理SQL語(yǔ)句
D) 建立于數(shù)據(jù)庫(kù)的連接
E 關(guān)閉連接
二、簡(jiǎn)答題(各5分,共25分)
1、在java中如果聲明一個(gè)類(lèi)為final,表示什么意思? (不計(jì)分)
答:final是最終的意思,final可用于定義變量、方法和類(lèi)但含義不同,聲明為final的類(lèi)不能被繼承。
1、父類(lèi)的構(gòu)造方法是否可以被子類(lèi)覆蓋(重寫(xiě))?
答:父類(lèi)的構(gòu)造方法不可以被子類(lèi)覆蓋,因?yàn)楦割?lèi)和子類(lèi)的類(lèi)名是不可能一樣的。
2、請(qǐng)講述String 和StringBuffer的區(qū)別。
答:String 類(lèi)所定義的對(duì)象是用于存放”長(zhǎng)度固定”的字符串。
StringBuffer類(lèi)所定義的對(duì)象是用于存放”長(zhǎng)度可變動(dòng)”的字符串。
3、如果有兩個(gè)類(lèi)A、B(注意不是接口),你想同時(shí)使用這兩個(gè)類(lèi)的功能,那么你會(huì)如何編寫(xiě)這個(gè)C類(lèi)呢?
答:因?yàn)轭?lèi)A、B不是接口,所以是不可以直接繼承的,但可以將A、B類(lèi)定義成父子類(lèi),那么C類(lèi)就能實(shí)現(xiàn)A、B類(lèi)的功能了。假如A為B的父類(lèi),B為C的父類(lèi),此時(shí)C就能實(shí)現(xiàn)A、B的功能。
4、分析sleep()和wait()方法的區(qū)別。
答: sleep睡眠的意思 : sleep() 方法用來(lái)暫時(shí)中止執(zhí)行的線程。在睡眠后,線程將進(jìn)入就緒狀態(tài)。
wait等待的意思: 如果調(diào)用了 wait() 方法,線程將處于等待狀態(tài)。用于在兩個(gè)或多個(gè)線程并發(fā)運(yùn)行時(shí)。
5、談?wù)勀銓?duì)抽象類(lèi)和接口的理解。
答:定義抽象類(lèi)的目的是提供可由其子類(lèi)共享的一般形式、子類(lèi)可以根據(jù)自身需要擴(kuò)展抽象類(lèi)、抽象類(lèi)不能實(shí)例化、抽象方法沒(méi)有函數(shù)體、抽象方法必須在子類(lèi)中給出具體實(shí)現(xiàn)。他使用extends來(lái)繼承。
接口:一個(gè)接口允許一個(gè)類(lèi)從幾個(gè)接口繼承而來(lái),Java 程序一次只能繼承一個(gè)類(lèi)但可以實(shí)現(xiàn)幾個(gè)接口,接口不能有任何具體的方法,接口也可用來(lái)定義可由類(lèi)使用的一組常量。其實(shí)現(xiàn)方式是interface來(lái)實(shí)現(xiàn)。
Java筆試題含答案 2
選擇題
1). 下面( )是合法的標(biāo)識(shí)符。
A.$persons
B.2Users
C.*poi nt
D.this
正確答案:A
答案解析:本題考查Java 標(biāo)識(shí)符的命名,屬于考試重點(diǎn)內(nèi)容,應(yīng)該掌握。Java 中標(biāo)識(shí)符的命名規(guī)則是:標(biāo)識(shí)符以字母、下畫(huà)線或美元符作為首字符的字符串序列;標(biāo)識(shí)符是區(qū)分大小寫(xiě)的;標(biāo)識(shí)符的字符數(shù)沒(méi)有限制。由此可見(jiàn),Java 中標(biāo)識(shí)符不能以數(shù)字開(kāi)頭,所以選項(xiàng)B錯(cuò)誤;不能以“*”開(kāi)頭,選項(xiàng)C錯(cuò)誤;this 是專(zhuān)用標(biāo)識(shí)符,具有專(zhuān)門(mén)的意義和用途,選項(xiàng)D 錯(cuò)誤,只有選項(xiàng)A 正確。
2). 設(shè)有一個(gè)已按各元素的值排好序的順序表(長(zhǎng)度大于2),現(xiàn)分別用順序查找法和二分查找法查找與給定值k相等的元素,比較的次數(shù)分別是s和b,在查找不成功情況下s和b的關(guān)系是( )。
A.s =b
B.s>b
C.s
D.s>=b
正確答案:B
答案解析:順序查找的基本思想是:從表的一端開(kāi)始,順序掃描線性表,依次將掃描到結(jié)點(diǎn)的關(guān)鍵字和給定值k進(jìn)行比較,若當(dāng)前掃描到結(jié)點(diǎn)的關(guān)鍵字與k相等,則查找成功;若掃描結(jié)束后,仍未找到關(guān)鍵字等于k的結(jié)點(diǎn),則查找失敗。二分查找法是一種效率較高的查找方法,要求線性表是有序表;舅枷胧牵菏紫葘⒋榈膋值和有序表R[O]~R[n -1]的中間位置mid上的結(jié)點(diǎn)的關(guān)鍵字進(jìn)行比較,若相等,則查找完成;否則,若R[mi d]. key>k,則說(shuō)明待查找的結(jié)點(diǎn)只可能在左子表R[O]~R[mi d -1]中,我們只需在左子表中繼續(xù)進(jìn)行折半查找,若R[mi d]. key
3). 定義一個(gè)表示10個(gè)值為null的字符串?dāng)?shù)組,下面選項(xiàng)正確的是( )。
A.String []a;
B.String a[];
C.char a[10][];
D.String a[]=new String[10];
正確答案:D
答案解析:本題考查字符串?dāng)?shù)組變量的聲明。選項(xiàng)A和選項(xiàng)B的效果是一樣的,都是用來(lái)定義一個(gè)字符串?dāng)?shù)組,但沒(méi)有指明數(shù)組個(gè)數(shù),不滿(mǎn)足題目要求;選項(xiàng)C是一個(gè)二維的字符數(shù)組,在C語(yǔ)言中,一個(gè)二維的字符數(shù)組就可以表示一個(gè)一維的字符串?dāng)?shù)組,而在Java中,字符char是基本類(lèi)型,字符串String則是以對(duì)象的形式來(lái)表示的;選項(xiàng)D正確,它定義了一個(gè)含有10個(gè)元素的字符串?dāng)?shù)組,如果沒(méi)有給字符串?dāng)?shù)組賦值,則默認(rèn)為null。
4). Thread類(lèi)中能運(yùn)行線程的方法是( )。
A.resume()
B.start()
C.run()
D.init()
正確答案:C
答案解析:resume()是Thread類(lèi)提供的用于線程控制的方法;start()是Thread類(lèi)中的方法,新建的.線程不會(huì)自動(dòng)運(yùn)行,必須調(diào)用線程的start()方法才能運(yùn)行該線程;run()是Thread類(lèi)中的方法,在該方法中定義了線程的具體行為,線程開(kāi)始執(zhí)行時(shí),就是從它的run()方法開(kāi)始執(zhí)行的,就像Java應(yīng)用程序從main()開(kāi)始、Applet從init()開(kāi)始一樣;init()不是Thread類(lèi)中的方法。
5). 在面向?qū)ο蟮姆椒ㄖ,一個(gè)對(duì)象請(qǐng)求另一個(gè)對(duì)象為其服務(wù)的方式是通過(guò)發(fā)送
A.調(diào)用語(yǔ)句
B.命令
C.口令
D.消息
正確答案:D
6). 下列的( )原始類(lèi)型在使用流時(shí)可以互換。
A.byte和boolean
B.char和int
C.byte和char
D.String和char
正確答案:B
答案解析:本題考查Java語(yǔ)言中字節(jié)類(lèi)型的概念。在Java語(yǔ)言中,byte是字節(jié)類(lèi)型,用1字節(jié)表示.boolean是布爾類(lèi)型,用true和false表示,它們的表示方法并不一樣,也不提供它們之間的轉(zhuǎn)換,選項(xiàng)A錯(cuò)誤。Java內(nèi)部用整數(shù)來(lái)表示char,通常可以在方法調(diào)用和其他語(yǔ)句中互換使用char和int,選項(xiàng)B正確。char用2字節(jié)表示,byte字節(jié)類(lèi)型用l字節(jié)表示,Java內(nèi)部也不允許互換使用它們,選項(xiàng)C錯(cuò)誤。String在Java語(yǔ)言中是一個(gè)類(lèi),它提供對(duì)字符串的一系列操作,而char是Java語(yǔ)言中的一個(gè)基本類(lèi)型,它不是一個(gè)類(lèi),兩者有本質(zhì)的區(qū)別,故而它們是不能互換使用的,選項(xiàng)D錯(cuò)誤。需要注意的是,在Java語(yǔ)言中提供的類(lèi)都是以大寫(xiě)字母開(kāi)頭,基本類(lèi)型都用小寫(xiě)字母表示。
7). 下列說(shuō)法中,不屬于數(shù)據(jù)模型所描述的內(nèi)容是( )。
A.數(shù)據(jù)結(jié)構(gòu)
B.數(shù)據(jù)操作
C.數(shù)據(jù)查詢(xún)
D.數(shù)據(jù)約束
正確答案:C
答案解析:數(shù)據(jù)模型所描述的內(nèi)容包括三個(gè)部分
Java筆試題含答案 3
1). applet的運(yùn)行過(guò)程要經(jīng)歷4個(gè)步驟,其中哪個(gè)不是運(yùn)行步驟?
A.瀏覽器加載指定URL中的HTML文件
B.瀏覽器顯示HTML文件
C.瀏覽器加載HTML文件中指定的applet類(lèi)
D.瀏覽器中的Java運(yùn)行環(huán)境運(yùn)行該applet
正確答案:B
2). 二維數(shù)組A[O,…,8][0,…,9],其每個(gè)元素占2字節(jié)。從首地址400開(kāi)始,按行優(yōu)先順序存儲(chǔ),則元素A[8][5]的存儲(chǔ)地址為( )。
A.570
B.506
C.410
D.482
正確答案:A
答案解析:A[8][5]元素存儲(chǔ)的位置在第9行第6列,所以A[8][5]之前存儲(chǔ)的個(gè)數(shù)應(yīng)為8×10+5 = 85,這些元素占用的空間為85×2字節(jié)=170字節(jié),所以A[8][5]的存儲(chǔ)位置為400+170= 570。
3). 用于生產(chǎn)過(guò)程控制的系統(tǒng),一般都是( ),它要求有對(duì)輸入數(shù)據(jù)及時(shí)做出響應(yīng)的能力。
A.批處理系統(tǒng)
B.分時(shí)系統(tǒng)
C.實(shí)時(shí)系統(tǒng)
D.及時(shí)系統(tǒng)
正確答案:C
答案解析:用于生產(chǎn)過(guò)程控制的系統(tǒng),一般都是實(shí)時(shí)系統(tǒng),它要求有對(duì)輸入數(shù)據(jù)及時(shí)做出反應(yīng)(響應(yīng))的能力。由于環(huán)境和控制對(duì)象以及工作任務(wù)的不同,控制系統(tǒng)對(duì)計(jì)算機(jī)系統(tǒng)的要求也會(huì)不同,一般會(huì)對(duì)計(jì)算機(jī)系統(tǒng)的可靠性、封閉性、抗干擾性等指標(biāo)提出要求。
4). Java語(yǔ)言的許多特點(diǎn)中,下列哪個(gè)特點(diǎn)是C++語(yǔ)言所不具備的.?
A.高性能
B.跨平臺(tái)
C.面向?qū)ο?/p>
D.有類(lèi)庫(kù)
正確答案:B
5). 在匹配器(Matcher)類(lèi)中,用于尋找下一個(gè)模式匹配串的方法是( )。
A.static boolean matches()
B.boolean matcher .fi nd()
C.i nt matcher .start()
D.i nt matcher .end()
正確答案:A
答案解析:本題考查考生對(duì)Java 中的匹配器(Matcher)類(lèi)的理解。Matcher 類(lèi)用于將一個(gè)輸入字符串i nput 和模式串pattern 相比較。Boolean matcher .fi nd()方法用于尋找下一個(gè)模式匹配串;i nt matcher .start()方法用于返回匹配串的一個(gè)起始索引整數(shù)值;i nt matcher .end()方法用于返回匹配串的一個(gè)終止索引整數(shù)值。而用于輸入字符串與模式串比較的方法是static boolean matches(),選項(xiàng)A 正確。
6). J2EE和( )語(yǔ)言綁定。
A.C
B.C++
C.Java
D.匯編語(yǔ)言
正確答案:C
答案解析:J2EE的基礎(chǔ)是J2SE,以Java為平臺(tái);而C語(yǔ)言用于ODBCAPI。由于兩者不兼容,SUN公司才提出了JDBC作為Java幾個(gè)平臺(tái)與麴據(jù)庫(kù)的標(biāo)準(zhǔn)連接。
7). 下列關(guān)于結(jié)構(gòu)化設(shè)計(jì)原則的描述,錯(cuò)誤的是
A.在塊和進(jìn)程的非正常出口處往往需要調(diào)用GOTO語(yǔ)句,使用GOTO語(yǔ)句使程序執(zhí)行效率提高,但是濫用GOTO語(yǔ)句確實(shí)有害,應(yīng)該避免使用GOTO語(yǔ)句。
B.程序設(shè)計(jì)時(shí)應(yīng)該自頂向下,逐步求精。
C.程序設(shè)計(jì)時(shí),應(yīng)該將復(fù)雜問(wèn)題進(jìn)行模塊化,就是將程序設(shè)計(jì)的總目標(biāo)分解為若干個(gè)分目標(biāo),再進(jìn)一步分解為具體的小目標(biāo)。
D.在進(jìn)行程序設(shè)計(jì)時(shí),應(yīng)該盡量在一行書(shū)寫(xiě)一條語(yǔ)句,盡量做到效率第一,清晰第二。
正確答案:D
8). 如果線程調(diào)用下列方法,不能保證使該線程停止運(yùn)行的是( )。
A.sleep()
B.stop()
C.yield()
D.wait()
正確答案:C
答案解析:線程的方法中sleep()方法的作用是使比當(dāng)前線程優(yōu)先級(jí)低的線程運(yùn)行。該方法使一個(gè)線程暫停運(yùn)行一段固定時(shí)間。在休眠時(shí)間內(nèi),線程將不運(yùn)行,低優(yōu)先級(jí)的線程將有機(jī)會(huì)運(yùn)行。yield()方法為只讓給同等優(yōu)先級(jí)的線程運(yùn)行。如果沒(méi)有同等優(yōu)先級(jí)的線程是可運(yùn)行狀態(tài),yield()方法將什么也不做,即線程將繼續(xù)運(yùn)行。stop()方法是強(qiáng)行終止線程。wait()方法是線程間交互的方法,是使一個(gè)線程停止運(yùn)行,進(jìn)入等待狀態(tài)。
9). 開(kāi)發(fā)軟件時(shí)對(duì)提高開(kāi)發(fā)人員工作效率至關(guān)重要的是( )。
A.操作系統(tǒng)的資源管理功能
B.先進(jìn)的軟件開(kāi)發(fā)工具和環(huán)境
C.程序員的數(shù)量
D.計(jì)算機(jī)的并行處理能力
正確答案:B
答案解析:先進(jìn)的軟件開(kāi)發(fā)工具和環(huán)境對(duì)提高開(kāi)發(fā)人員工作效率是至關(guān)重要的。
10). 信息隱蔽的概念與下述哪一種概念直接相關(guān)( )。
A.軟件結(jié)構(gòu)定義
B.模塊獨(dú)立性
C.模塊類(lèi)型劃分
D.模擬耦合度
正確答案:B
答案解析:信息隱蔽的概念與模塊獨(dú)立性這一概念直接相關(guān)。
【Java筆試題含答案】相關(guān)文章:
用友軟件Java工程師筆試題(含答案)09-25
精選Java筆試題09-26
Java經(jīng)典面試題12-29
java面試簡(jiǎn)答試題09-25
java面試試題07-19
IBM Java筆試題07-21
java面試題10-30
Java面試題01-22
經(jīng)典java筆試題及答案09-26