一.判断题
1. 即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参函数,函数体为
空。 ( 对 ) 2. 在Java的方法中定义一个常量要用const关键字。 ( 错 )
3. 在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之后只
能对应一个catch语句。 ( 错) 4. Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。 ( 对 )
5. 一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;
所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。 ( 对 )
6. Java的字符类型采用的是Unicode编码,但所占字节由具体软硬件环境决定。 ( 错 ) 7. 所有的鼠标事件都由MouseListener监听接口的监听者来处理。 ( 错 ) 8. Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。 ( 对 ) 9. 如果p是父类Parent的对象,而c是子类Child的对象,则语句p=c是正确的。 ( 错 ) 10. Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。 ( 错 ) 11. 由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。 (错 ) 12. 静态初始化器是在其所属的类加载内存时由系统自动调用执行。 ( 对 ) 13. Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。 ( 对 ) 14. 注释的作用是使程序在执行时在屏幕上显示//之后的内容。 ( 错 ) 15. 在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类
型有父类子类关系,此时应该将父类放在后面,子类放在前面。 ( 对 )
二.选择题;
1.以下哪个方法用于定义线程的执行体? ( C )
A、 start() A、 ScrollPane A、draw() A、 FlowLayout 5.有如下代码段:
1)
2) { if(unsafe()){//do something…} 3) else if(safe()){//do the other…} 4) }
B、init() B、Canvas B、 update() B、CardLayout
C、run() C、Applet C、repaint()
D、synchronized() D、Dialog D、paint()
D、GridLayout
2.下面哪个不是Java中的容器? ( B ) 3.下面哪个方法与applet的显示无关?( A )
4.当Frame改变大小时,放在其中的按钮大小不变,则使用如下哪种布局方式? ( A )
C、BorderLayout
其中,方法unsafe() 将抛出IOException, 请问可将以下哪项填入第1行?(D )
A、public IOException methodName() B、public void methodName()
C、public void methodName() throw IOException D、public void methodName() throws IOException 6.以下哪个关键字可以用来对对象加互斥锁?( B)
第 1 页 共 9 页
A、transient B、synchronized C、 serialize D、static
7.在使用interface声明一个接口时,只可以使用( D )修饰符修饰该接口。
A、private
B、protected
C、private protected D、public
8.编译并运行以下程序,以下描述哪个选项是正确的( C )
1. class A{
2. protected boolean equals(){ 3. return super.equals();} 4. }
A、编译通过运行无异常 B、编译通过但运行时出错 C、行2出错,不能成功编译 D、不能成功编译,行3出错
9.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( B )个比特位。
A、8
B、16 C、32 D、64
10.在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( 语句。
A、import java.awt.* ; B、import java.applet.* ; C、import java.io.* ;
D、import java.awt.event.* ;
11.以下关于构造函数的描述错误的是( A )。
A、构造函数的返回类型只能是void型。
B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。 C、构造函数的主要作用是完成对类的对象的初始化工作。 D、一般在创建新对象时,系统会自动调用构造函数。 12.有程序如下,关于程序的描述哪个是正确的?( C )
public class Person{
static int arr[] = new int[10];
public static void main(String a[])
{ System.out.println(arr[1]); } }
A、编译将产生错误 B、编译时正确,但运行时将产生错误
C、正确,输出0
D、正确,输出 null
13.有语句String s=”hello world”; ,以下操作哪个是不合法的?( B )
A、int i=s.length(); B、s>>>=3;
C、String ts=s.trim(); D、String t=s+”!”;
14.给出如下代码:
class Test{ private int m; public static void fun() { // some code... } }
如何使成员变量m 被函数fun()直接访问?( C )
A、将private int m 改为protected int m B、将private int m 改为 public int m C、将private int m 改为 static int m D、将private int m 改为 int m
15. Java application中的主类需包含main方法,main方法的返回类型是什么?( D )
A、int
B、float
C、double
D、void
第 2 页 共 9 页
D ) 16.有以下方法的定义,请选择该方法的返回类型( D )。
ReturnType method(byte x, double y)
{ return (short)x/y*2; }
A、byte B、short C、int D、double
17.下列哪些语句关于Java内存回收的说明是正确的? ( B )
A、程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象
18.在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( 语句。
A、import java.awt.* ; B、import java.applet.* ; C、import java.io.* ; D、import java.awt.event.* ; 19.容器Panel和Applet缺省使用的布局编辑策略是( B ) A、BorderLayout
B、FlowLayout
C、GridLayout
D、CardLayout
20.设有下面两个赋值语句:
a = Integer.parseInt(“123”);
b = Integer.valueOf(“123”).intValue();
下述说法正确的是( D )。
A、a是整数类型变量,b是整数类对象。B、a是整数类对象,b是整数类型变量。 C、a和b都是整数类对象并且值相等。 D、a和b都是整数类型变量并且值相等。 21.编译并运行以下程序,以下描述哪个选项是正确的( C )。
1. class A{
2. protected String toString(){ 3. return super.toString();} 4. }
A、编译通过运行无异常 B、编译通过但运行时出错 C、行2出错,不能成功编译
D、不能成功编译,行3出错
22.有以下程序片段,下列哪个选项不能插入到行1。( D )
1.
2.public class Interesting{ 3.//do sth 4. }
A、import java.awt.*; B、package mypackage;
C、class OtherClass{ } D、public class MyClass{ } 23.以下哪个不是Java的关键字?( A )
A、TRUE
B、const
C、super
D、void
24.关于以下application的说明,正确的是( C )。
1. class StaticStuff
2. { 3. static int x; 4. static { x+=5;} 5. public static void main(String args[ ]) 6. { 7. System.out.println(“x=” + x); 8. }
第 3 页 共 9 页
D )