《Java语言程序设计》
(试卷总分:100分,考试时间:120分钟,答案写在答卷纸上)
一.判断题(每题1分,共10分)
1、Java的字符类型采用的是Unicode编码,但所占字节由具体软硬件环境决定。 ( F )
2、所有的鼠标事件都由MouseListener监听接口的监听者来处理。 ( F )
3、Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。 ( T )
4、如果p是父类Parent的对象,而c是子类Child的对象,则语句p=c是正确的。 ( T )
5、Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。 ( F )
6、由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。 ( F )
7、静态初始化器是在其所属的类加载内存时由系统自动调用执行。 ( T )
8、Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。 ( T )
9、注释的作用是使程序在执行时在屏幕上显示//之后的内容。 ( F )
10、一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。 ( T )
二.单项选择题(每题2分,共30分)
1.在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行( A )。
A、init() B用java编写一个简单的计算器、start() C、destroy() D、stop()
2. Java application中的主类需包含main方法,main方法的返回类型是什么?( D )
A、int B、float C、double D、void
3.有以下方法的定义,请选择该方法的返回类型( D )。
ReturnType method(byte x, double y)
{
return (short)x/y*2;
}
A、byte B、short C、int D、double
4.下列哪些语句关于Java内存回收的说明是正确的? ( B )
A、程序员必须创建一个线程来释放内存
B、内存回收程序负责释放无用内存
C、内存回收程序允许程序员直接释放内存
D、内存回收程序可以在指定的时间释放内存对象
5.以下哪个关键字可以用来对对象加互斥锁?( B )
A、transient B、synchronized C、 serialize D、static
6.在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( B )语句。
A、import java.awt.* ; B、import java.applet.* ;
C、import java.io.* ; D、import java.awt.event.* ;
7.容器Panel和Applet缺省使用的布局编辑策略是( B )
A、BorderLayout B、FlowLayout C、GridLayout D、CardLayout
8.设有下面两个赋值语句:
a = Integer.parseInt(“123”);
b = Integer.valueOf(“123”).intValue();
下述说法正确的是( D )。
A、a是整数类型变量,b是整数类对象。B、a是整数类对象,b是整数类型变量。
C、a和b都是整数类对象并且值相等。 D、a和b都是整数类型变量并且值相等。
9.以下程序段执行后将有( C )个字节被写入到文件afile中。
try{
FileOutputStream fos=new FileOutputStream(“”);
DataOutputStream dos=new DataOutputStream(fos);
dos.writeInt(3);
dos.writeDouble(0.01);
dos.writeInt(6);
dos.close();
fos.close( );
}
catch(IOException e) { }
A、2 B、8 C、12 D、16
10.编译并运行以下程序,以下描述哪个选项是正确的( C )。
(1). class A{
(2). protected String toString(){
(3). return String();}
(4). }
A、编译通过运行无异常 B、编译通过但运行时出错
C、行(2)出错,不能成功编译 D、不能成功编译,行(3)出错
11.有以下程序片段,下列哪个选项不能插入到行(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{ }
12.要使类中的某个成员变量只能被同一个包中的类访问到,该变量可用什么修饰符修饰?( D )
A、protected B、public C、private D、应不加修饰符
13.以下哪个不是Java的关键字?( A )
A、TRUE B、const C、super D、void
14.关于以下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). }
(9). static { x/=5;}
(10).}
A、4行与9行不能通过编译,因为缺少方法名和返回类型
B、9行不能通过编译,因为只能有一个静态初始化器
C、编译通过,执行结果为:x=1
D、能通过编译,但程序运行结果不可预知,因为变量x没有初始化
15.有程序如下,关于程序的描述哪个是正确的?( C)
public class Person{
static int a[] = new int[10];
public static void main(String a[])
{ System.out.println(arr[1]); }
}
A、编译将产生错误 B、编译时正确,但运行时将产生错误
C、正确,输出0 D、正确,输出 null
16.FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型?( A)
A、OutputStream B、File C、InputStream D、BufferedOutputStream
17.以下关于构造函数的描述错误的是( A )。
A、构造函数的返回类型只能是void型。
B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。
C、构造函数的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
18.关于以下程序段,正确的说法是( B )。
1. String s1=”abc”+”def”;
2. String s2=new String(s1);
3. if(s1= =s2)
4. System.out.println(“= = succeeded”);
5. if (s1.equals(s2))
6. System.out.println(“.equals() succeeded”);
A、程序将输出:= = succeeded B、程序将输出: .equals() succeeded
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论