资源描述
一、 基本知识,不定项选择(总分20分,每题2分)
1.在Java中,关于static关键字的说法错误的是:
A.static可以修饰方法
B.static可以修饰成员
C.static可以修饰代码块
D.static可以修饰局部变量和形参
2.在Java中,关于final关键字的说法正确的是:
A. 如果修饰局部变量,该局部变量必须在定义时赋值,且赋值后不可改变。
B. 如果修饰类,则该类只能被一个子类继承
C. 如果修饰方法,则该方法不能在子类中被覆盖
D. 如果修饰方法,则该方法所在的类不能被继承
E. 如果修饰成员变量,则该成员变量只能在声明时赋值或在构造函数中赋值,除此之外,不能在其他任何位置赋值。
F. 用static final 修饰的属性必须在声明时赋值。
3.下列哪些情况出现时一般不会导致类被加载:
A. 生成该类的对象。
B. 生成其子类对象。
C. 生成其父类的对象。
D. 访问类的静态成员。
E. 声明该类的变量(引用)。
4.下列关于JVM的说法错误的是:
A. JVM的栈空间用来存储方法调用时的临时变量,当调用新方法时,新方法的存储空间入栈,当方法调用结束时,方法的空间出栈。
B. JVM的堆空间是用来存储对象的空间,该空间由JVM自动管理。
C. 我们可以通过设置参数来调整JVM的栈空间和堆空间的大小。
D. 一个程序运行时,只有一个栈。
5.下列关于继承的说法正确的是:
A. 子类构造函数一定会调用父类构造函数。
B. 构造函数的第一行一定是super()或this();而且,这样的调用也只能出现在构造函数的第一行。
C. 任何时候,将父类对象强制转换为其子类的对象,在编译时都能通过。
D. 如果(a instanceof A)的值为true,则a可以转换为A类型。
6.关于抽象类的说法正确的是:
A. 抽象类中一定包含抽象方法,否则会出现编译错误。
B. 包含抽象方法的类一定是抽象类。
C. 抽象方法可以没有方法体,也可以有方法体。
D. 抽象类的父类也只能是抽象类。
7.关于JAVA多线程开发,以下描述错误的是:
A. sleep 是Thread类的静态方法,wait 是Object 类的实例方法。
B. sleep 不释放对象锁,wait 释放对象锁。
C. wait方法一般出现在synchronized代码块内部,而sleep方法可以出现在任意有效的代码位置。
D. 一个线程执行a.wait();方法时它将释放a对象的锁标志,进入a对象的等待池等待,直到另一个线程执行a.notify()或a.notifuAll()方法,将其从等待池转移到锁池。
E. 在多线程程序中,this和Thread.currentThread()代表的是同一个对象。
F. 为保证线程的并发安全,当一个线程进入到一段synchronized锁定的代码块内部执行时,操作系统会一直等待该线程执行完这段锁定的代码,才会换其他线程来执行。
G. 死锁是指在一段synchronized代码块内部有死循环,导致一个线程进入这段代码块后一直占用着CPU,而其他线程无法执行的情况。
8.关于Object类中的方法,描述正确的有:
A. Object类中的所有方法都可以覆盖。
B. Object类中有些抽象方法,所以Object类是个抽象类。
C. 在Object类中toString()方法默认的返回值是“类名”+@+hashCode()的返回值。
D. 在Object类中equals()方法默认的返回值是”false”。
9.给出如下声明:String s = “Example”; 合法的代码有哪些?
A. s>>>=3
B. s[3]=”X”
C. int i = s.charAt(0);
D. s = s+10;
10.关于异常(Exception),下列描述正确的是:
A. 所有继承自RuntimeException类的异常无需try-catch处理,因为一般来讲它们不是程序的缺陷。
B. 所有RuntimeException之外的异常都必须try-catch处理,因为一般来讲它们是程序的缺陷。
C. 异常应该尽可能在出现的位置处理,而不是抛给外层的程序处理。
D. 在某个方法中可以通过抛出异常来向上一级方法返回值,从某种意义上能达到返回值的效果。
二、 程序排错:(总分30分,每题3分)
1.以下程序将ArrayList中的数据取出,转换后存入整形数组,程序最有可能报告何种异常。
A.ArrayIndexOutOfBoundsException
B.ArithmeticException
C.NullPointerException
D.ClassCastException
2.以下程序在控制台输出“Say Hello!”:
在Eclipse中运行该程序产生如下的错误信息:
以下哪一项是正确的修改方法:
A.将main方法的修饰符声明为 public static
B.将main方法的形参定义为: String[] args
C.(A),(B)两项都需要修改
D.将main方法的形参定义为: java.lang.String[] args
3.如下程序截图中,第5行代码报错,错误提示为:
Type mismatch: cannot convert from java.lang.String to com.tarena.pm_exam.javase.case01.String
产生该错误最有可能的原因是:
A.程序的包名命名不符合规范。
B.程序的变量名命名不符合规范。
C.应该将程序中的“Hello”改为 new String(“Hello”);
D.在包中包含一个同名的类String
4.运行某段程序时,系统提示:
Exception in thread "main" java.lang.StackOverflowError
造成此异常最有可能的原因是:
A.程序中生成了太多的对象,造成内存空间不够。
B.程序中有死循环,造成内存空间不够。
C.方法的递归调用没有退出条件。
D.方法中定义的变量太多,导致存储空间不够。
5.运行某段程序,系统提示:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
造成此异常最有可能的原因是:
A.程序中生成了太多的对象,造成内存空间不够。
B.程序中有死循环,造成内存空间不够。
C.方法的递归调用没有退出条件。
D.方法中定义的变量太多,导致存储空间不够。
6.以下程序代码用来向ArrayList中添加元素,然后将其删除:
以上代码运行时最有可能报告何种异常:
A.ArrayIndexOutOfBoundsException
B.ConcurrentModificationException
C.NullPointerException
D.NumberFormatException
7.以下程序用来对HashSet做操作,程序运行后的输出结果是:
A.1
B.2
C.3
D.4
8.以下程序用来对Student对象按照年龄从小到大排序输出,年龄相同的按照姓名的字典顺序排序。
9.以下程序用来完成对数组的插入排序,请在空白处填写正确的代码?
10.以下程序实现文件的拷贝,为提高读写效率,程序中定义了一个4K的缓存,请将程序中空白位置补充完整。
(5) fis.read(buff)==BUFF_SIZE
(6) fos.write(buff)
三、 代码调试:(总分30分,每题6分)
1.以下代码向一个List中插入数据,运行将报告异常,请简述异常产生的原因,及解决办法。
错误原因:
______________________________
修改代码:
将第_____行至_____行代码修改为:
______________________________
2.以下代码期望输出2~100以内哪些是素数,哪些不是素数,但程序并未按照预想输出,请将代码修改正确。
错误原因:
______________________________
修改代码:
将第_____行至_____行代码修改为:
______________________________
3.以下程序代码期望完成扫雷游戏中的递归排雷操作,但程序并未达到预想的结果,请简述错误原因,并修改正确。
错误原因:
______________________________
修改代码:
请在第_____行插入一下代码:
______________________________
4.以下程序代码期望完成客户端与服务端的通信,已给出客户端代码,现需要完成服务器端代码。要求:向服务器端传入字符串"sdfDRkaDDjg",在服务器端将所有小写字母转换为大写字母,并将转换完的字符串传回客户端。
请填写:
【1】
______________________________
5.Test05.java程序的目的是使用窗口显示增长的数字,期望当用户点击“开始”按钮时,窗体中的数值不断增长,直到显示9999为止。但现有的程序不能达到预期结果,请将程序代码修改正确。要求:不能改变程序结构,只能修改或添加不超过4行代码来完成。
修改代码:
将第_____行至_____行代码修改为:
______________________________
四、编程能力:(总分20分,每题10分)
1.编写程序,使用JAVA绘图,在窗口中绘制若干个小球,每个小球具有不同的大小属性,让这些小球运动起来,并且能控制小球碰到窗口边界后反弹,而且,当小球发生碰撞后会销毁。请完成程序中指定的方法。已知代码如下:
请填写:
【1】
【2】
2.编写程序,完成五子棋游戏,请完成程序中关于判断是否获胜的方法。以下为其中一个类的代码,请完善:
请填写:
【1】
展开阅读全文