Java基礎筆試選擇題含答案

時(shí)間:2022-06-27 10:18:47 筆試 我要投稿
  • 相關(guān)推薦

Java基礎筆試選擇題含答案

  選擇題

Java基礎筆試選擇題含答案

  1. 以下屬于面向對象的特征的是(C,D)。(兩項)

  A) 重載

  B) 重寫(xiě)

  C) 封裝

  D) 繼承

  2. 以下代碼運行輸出是(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) 編譯出錯

  D) 運行出錯

  3. 在使用super 和this關(guān)鍵字時(shí),以下描述正確的是(A)

  A) 在子類(lèi)構造方法中使用super()顯示調用父類(lèi)的構造方法,super()必須寫(xiě)在子類(lèi)構造方法的第一行,否則編譯不通過(guò)

  B) super()和this()不一定要放在構造方法內第一行

  C) this()和super()可以同時(shí)出現在一個(gè)構造函數中

  D) this()和super()可以在static環(huán)境中使用,包括static方法和static語(yǔ)句塊

  4. 以下對封裝的描述正確的是(D)

  A) 只能對一個(gè)類(lèi)中的方法進(jìn)行封裝,不能對屬性進(jìn)行封裝

  B) 如果子類(lèi)繼承了父類(lèi),對于父類(lèi)中進(jìn)行封裝的方法,子類(lèi)仍然可以直接調用

  C) 封裝的意義不大,因此在編碼時(shí)盡量不要使用

  D) 封裝的主要作用在于對外隱藏內部實(shí)現細節,增強程序的安全性

  5. 以下對繼承的描述錯誤的是(A)

  A)Java中的繼承允許一個(gè)子類(lèi)繼承多個(gè)父類(lèi)

  B) 父類(lèi)更具有通用性,子類(lèi)更具體

  C)Java中的繼承存在著(zhù)傳遞性

  D) 當實(shí)例化子類(lèi)時(shí)會(huì )遞歸調用父類(lèi)中的構造方法

  6. 以下程序的運行結果是(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) 運行出錯

  D) 編譯有兩處錯誤

  7. 以下說(shuō)法錯誤的是()

  A) super.方法()可以調用父類(lèi)的所有非私有方法

  B) super()可以調用父類(lèi)的所有非私有構造函數

  C) super.屬性可以調用父類(lèi)的所有非私有屬性

  D) this和super關(guān)鍵字可以出現在同一個(gè)構造函數中

  8. 以下關(guān)于final關(guān)鍵字說(shuō)法錯誤的是(A,C)(兩項)

  A) final是java中的修飾符,可以修飾類(lèi)、接口、抽象類(lèi)、方法和屬性

  B) final修飾的類(lèi)肯定不能被繼承

  C) final修飾的方法不能被重載

  D) final修飾的變量不允許被再次賦值

  9. 訪(fǎng)問(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)的表現形式有(A)

  A) 重寫(xiě)

  B) 抽象

  C) 繼承

  D) 封裝

  12. 以下對重載描述錯誤的是(B)

  A) 方法重載只能發(fā)生在一個(gè)類(lèi)的內部

  B) 構造方法不能重載

  C) 重載要求方法名相同,參數列表不同

  D) 方法的返回值類(lèi)型不是區分方法重載的條件

  13. 以下(D)添加到ComputerBook中不會(huì )出錯

  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. 以下對抽象類(lèi)的描述正確的是(C)

  A) 抽象類(lèi)沒(méi)有構造方法

  B) 抽象類(lèi)必須提供抽象方法

  C) 有抽象方法的類(lèi)一定是抽象類(lèi)

  D) 抽象類(lèi)可以通過(guò)new關(guān)鍵字直接實(shí)例化

  15. 以下對接口描述錯誤的有(D)

  A) 接口沒(méi)有提供構造方法

  B) 接口中的方法默認使用public、abstract修飾

  C) 接口中的屬性默認使用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行錯誤,沒(méi)有給變量賦值

  B) 第2行錯誤,方法沒(méi)有修飾符

  C) 第4行錯誤,沒(méi)有實(shí)現接口的全部方法

  D) 第3行錯誤,沒(méi)有方法的實(shí)現

  17. 接口和抽象類(lèi)描述正確的有(B,C)(兩項)

  A) 抽象類(lèi)沒(méi)有構造函數

  B) 接口沒(méi)有構造函數

  C) 抽象類(lèi)不允許多繼承

  D) 接口中的方法可以有方法體

  18. 以下描述錯誤的有(C)

  A) abstract 可以修飾類(lèi)、接口、方法

  B) abstract修飾的類(lèi)主要用于被繼承

  C) abstract 可以修飾變量

  D) abstract修飾的類(lèi),其子類(lèi)也可以是abstract修飾的

  19. 以下描述正確的有(B)

  A) 方法的重寫(xiě)應用在一個(gè)類(lèi)的內部

  B) 方法的重載與返回值類(lèi)型無(wú)關(guān)

  C) 構造方法不能重載

  D) 構造方法可以重寫(xiě)

  20. 以下程序運行結果是(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) 編譯出錯

  D) 運行出錯,無(wú)輸出

  21. 以下對異常的描述不正確的有(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ǔ)句塊中,以下可以單獨與finally一起使用的是(B)

  A) catch

  B) try

  C) throws

  D) throw

  23. 下面代碼運行結果是(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. 以下對自定義異常描述正確的是(C)

  A) 自定義異常必須繼承Exception

  B) 自定義異?梢岳^承自Error

  C) 自定義異?梢愿用鞔_定位異常出錯的位置和給出詳細出錯信息

  D) 程序中已經(jīng)提供了豐富的異常類(lèi),使用自定義異常沒(méi)有意義

  26. 以下程序運行結果是(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) 編譯報錯

  27. 以下對TCP和UDP描述正確的是(D)

  A) TCP不能提供數據的可靠性

  B) UDP能夠保證數據庫的可靠性

  C) TCP數據傳輸效率高于UDP

  D) UDP數據傳輸效率高于TCP

  28. 在Java中,下面對于構造函數的描述正確的是(D)。(選擇一項)

  A) 類(lèi)必須顯示定義構造函數

  B) 構造函數的返回類(lèi)型是void

  C) 構造函數和類(lèi)有相同的名稱(chēng),并且不能帶任何參數

  D) 一個(gè)類(lèi)可以定義多個(gè)構造函數

  29. 根據下面的代碼,

  String s = null;

  會(huì )拋出NullPointerException異常的有(A,C)。[兩項]

  C) if( (s==null) | (s.length()==0) )

  D) if( (s==null) || (s.length()==0) )

  30. .在Java中,關(guān)于HashMap類(lèi)的描述,以下廉潔錯誤的是( B )。

  A) HashMap使用鍵/值得形式保存數據

  B) HashMap 能夠保證其中元素的順序

  C) HashMap允許將null用作鍵

  D) HashMap允許將null用作值

  31. 下列選項中關(guān)于java中super關(guān)鍵字的說(shuō)法錯誤的是( B )

  A) super關(guān)鍵字是在子類(lèi)對象內部指代其父類(lèi)對象的引用

  B) super關(guān)鍵字不僅可以指代子類(lèi)的直接父類(lèi),還可以指代父類(lèi)的父類(lèi)

  C) 子類(lèi)可以通過(guò)super關(guān)鍵字調用父類(lèi)的方法

  D) 子類(lèi)可以通過(guò)super關(guān)鍵字調用父類(lèi)的屬性

  32. 在Java中,以下代碼( A )正確地創(chuàng )建了一個(gè)InputStreamReader對象。

  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)提供定位本地文件系統,對文件或目錄及其屬性進(jìn)行基本操作。

  A) FileInputStream

  B) FileReader

  C) FileWriter

  D) File

  34.Java中的集合類(lèi)包括ArrayList、LinkedList、HashMap等類(lèi),下列關(guān)于集合類(lèi)描述錯誤的是(C)(選擇一項)

  A) ArrayList和LinkedList均實(shí)現了List接口

  B) ArrayList的訪(fǎng)問(wèn)速度比LinkedList快

  C) 添加和刪除元素時(shí),ArrayList的表現更佳

  D) HashMap實(shí)現Map接口,它允許任何類(lèi)型的鍵和值對象,并允許將null用作鍵或值

  35. 在Java中開(kāi)發(fā)JDBC應用程序時(shí),使用DriverManager類(lèi)的getConnection()方法

  建立與數據源的連接語(yǔ)句為:

  Connection con = DriverManager.getConnection(“jdbc:odbc:news”);

  URL連接中的”n ews”表示的是(C)(選擇一項)

  A) 數據庫中表的名稱(chēng)

  B) 數據庫服務(wù)器的機器名

  C) 數據源的名稱(chēng)

  D) 用戶(hù)名

  36. 在Java中,JDBCAPI定義了一組用于與數據庫進(jìn)行通信的接口和類(lèi),它們包括在(B)包中。

  A) java.lang

  B) java.sql

  C) java.util

  D) java.math

  37.Java中,以下( B )接口以鍵_值對的方式存儲對象。

  A) java.util.Collection

  B) java.util.Map

  C) java.util.List

  D) java.util.Set

  38. 以下關(guān)于對象序列化描述正確的是( C,D )[兩項]

  A) 使用FileOutputStream可以將對象進(jìn)行傳輸

  B) 使用PrintWriter可以將對象進(jìn)行傳輸

  C) 使用ObjectOutputStream類(lèi)完成對象存儲,使用ObjectInputStream類(lèi)完成對象讀取

  D) 對象序列化的所屬類(lèi)需要實(shí)現Serializable接口

  39. 在Java中,( A )類(lèi)可用于創(chuàng )建鏈表數據結構的對象。

  A) LinkedList

  B) ArrayList

  C) Collection

  D) HashMap

  40. 分析下面這段Java代碼,它的運行結果是( 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ā)生異;貪L事務(wù)

  C) 獲取Connection對象

  D) 操作完畢提交事務(wù)

  42. 以下對JDBC事務(wù)描述錯誤的是( 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)的結果集更新數據,以下正確的是(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. 存儲過(guò)程pro有兩個(gè)參數,第一個(gè)為輸入參數,第二個(gè)為輸出參數,以下代碼正確的是(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. 要刪除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) 以上選項都不正確

  47. 獲取ResutlSet對象rst的第一行數據,以下正確的是(B)

  A) rst.hashNext();

  B) rst.next();

  C) rst.first();

  D) rst.nextRow();

  48. 以下可以正確獲取結果集的有(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. 以下負責建立與數據庫連接的是(D)

  A) Statement

  B) PreparedStatement

  C) ResultSet

  D) DriverManager

  50. 使用JDBC連接數據庫的順序是(B,A,D,C,E)(多選)

  A) 加載驅動(dòng)

  B) 導入驅動(dòng)包

  C) 發(fā)送并處理SQL語(yǔ)句

  D) 建立于數據庫的連接

  E 關(guān)閉連接

【Java基礎筆試選擇題含答案】相關(guān)文章:

華為的JAVA筆試題07-11

華為Java筆試題07-11

Java筆試題推薦07-02

java 基礎面試題07-11

java基礎面試題07-13

Java常見(jiàn)面試題(含答案)07-13

最新Java基礎面試題07-02

JAVA筆試和面試題目大全07-13

證券基礎知識模擬選擇題07-04

某公司(華為)的筆試題目,關(guān)于Flex和Java高工的筆試題目07-11

99久久精品免费看国产一区二区三区|baoyu135国产精品t|40分钟97精品国产最大网站|久久综合丝袜日本网|欧美videosdesexo肥婆