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

《使用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. 十三

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
以下是对ArrayList、LinkedList和HashMap的描述及可能存在的错误: 1. ArrayList(可能存在的错误:数组大小固定,删除元素开销大): ArrayList是一个基于数组实现的动态数组,它可以随时添加或删除元素,并且支持随机访问。ArrayList的优点是支持快速随机访问,但是它的缺点是数组大小固定,当元素数量超出数组大小时,需要重新创建一个更大的数组并将原数组中的元素复制到新数组中,这个操作的开销比较大。 2. LinkedList(可能存在的错误:随机访问开销大,插入删除操作效率高): LinkedList是一个基于链表实现的双向链表,它可以随时添加或删除元素,并且支持顺序访问。LinkedList的优点是插入和删除操作效率比较高,但是它的缺点是随机访问开销比较大。 3. HashMap(可能存在的错误:不保证顺序,数组大小固定,线程不安全): HashMap是一个基于哈希表实现的映射表,它可以快速查找和添加元素,并且支持键值对的存储。HashMap的优点是查找和添加操作效率比较高,但是它的缺点是不保证顺序,当元素数量超出数组大小时,需要重新创建一个更大的数组并将原数组中的元素复制到新数组中,这个操作的开销比较大。另外,HashMap是线程不安全的,如果多个线程同时对一个HashMap进行修改操作,可能会导致程序出现并发问题。 需要注意的是,以上描述的优缺点并不是绝对的,它们的适用场景也有所不同。具体使用哪种数据结构,需要根据实际需求和数据特点来综合考虑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值