一.判断题(每题2分,共16分)
1. Java的字符类型采用的是Unicode编码,但所占字节由具体软硬件环境决定。 ( )
2.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。( )
3.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。 ( )
4.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对
象。 ( )
5.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。 ( )
6.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。 ( )
7.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。 ( )
8.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。 ( )
二.单项选择题(每题3分,共42分)
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.以下哪个不是Java的原始数据类型( )
A、int B、Boolean C、float D、char
4.若需要定义一个类域或类方法,应使用哪种修饰符?( )
A、static B、package C、private D、public
5.给出下面代码,关于该程序以下哪个说法是正确的?( )
public class Person{
static int arr[] = new int[5];
public static void main(String a[])
{
System.out.println(arr[0]); }
}
A、编译时将产生错误 B、编译时正确,运行时将产生错误
C、输出零 D、输出空
6.下列哪些语句关于Java内存回收的说明是正确的? ( )
A、程序员必须创建一个线程来释放内存
B、内存回收程序负责释放无用内存
C、内存回收程序允许程序员直接释放内存
D、内存回收程序可以在指定的时间释放内存对象
7.以下代码段执行后的输出结果为( )
int x=-3; int y=-10;
System.out.println(y%x);
A、 -1 B、2 C、1 D、3
8.有以下程序片段,下列哪个选项不能插入到行1。( )
1.
2.public class Interesting{
3.//do sth
4. }
A、import java.awt.*; B、package mypackage;
C、class OtherClass{ } D、public class MyClass{ }
9. 设有下面两个赋值语句:
a = Integer.parseInt(“12”);
b = Integer.valueOf(“12”).intValue();
下述说法正确的是( )。
A、a是整数类型变量,b是整数类对象。B、a是整数类对象,b是整数类型变量。
C、a和b都是整数类对象并且值相等。 D、a和b都是整数类型变量并且值相等。
10.类Parent、Child定义如下:
1.public class Parent{
2. public float aFun(float a, float b) throws IOException {
3. }
4.}
5.public class Child extends Parent{
6. //insert here
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{ }
11.在使用interface声明一个接口时,只可以使用( )修饰符修饰该接口。
A、private B、protected C、private protected D、public
12、有以下方法的定义,请选择该方法的返回类型( )。 method(byte x, double y)
{
return (short)x/y*2;
}
A、byte B、short C、int D、double
13、关于以下代码段的说法正确的是( )
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、编译成功,过程中也没有异常抛出
14、编译并运行以下程序,以下描述哪个选项是正确的(
1. class X{
2. protected String toString(){
3. return super.toString();
4. }
5.}
A、编译通过运行无异常 B、编译通过但运行时出错
C、行2出错,不能成功编译 D、不能成功编译,行3出错