程序员(JAVA)_3级

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《计算机程序员(Java)(三级)--指导手册》?第一部分:基本概念一.单选题1.下面关于Java的说法哪些是错误的?(java面向对象的特征)A.Java是一种完全面向对象的程序设计语言B.Java支持goto语句C.Java提供了许多机制来保证程序的健壮性和安全性D.java是可以跨平台的一门语言答案:[B]2.若要编写一个类Hello,下列说法中哪些是错误的?(java编码规范)A.源代码文件必须叫做Hello.java或者hello.java,否则编译出错B.编译后生成的二进制码文件为Hello.classC.运行的命令为javaHelloD.若将文件Hello.class改名为hello.class,那么用命令javahello也可以运行答案:[D]hello.javaHellojavacHello.java3.下面哪些不是Java的基本数据类型?(java编码规范)A.byteB.charC.StringD.boolean答案:[C]4.下列选项中不属于软件产业危机的是哪一项?(软件开发的生命周期)A.开发周期过长B.缺乏技术人才C.成本过高D.不能在把软件交给客户之前发现所有的错误答案:[B]5.List接口描述的是一种什么样的抽象数据结构?(java集合)A.一组元素,可以有相同的元素,元素有先后顺序B.一组元素,不能有相同的元素,元素有先后顺序C.一组元素,可以有相同的元素,元素没有先后顺序D.一组元素,不能有相同的元素,元素没有先后顺序答案:[A]6.Set接口描述的是一种什么样的抽象数据结构?(java集合)A.一组元素,可以有相同的元素,元素有先后顺序B.一组元素,不能有相同的元素,元素有先后顺序C.一组元素,可以有相同的元素,元素没有先后顺序D.一组元素,不能有相同的元素,元素没有先后顺序答案:[D]7.Map接口描述的是一种什么样的抽象数据结构?(java集合)A.一组元素,可以有相同的元素,元素有先后顺序B.一组元素,任意两个元素的关键字不能相同,值也不能相同C.一组元素,任意两个元素的关键字不能相同,值可以相同D.一组元素,不能有相同的元素,元素没有先后顺序答案:[C]8.存放到HashMap中的对象必须实现哪两个方法才能被正确处理?(java集合)A.equals和compareToB.equals和hashCodeC.hashCode和toStringD.clone和compareTo答案:[B]9.下面关于Java中主要异常类的说法中,错误的是?(java异常处理)A.Exception类是所有异常类的祖先B.Error类用于描述系统的内部错误和资源耗尽等严重错误,程序必须捕获这种类型的错误C.产生IOException的原因是程序输入输出遇到了意外的情况D.RuntimeException是虚拟机运行时可能出现的异常,Java默认自动处理答案:[B]Throwable是所有错误和异常类的祖先Exception是所有异常类的祖先Error10.关于异常的概念,下面说法中哪些是错误的?(java异常处理)A.有些异常是因为代码编写有问题,可以通过修改代码来消除B.有些异常是程序运行的环境造成的,无法通过修改代码消除C.出现异常后应该报告用户原因并退出程序D.异常是程序运行时导致中断了正常的指令流的一种事件答案:[C]11.要从一个图像文件中读入数据,应该使用哪种流?(流的概念)A.FileReaderB.FileInputStreamC.ObjectInputSreamD.ImageInputStream答案:[B]流分类:字符流和字节流ImageInputStream不存在图像文件是二进制文件。12.要从一个文本文件中读入字符串,应该使用哪种流?(流的概念)A.FileReaderB.FileInputStreamC.ObjectInputSreamD.ImageInputStream答案:[A]13.下面关于对象序列化的说法那些是错误的?(java序列化)A.需要序列化的类,要实现Serializable接口,但不用额外实现任何方法B.不同类的对象可以写入一个流中,对象和原始数据类型的变量也可以混合写入C.向对象流中写入一个对象时,该对象引用到的其他对象也会写入流中,而且从流中读出时会自动还原为原来的引用关系D.向对象流中写入对象时,类(静态)变量也会写入答案:[D]提示:Serializable接口中没有定义任何方法ObjectOutputStream类的静态变量及transient型变量都不会写入14.利用Socket类进行网络通讯时,首先需要确定哪些信息?(输入输出处理网络编程)A.首先需要确定网络接入方式B.首先需要确定网络传输速度C.首先需要确定所采用的网络接口协议D.首先需要确定服务器和客户端答案:[D]15.下面的哪一项不是面向过程开发模式的特点?()(软件开发的步骤)A.过程性开发模式侧重建立构成问题解决的处理流B.系统的状态保存在各个数据抽象所定义的数据存储中C.数据抽象、数据结构根据算法步骤的要求开发,它贯穿于过程,提供过程所要求操作的信息D.系统的状态是一组全局变量,这组全局变量保存状态的值,把它们从一个过程传送到另一个过程答案:[D]16.FAST方法被应用在软件开发的哪个阶段?()(软件开发的生命周期)A.分析和规约的早期阶段B.设计阶段C.实现阶段D.测试阶段答案:[A]FAST?17.执行一条UPDATE语句,Statement提供的方法中最合适的是哪个?(jdbc)A.executeB.executeQueryC.executeBatchD.executeUpdate答案:[D]Statement接口提供了三种执行SQL语句的方法:executeQuery、executeUpdate和execute。使用哪一个方法由SQL语句所产生的内容决定。方法executeQuery用于产生单个结果集的语句,例如SELECT语句。被使用最多的执行SQL语句的方法是executeQuery。这个方法被用来执行SELECT语句,它几乎是使用最多的SQL语句。方法executeUpdate用于执行INSERT、UPDATE或DELETE语句以及SQLDDL(数据定义语言)语句,例如CREATETABLE和DROPTABLE。INSERT、UPDATE或DELETE语句的效果是修改表中零行或多行中的一列或多列。executeUpdate的返回值是一个整数,指示受影响的行数(即更新计数)。对于CREATETABLE或DROPTABLE等不操作行的语句,executeUpdate的返回值总为零。使用executeUpdate方法是因为在createTableCoffees中的SQL语句是DDL(数据定义语言)语句。创建表,改变表,删除表都是DDL语句的例子,要用executeUpdate方法来执行。你也可以从它的名字里看出,方法executeUpdate也被用于执行更新表SQL语句。实际上,相对于创建表来说,executeUpdate用于更新表的时间更多,因为表只需要创建一次,但经常被更新。方法execute:用于执行返回多个结果集、多个更新计数或二者组合的语句。因为多数程序员不会需要该高级功能execute方法应该仅在语句能返回多个ResultSet对象、多个更新计数或ResultSet对象与更新计数的组合时使用。当执行某个已存储过程或动态执行未知SQL字符串(即应用程序程序员在编译时未知)时,有可能出现多个结果的情况,尽管这种情况很少见。因为方法execute处理非常规情况,所以获取其结果需要一些特殊处理并不足为怪。例如,假定已知某个过程返回两个结果集,则在使用方法execute执行该过程后,必须调用方法getResultSet获得第一个结果集,然后调用适当的getXXX方法获取其中的值。要获得第二个结果集,需要先调用getMoreResults方法,然后再调用getResultSet方法。如果已知某个过程返回两个更新计数,则首先调用方法getUpdateCount,然后调用getMoreResults,并再次调用getUpdateCount。对于不知道返回内容,则情况更为复杂。如果结果是ResultSet对象,则方法execute返回true;如果结果是Javaint,则返回false。如果返回int,则意味着结果是更新计数或执行的语句是DDL命令。在调用方法execute之后要做的第一件事情是调用getResultSet或getUpdateCount。调用方法getResultSet可以获得两个或多个ResultSet对象中第一个对象;或调用方法getUpdateCount可以获得两个或多个更新计数中第一个更新计数的内容。当SQL语句的结果不是结果集时,则方法getResultSet将返回null。这可能意味着结果是一个更新计数或没有其它结果。在这种情况下,判断null真正含义的唯一方法是调用方法getUpdateCount,它将返回一个整数。这个整数为调用语句所影响的行数;如果为-1则表示结果是结果集或没有结果。如果方法getResultSet已返回null(表示结果不是ResultSet对象),则返回值-1表示没有其它结果。也就是说,当下列条件为真时表示没有结果(或没有其它结果):((stmt.getResultSet()==null)&&(stmt.getUpdateCount()==-1))如果已经调用方法getResultSet并处理了它返回的ResultSet对象,则有必要调用方法getMoreResults以确定是否有其它结果集或更新计数。如果getMoreResults返回true,则需要再次调用getResultSet来检索下一个结果集。如上所述,如果getResultSet返回null,则需要调用getUpdateCount来检查null是表示结果为更新计数还是表示没有其它结果。当getMoreResults返回false时,它表示该SQL语句返回一个更新计数或没有其它结果。因此需要调用方法getUpdateCount来检查它是哪一种情况。在这种情况下,当下列条件为真时表示没有其它结果:((stmt.getMoreResults()==false)&&(stmt.getUpdateCount()==-1))下面的代码演示了一种方法用来确认已访问调用方法execute所产生的全部结果集和更新计数:stmt.execute(queryStringWithUnknownResults);while(true){introwCount=stmt.getUpdateCount();if(rowCount0){//它是更新计数System.out.println(Rowschanged=+count);stmt.getMoreResults();continue;}if(rowCount==0){//DDL命令或0个更新System.out.println(NorowschangedorstatementwasDDLcommand);stmt.getMoreResults();continue;}//执行到这里,证明有一个结果集//或没有其它结果ResultSetrs=stmt.getResultSet;if(rs!=null){...//使用元数据获得关于结果集列的信息while(rs.next()){...//处理结果stmt.getMoreResults();continue;}break;//没有其它结果18执行一条DELETE语句,Statement提供的方法中最合适的是哪个?(jdbc)A.executeB.executeQueryC.executeBatchD.executeUpdate答案:[D]19.从HTTP请求中,获得请求参数,应该调用哪个方法?(Servlet)(A)调用HttpServletRequest对象的getA

1 / 37
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功