《使用Java实现面向对象编程》阶段测试-笔试试卷

来源:互联网 发布:软件小助手不见 编辑:程序博客网 时间:2024/05/03 14:44

《使用Java实现面向对象编程》阶段测试-笔试试卷

一、选择题(25题,每题4分,满分100)

1) 下列选项中关于JavaArrayListLinkedListHashMap三个类的描述错误的是(c  )。

A. ArrayListLinkedList均实现了List接口

B. ArrayList的访问速度比LinkedList

C. 添加和删除元素时,ArrayList的表现更佳

D. HashMap实现Map接口,它允许任何类型的键和值对象,允许将null用作键或值

 

2) 关于Java中的集合实现类,下列说法描述错误的是(d  )。

A. HashMapMap接口的实现类

B. ArrayList对象是长度可变的对象引用数组

C. 集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法

D. Set中存储一组不允许重复、有序的对象

 

3) 对于Java中的集合类java.util.ArrayList,以下说法正确的是(c  )。

A. 这个集合中的元素是无序的

B. 可以通过键来获取这个集合中的元素

C. 在对这个集合的元素执行遍历操作时,效率比较高

D. 可以通过addFirst()方法,在列表的首部插入元素

 

4) 给定如下Java代码,其中第(  d)行代码有错误。

import java.util.*;

public class MapTest {

public static void main(String[] args) {

List pList = new ArrayList();

pList.add("A");                         //第五行

pList.add("B");                         //第六行

for (int i = 0; i < pList.size(); i++) {          //第七行

String str = pList.get(i);               //第八行

System.out.print(str);         

}

}

}

 

A. 五

B. 六

C. 七

D. 八

 

5) 给定如下Java代码,可以填入横线处的代码是(d  )。

import java.util.*;

public class Test {

public static void main(String[] args) {

________

list.addLast("001");

}

}

A. List list = new ArrayList();

B. List list = new List();

C. ArrayList list = new ArrayList();

D. LinkedList list = new LinkedList();

 

6) Java中,( a  )类的对象可被用作堆栈或者队列。

A. LinkedList

B. ArrayList

C. Collection

D. HashMap

 

7) Java中,关于HashMap类的描述,以下说法错误的是(b  )。

A. HashMap使用键/值的形式保存数据

B. HashMap能够保证其中元素的顺序

C. HashMap的存储方式是哈希表,查询指定元素效率高

D. HashMap通过get( key)获取对应的值

 

8) 阅读下面的Java代码,运行结果描述正确的是(  c)。

import java.util.*;

public class TestMap{

     public statci void main(String[] args){

        Map map=new HashMap( );

      map.put(“first”,”football”);

      map.put(“first”,”basketball”);

      System.out.print(map.get(“first”));

    }

}

A. 编译时发生错误

B. 编译通过,运行时发生错误

C. 正确运行,显示basketball

D. 正确运行,显示football

 

9) Java中,JDBC API定义了一组用于与数据库进行通信的接口和类,它们包括在(b  )包中。

A. java.lang

B. java.sql

C. java.util

D. java.math

 

10) 使用JDBC访问数据库时,下列关于JDBC的说法正确的是(b  )。

A. Connection接口负责执行SQL语句

B. 可以使用Class.forName()方法把JDBC驱动类装载入Java虚拟机中

C. Statement接口由Connection产生负责保存返回的查询结果

D. DriverManager类负责连接数据库并传送数据

 

11) Java中,使用JDBC开发应用程序时处理步骤正确的是(a   )。

A. 1.加载数据库驱动;  2.创建数据库连接;  3.执行SQL命令;  4.处理结果

B. 1.加载数据库驱动;  2.执行SQL命令;    3.创建数据库连接;  4.处理结果

C. 1.创建数据库连接;  2.加载数据库驱动;   3.执行SQL命令;  4.处理结果

D. 1.创建数据库连接;  2.执行SQL命令;    3.加载数据库驱动;  4.处理结果

 

12) Java中开发JDBC应用程序时,使用DriverManager类的getConnection()方法建立与数据源的连接语句为:

Connection con =

DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=news");

URL连接中的“news”表示的是(  b)。

A. 用户名

B.  数据库的名称

C. 数据库服务器的机器名

D. 数据库中表的名称

 

13) Java中,以下关于得到ResultSet对象、PreparedStatement对象、Statement对象的说法,正确的是(  ac )。

A. 可以使用Statement对象的executeQuery方法返回ResultSet对象

B. 可以使用Connection对象的createStatement方法获得PreparedStatement对象

C. 可以使用Connection对象的createStatement方法获得Statement对象

D. 可以使用Connection对象的executeQuery方法返回ResultSet对象

 

14) 在使用JDBC访问数据库时,关于StatementPreparedStatement的描述错误的是(  bd )。

A. PreparedStatement接口继承自Statement接口,因此PreparedStatement实例能够强制转换成Statement实例来使用

B. Statement相比,使用PreparedStatement提高了SQL语句执行的性能,降低了安 全性

C. Statement实例和PreparedStatement实例,均能对数据库进行增删改查操作

D. Statement实例和PreparedStatement实例,均能够通过“?”作为占位符,用于后面 进行参数的设定

 

15) 假设SQL Server数据库中有表book,包含两个字段:id整型,title字符型。向此表插入数据的Java代码片段如下所示,其中con为已正确获得的连接数据库的Connection对象,则以下描述正确的是(  c)。

PreparedStatement pstmt=con.prepareStatement("insert into book(id, title) values(?,?)");

pstmt.setInt(0,10);

pstmt.setString(1,"java");

pstmt.executeUpdate();

 

A. 创建PreparedStatement对象的语句有错误

B. 向book表插入数据的sql语句有错误

C. setInt、setString方法有错误

D. PreparedStatement没有executeUpdate()方法

 

16) 给定一个Java程序的代码片段如下所示,其中conn为连接数据库的Connection对象,此处假定已经正确获得连接。在下划线处加入下列(b  )代码,可以在控制台循环打印出student表中name数据列的值。

Statement stmt = conn.createStatement();

String query = "select * from student";

java.sql.ResultSet rs = stmt.executeQuery(query);           

___________

A. while (rs.hasNext()) {

        System.out.println(rs.getString("name"));

    }

B. while (rs.next()) {

        System.out.println(rs.getString("name"));

    }

C. if(rs.next()) {

       System.out.println(rs.getString("name"));

    }

D. System.out.println(rs.getString("name"));

 

17) 以下选项中关于Oracle中数据库的说法错误的是(  a)。

A. 数据库在逻辑上表现为数据文件、日志文件和控制文件等

B. 必须首先创建数据库,然后才能使用Oracle

C. 可在安装Oracle软件时同时创建数据库,也可以在安装后再单独创建数据库

D. 每个启动的数据库都对应一个数据库实例,然后由这个实例来访问和控制数据库

 

18) 使用数据库表student存放学生信息,其中birthday字段存放学生生日,查询该表中1980915日及以后的学生信息,以下SQL语句正确的是(b  )。

A. SELECT * FROM student WHERE birthday>='1980-09-15';

B. SELECT * FROM student WHERE birthday >='15-9-1980';

C. SELECT * FROM student WHERE TO_DATE(birthday,'YYYY-MM-DD')>='2009-10-1';

D. SELECT * FROM student WHERE birthday>=TO_CHAR('1980-09-15','YYYY- MM-DD');

 

19) 一个数据库表包含性别字段,在该字段上建立(  b )最合适。

A. 唯一索引

B. 位图索引

C. 基于函数的索引

D. B树索引

 

20) 以下选项中关于DAO模式的说法错误的是(c  )。

A. DAO是“Data Access Object”的含义,实现对数据库资源的访问

B. DAO模式中要定义DAO接口和实现类,隔离了不同数据库的实现

C. DAO负责执行业务逻辑操作,将业务逻辑和数据访问隔离开来

D. 使用DAO模式提高了数据访问代码的复用性

 

21) 以下选项中关于Java分层开发技术中实体类的说法错误的是(  d)。

A. 在分层开发中,不同层之间可以通过实体类来传输数据

B. 实体类一般对应一个数据库表,其属性和数据库表的字段对应

C. 实体类最好实现java.io.Serializable,支持序列化机制

D. 实体类的属性和方法一般均使用public修饰

 

22) 以下选项中关于Java中文件输入输出的说法正确的是(  ac)。

A. Java中,文件的输入输出功能是通过流来实现的

B. 如果要把数据写入到一个文件中,需要创建一个输入流对象

C. 字符流在某些方面比如汉字的处理,比字节流更高效

D. 可以通过Reader r=new Reader("c:\\pet.txt")来创建一个输入流对象

 

23) 给定如下Java代码,实现文件复制功能,其中第(  c)行代码有错误。

public class TestIO {

public static void main(String[] args) throws Exception {

Reader fr = new FileReader("c:\\source.txt"); //第三行

Writer fw = new FileWriter("c:\\target.txt");

char ch[] = new char[1024];

int length = fr.read(ch);//第六行

while (length != -1) {

fw.write(ch);   //第八行

length = fr.read(ch);

}

if (null != fr)

fr.close(); //第十三行

if (null != fw)

fw.close();

}

}

A. 三

B. 六

C. 八

D. 十三

0 0
原创粉丝点击