一.判断题
1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√) 2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×) 3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(×)
4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。(×) 5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。(√) 6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。 (√) 7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(×) 8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(√)
9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。(×)
二.单项选择题
1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?() A、String args
B、String ar[]
C、Char arg D、StringBuffer args[]
2.以下关于继承的叙述正确的是()。
A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 3.paint()方法使用哪种类型的参数?() A、Graphics
B、Graphics2D
C、String
D、Color
4.以下哪个不是Java的原始数据类型() A、int
B、Boolean
C、float )。 C、Applet
D、Dialog D、char
5.以下哪项可能包含菜单条( A、Panel
B、Frame
共6页,第页1
6.若需要定义一个类域或类方法,应使用哪种修饰符?( )
A、static
B、package
C、private
D、public
7.在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行()。
A、init()
B、start()
C、destroy() D、stop()
8.给出下面代码,关于该程序以下哪个说法是正确的?()
public class Person{
static int arr[] = new int[5]; public static void main(String a[]) {
System.out.println(arr[0]); } }
A、编译时将产生错误 时将产生错误
C、输出零
D、输出空
B、编译时正确,运行
9.下列哪些语句关于Java内存回收的说明是正确的? ()
A、程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 10.以下哪个关键字可以用来对对象加互斥锁?()
A、transient
B、synchronized
C、 serialize D、static
11.以下代码段执行后的输出结果为()
int x=-3; int y=-10;
System.out.println(y%x);
-1
B、2
C、1
D、3
A、
12.有以下程序片段,下列哪个选项不能插入到行1。()
1.
2.public class Interesting{ 3.//do sth 4.}
A、import java.awt.*;
B、package mypackage;
共6页,第页2
C、class OtherClass{ } 13. 设有下面两个赋值语句: a = Integer.parseInt(“12”);
D、public class MyClass{ }
b = Integer.valueOf(“12”).intValue(); 下述说法正确的是( )。
A、a是整数类型变量,b是整数类对象。 B、a是整数类对象,b是整数类型变量。 C、a和b都是整数类对象并且值相等。 D、a和b都是整数类型变量并且值相等。
14.FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型? A、OutputStream C、InputStream
B、File
D、BufferedOutputStream
15.在编写Java Applet程序时,需在程序的开头写上( )语句。
A、import java.awt.* ; C、import java.io.* ; 16.类Parent、Child定义如下:
1. public class Parent
2.{ public float aFun(float a, float b) throws 3. IOException { } 4.}
5.public class Child extends Parent{ 6. 7.}
将以下哪种方法插入行6是不合法的。() A、float aFun(float a, float b){ }
B、public int aFun(int a, int b)throws Exception{ } C、public float aFun(float p, float q){ }
D、public int aFun(int a, int b)throws IOException{ }
17.在使用interface声明一个接口时,只可以使用( )修饰符修饰该接口。
B、import java.applet.Applet ; D、import java.awt.Graphics ;
共6页,第页3
A、private B、protected C、private protected D、public
18、有以下方法的定义,请选择该方法的返回类型()。
ReturnType method(byte x, double y) { }
B、short
C、int
D、double
return (short)x/y*2;
A、byte
19、关于以下代码段的说法正确的是()
1.String s=\"abcde\";
2.StringBuffer s1=new StringBuffer(\"abcde\"); 3.if(s.equals(s1)) 4. s1=null; 5.if(s1.equals(s)) 6. s=null;
A、第1行编译错误,String的构造器必须明确调用 B、第3行编译错误,因为s与s1有不同的类型 C、编译成功,但执行时在第5行有异常抛出 D、编译成功,过程中也没有异常抛出
20、编译并运行以下程序,以下描述哪个选项是正确的()
1. class X{
2. protectied String toString()i{ 3. 4. }
A、编译通过运行无异常 C、行2出错,不能成功编译 三.程序阅读题
1.以下程序的输出结果为相等。
class StringTest1 {
public static void main(String[] args) {
B、编译通过但运行时出错 D、不能成功编译,行3出错
return super.toString();}
共6页,第页4
}
}
String s1=\"hello\";
String s2=new String(\"hello\"); if(s1.equals(s2)){ }
System.out.println(\"相等\"); System.out.println(\"不相等\"); }else{
2.以下程序段的输出结果为5 6 7 8 9。
public class TestArray {
public static void main(String args[ ]){ } }
3.写出以下程序的功能。
import java.io.*; public classTestFile {
int i , j ;
int a[ ] = { 5,9,6,8,7};
for ( i = 0 ; i < a.length-1; i ++ ) { }
for ( i =0 ; i for ( j = i ; j < a.length ; j++ )