1、(单选题)下面关于java.lang.Exception类的说法正确的是()
A.继承自Throwable
B.继承自Serialable
C.继承自Error
D.以上说法均不正确
【正确答案】A
【答案解析]java异常的基类为java.lang.Throwable,java.lang.Exception和java.lang.Error都继承至Throwable,RuntimeException和其他Exception继承至Exception。
2、(单选题)计算机中的流是()
A.流动的字节
B.流动的对象
C.流动的文件
D.流动的数据缓冲区
【正确答案】D
【答案解析】流,最早从C语言引入,看成是一个流动的数据缓冲区,数据从数据原方向经过数据缓冲区流向目标方向,在流动过程中,数据是串行传送的,java.io包定义了常见的流的接口和类,最基本的流的抽象类是InputStream和OutputStream。
3、(单选题)判断两个字符串的内容是否相同,下面哪个选项正确( )
A.==
B.=
C.equals()
D.以上的都不对
【正确答案】C
【答案解析】equls用来比较两个字符串是否相同,==用来比较两个字符串对象的地址是否相同,=用来赋值
4、(单选题)下面程序的运行结果:()
public static void main(String args[]) {
Thread t = new Thread() {
public void run() {
pong();
}
};
t.run();
System.out.print("ping");
}
static void pong() {
System.out.print("pong");
}
A.pingpong
B.pongping
C.pingpong和pongping都有可能
D.都不输出
【正确答案】B
【答案解析】直接调run方法无法启动线程,和调普通的方法一样
5、(单选题)FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型( )
A.OutputStream
B.File
C.InputStream
D.BufferedOutputStream
【正确答案】A
【答案解析】参考API手册
6、(单选题)getCustomerInfo()方法如下,try中可以捕获三种类型的异常,如果在该方法运行中产生了一个IOException,将会输出什么结果() public void getCustomerInfo() { try { // do something that may cause an Exception } catch (java.io.FileNotFoundException ex) { System.out.print("FileNotFoundException!"); } catch (java.io.IOException ex) { System.out.print("IOException!"); } catch (java.lang.Exception ex) { System.out.print("Exception!"); } }
A.IOException!
B.IOException!Exception!
C.FileNotFoundException!IOException!
D.FileNotFoundException!IOException!Exception!
【正确答案】A
【答案解析】当用多个catch语句时,catch匹配有先后次序之分,从最前面的catch语句块开始匹配,如果前面是父类型,就会匹配上,这样子类型永远匹配不上,所以一般将异常类父类Exception放在catch语句块的最后。
7、(单选题)下面代码的执行结果是( )
import java.util.*;
public class ShortSet{ public static void main(String args[]){ Set
A.1
B.100
C.Throws Exception.
D.None of the Above.
【正确答案】B
【答案解析】i类型为short,i-1是int类型,包装类是Integer,s.remove(i-1)不能移除set集合中的short类型对象。
8、(单选题)下列程序的功能是在控制台上,每隔1秒钟显示字符串"Hello",能够填写在程序中下划线位置,使程序完整,并能够正确运行的语句是( )
public class Test implements Runnable{ public static void main(String[] args){ Test t=new Test(); Thread tt=new Thread(t); tt.start(); } public void run(){ for(;;){ try{ __________ }catch(_________ e ){} System.out.println(“Hello”); } } }
A.Thread. sleep (1000) InterruptedException
B.sleep (1000) InterruptedException
C.t. sleep (1000) InterruptedException
D.Thread. sleep (1000) RuntimeException
【正确答案】A
【答案解析]睡眠需要用到Thread.sleep()方法,传一个long类型的毫秒值,打断睡眠会抛出InterruptedException的异常。
9、(单选题)Java I/O 程序设计中,下列描述正确的是( )
A.OutputStream用于写操作
B.InputStream用于写操作
C.I/O库不支持对文件可读可写API
D.InputStream是一个接口
【正确答案】A
【答案解析】I/O支持对文件的读写,InputStream是一个抽象类。
10、(单选题)下列哪种异常是检查型异常,需要在编写程序时声明( )
A.NullPointerException
B.ClassCastException
C.FileNotFoundException
D.IndexOutOfBoundsException
【正确答案】C
【答案解析】A B D属于运行时异常
11、(多选题)final、finally、finalize三个关键字的区别是()
A.final是修饰符(关键字)可以修饰类、方法、变量
B.finally在异常处理的时候使用,提供finally块来执行任何清除操作
C.finalize是方法名,在垃圾收入集器将对象从内存中清除出去之前做必要的清理工作
D.finally和finalize一样都是用异常处理的方法
【正确答案】A,B,C
【答案解析】finally是关键字不是方法
12、(多选题)以下关于hashCode说法正确的是( )
A.两个对象如果hashCode值不同,则两个对象可能相同。
B.两个对象如果hashCode值相同,则两个对象必定相同。
C.两个对象如果hashCode值相同,则两个对象可能相同。
D.两个对象如果hashCode值不同,则两个对象必定不同。
【正确答案】C,D
【答案解析】先通过hashcode来判断对象放在哪个桶里,但这个桶里可能有很多对象,再通过equals方法来这个桶里找到我们需要的对象。
13、(多选题)有关线程的哪些叙述是对的( )
A.一旦一个线程被创建,它就立即开始运行。
B.使用 start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。
C.当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。
D.一个线程可能因为不同的原因停止并进入就绪状态。
【正确答案】B,D
【答案解析】线程被创建后不一定立即执行。同级线程间是轮转式的,它的运行可能因为轮回,而它因抢占而停止时只能排在轮换队列中,而不能排在前面。不同优先级线程间是抢先式的,即使因为抢先而停止,也不一定排在可运行队列的前面。
14、(多选题)以下说法符合xml语法规则的是( )
A.标记头和标记末的大小写一致
B.元素之间要正确的嵌套
C.结束标记可有可无
D.每个XML文档只能有一个根元素
【正确答案】A,B,D
【答案解析】必须有XML声明语句,是否有DTD文件,注意大小写,所有标识必须有结束标识,空标识必须被关闭。
15、(多选题)以下声明正确的是( )
A.
B.
C.
D.<%xml-stylesheet type="txt/css" href="abc.css"%>
【正确答案】B,C
【答案解析】单引号和双引号都可以用在属性上
16、(多选题)关于异常(Exception),下列描述正确的是( )
A.异常的基类为 Exception,所有异常都必须直接或者间接继承它
B.异常可以用 try{ . . .}catch(Exception e){ . . .}来捕获并进行处理
C.如果某异常继承 RuntimeException,则该异常可以不被声明
D.异常可以随便处理,而不是抛给外层的程序进行处理
【正确答案】A,B,C
【答案解析】异常可以在自己的方法内部处理,当自己无法处理时,需要抛出去给调用者处理
17、(多选题)在XML中,下列关于DOM的叙述是正确的( )
A.DOM是独立于开发语言和平台的,因此使用Visnal Basic、Java、Visual C++等开发工具使用的DOM编程API是一致的
B.XML文档通过load方法被装载进内存后,在内存中形成一个DOM文档对象模型树
C.通过DOM API,软件开发人员可以控制XML文档的结构和内容
D.通过DOM在XML文档中只能按照顺序方式导航
【正确答案】A,B,C
【答案解析】SAX解析文档需要按照顺序,DOM可以随意
18、(多选题)下列选项中,哪一个是预定义实体?( )
A.<
B.&left;
C.>
D.&right;
【正确答案】A,C
【答案解析】表示>号
19、(多选题)String s = new String("hello"); String t = new String("hello"); char c [ ] = {'h', 'e', 'l', 'l', 'o'}; 下列哪些表达式返回 true ( )
A.s.equals(t);
B.t.equals(c);
C.s==t;
D.t.equals (new String("hello"));
【正确答案】A,D
【答案解析】String类的equals方法已经覆盖了object类的equals方法,比较的是两个字符串的内容是否相等,==比较的是两个字符串对象的内存地址是否相等。
20、以下选项中错误的是()
A.整数字面值是int类型
B.byte,short,char三种比int大的整数可以用范围内的值直接赋值
C.float r =3.14f;执行成立
D.浮点数的字面值是double类型
【正确答案】B
【答案解析】byte,short,char可以用范围内的值直接赋值,范围外的值不能赋值。byte a=127对,byte a=128错。
21 this.xxx的讲述错误的是( )
A.this 特殊引用,引用当前对象的地址
B.this.xxx 调用成员
C.当有重名局部变量,必须用this.xx调用成员变量
D.this.xxx就是xxx是当前变量值
【正确答案】D
【答案解析】this.xxx调用当前对象的成员变量。
22.下面选项中,不属于基本类型包装类的是( )?
A.Integer
B.Long
C.Double
D.Char
【正确答案】D
【答案解析】char对应的包装类型为Character
23.关于JDK的概述错误的是
A.JDK是 Java 语言的软件开发工具包
B.JDK是整个java开发的核心
C.JDK包含了:JAVA开发工具(jdk\bin),基础开发库(jdk\jre\lib\rt.jar),基础开发库的源码(jdk\src.zip)
D.JDK安装包里不包含JVM
【正确答案】D
【答案解析】JDK包含了JAVA开发工具(jdk/bin),基础开发库(jdk/jre/lib/rt.jar),基础开发库的源码(jdk/src.lib)。包含JVM。
24.下面关于抽象类正确的是( )
A.抽象类有构造方法
B.抽象类跟接口没有区别
C.抽象类中必须有抽象方法
D.以上说法都不对
【正确答案】A
【答案解析】抽象类中有构造方法,但是不一定有抽象方法
25.在Java中下面代码是()条语句 int i;i=123; int j=0,k=0; System.out.println(i+";"+";"+j+""+k);
A.3
B.4
C.5
D.6
【正确答案】B
【答案解析】java的每一句代码以分号为结尾。
26.关于抽象类和抽象方法的描述错误的是( )
A.抽象类是半成品类、没有完成的类
B.抽象方法是只有方法的定义,没有方法代码
C.抽象类能创建对象
D.public abstract void f();定义了一个抽象方法
【正确答案】C
【答案解析】抽象类不能创建对象。
27.以下关于二进制的描述错误的是( )
A.计算机表示任何数据,都是二进制数字
B.二进制的前缀是0b
C.布尔类型中,真用二进制表示为00000000
D.Integer.toBinaryString()是十进制转二进制的方法
【正确答案】C
【答案解析】布尔类型真用0b00000001,假用0b00000000表示。
28.关于java.lang.String类,以下描述正确的一项是( )
A.String类是final类故不可以继承
B.String类是final类故可以继承
C.String类不是final类故不可以继承
D.String类不是final类故可以继承
【正确答案】A
【答案解析】String类是final的,在java中final修饰的类不能被继承。
29.编译并运行下述程序段的结果是:
public class Test{
public static void main(String argv[]){
int[] count = new int[4];
System.out.println(count[4]);
}
}
A.编译时错误
B.运行时错误
C.输出0
D.输出null
【正确答案】B
【答案解析】count[4]下标越界异常,在运行时会报错。
30.在正则表达式中$代表什么()
A.结束位置
B.非数字字符
C.任意一个字母
D.任意的空白符
【正确答案】A
【答案解析】$在正则表达式中代表结束位置
31.下列初始化字符数组的语句中,正确的是( )
A.char str[5]="hello";
B.char str[]={'h','e','l','l','o','\0'};
C.char str[5]={"hi"};
D.char str[100]="";
【正确答案】B
【答案解析】ACD格式错误,A正确格式为char str[5]={'h','e','l','l','o'};
32.下面说法错误的是()
A.final 不能修饰方法。
B.abstract 可 修 饰 类 、 方 法 。
C.抽 象 方 法 只 有 方 法 头 , 没 有 方 法 体 。
D.关键字final 和 abstract 不 能 同 时 使 用 。
【正确答案】A
【答题时间】2020-02-27 11:47:08
【答案解析]final修饰的常量不可变,修饰的方法不可被重写,修饰的类不可被继承
33.以下选项不能得出精确结果的是( )
A.int a=3d; int b=2; System.out.println(a/b);
B.byte a=2; byte b=3; int c=a+b;
C.System.out.println(300000000l*60*60*24*365);
D.System.out.println(1-0.9);
【正确答案】D
【答案解析】D整数减去一个浮点型,由于浮点型运算不精确,所以该选项得不到精确结果,要利用Math工具类完成精确计算。
34.关于方法的递归算法,说法正确的是( )
A.递归就是在方法中自己调用自己
B.递归的次数最好过大,否则会导致结果不准确
C.使用递归算法,方法必须有返回值
D.简化成最简问题,再正向向倒推,求出结果
【正确答案】A
【答案解析】B一般不同时做多次递归调用,运算量会急剧增加,考虑用循环替代。C递归不一定有返回值,D简化成最简问题,再反向倒推,得出结果。
35.下面有关java的instanceof、?、&、&&说法正确的有?
A.instanceof 可用来判断某个实例变量是否属于某种类的类型。
B."?:" 三目运算符
C.&在逻辑运算中是非短路逻辑与,在位运算中是按位与
D.&& 逻辑运算:逻辑与
【正确答案】A,B,C,D
【答案解析】instanceof判断某个实例变量是否属于某种类的类型
36.关于实例方法和类方法,以下描述正确的是( )
A.实例方法也可访问静态变量
B.类方法既可以访问类变量,也可以访问实例变量
C.类方法只能通过类名来调用
D.实例方法只能通过对象来调用
【正确答案】A,D
【答案解析】类方法只能访问静态变量,类方法可以通过对象调用或类名调用。
37 (单选题)下面哪个流类属于面向字符的输入流( )
A.ByteArrayInputStream
B.FileInputStream
C.ObjectInputStream
D.InputStreamReader
【正确答案】D
【答案解析】ABC属于字节流
38、(单选题)
称呼 CDATA #IMPLIED
姓名 CDATA #REQUIRED
职位 CDATA #REQUIRED> 关于上述DTD 定义的描述正确的是( )
A.Customer 元素能包含子元素,并且能为空
B.Customer 元素能包含文本,并且能为空
C.Customer 元素不能包含文本,也不能包含子元素
D.Customer 元素的所有实例的“称呼”属性必须有值,不能为空
【正确答案】C
【答案解析】EMPTY表示元素不能包含文本,也不能包含子元素,#REQUIRED表示该属性必须有值,#IMPLIED表示该属性可以没有值。
39、(单选题)以下代码的执行结果是( ) public class Base { private void test() { System.out.println(6 + 6 + "(Result)"); } static public void main(String[] a) { new Base().test(); } }
A.66(Result)
B.12(Result)
C.运行时出错。不能将一个int转成一个String。
D.Compilation Error.Incompatible type for +. Can't add a string to an int. 运行时出错。不能将一个String与一个int相加。
【正确答案】B
【答案解析】字符串与基本数据类型连接的问题,如果第一个是字符串,那么后面都是按字符串处理,如果第一个...第n个都是基本数据类型,第n+1个是字符串类型,那么前n个按加法计算出结果再与字符串连接。
40、(单选题)下面是文档注释的是
A./** */
B.//
C./* */
D.//*/
【正确答案】A
【答案解析】A是文档注释,BC是普通注释。
41、(单选题)XML的命名规则中说法正确的是( )
A.可以包含字母、数字、以及其他字符
B.名字可以任何字母、数字或符号开始
C.名字没有任何限制
D.以上均不正确
【正确答案】A
【答案解析】名称可以包含字母,数字或其他字符,名称不能以数字或标点符号开始,名称不能以字符xml(XML Xml结尾),名称不能含有空格。
42、(多选题)有关javadoc命令生成文档叙述正确的是
A.如果是一个包命令为javadoc –d docDir nameOfPackage
B.如果是一个包命令为javadoc –d docDir nameOfPackages
C.如果文件在默认包中命令为javadoc –d docDir *.java
D.如果文件在默认包中命令为javadoc –d docDir *.javac
【正确答案】A,C
【答案解析】BD语法错误
43、(多选题)下列文档注释规范说明正确的是
A.@author Lee Boynton代表作者
B.@version 1.2.1代表版本号
C.@see import java.util.Arrays;代表参见
D.@since JDK1.8 代表JDK版本
【正确答案】A,B,C,D
【答案解析】均正确
44、(多选题)关于异常(Exception),下列描述正确的是( )
A.异常的基类为 Exception,所有异常都必须直接或者间接继承它
B.异常可以用 try{ . . .}catch(Exception e){ . . .}来捕获并进行处理
C.如果某异常继承 RuntimeException,则该异常可以不被声明
D.异常可以随便处理,而不是抛给外层的程序进行处理
【正确答案】A,B,C
【答案解析】异常可以在自己方法内部处理,当自己无法处理时,需要抛给调用者处理。
45、(单选题)关于 sleep()和 wait(),以下描述错误的一项是( )
A.sleep 是线程类(Thread)的方法,wait 是 Object 类的方法
B.sleep 不释放对象锁,wait 放弃对象锁
C.sleep 暂停线程、但监控状态仍然保持,结束后会自动恢复
D.wait 后进入等待锁定池,只有针对此对象发出 notify 方法后获得对象锁进入运行状态
【正确答案】D
【答案解析】sleep是线程类的方法,此线程停止执行时,执行另一线程,不释放对象锁,监控仍然保持,结束后会自动恢复。wait是Object类的方法,会导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法后才进入对象锁定池准备获得对象进入运行状态。
46、(单选题)下列可以解析XML的有( )
A.CSS
B.DTD
C.SAX
D.XSL
【正确答案】C
【答案解析】java解析XML四种方式SAX,DOM,JDOM,DOM4J
47、(单选题)方法 resume()负责恢复哪些线程的执行( )
A.通过调用 stop()方法而停止的线程。
B.通过调用 sleep()方法而停止的线程。
C.通过调用 wait()方法而停止的线程。
D.通过调用 suspend()方法而停止的线程。
【正确答案】D
【答案解析】suspend挂起一个线程,就是把这个线程暂停了,它占着资源,但不运行。resume恢复挂起的线程,让这个线程继续执行下去。