科目: java语言 2009年4月
得分 | 评卷人 |
一.判断题(每题1分,共10分)
1. Java的各种数据类型占用的内存长度固定,与具体软硬件环境无关。 ( V )
2. 无论Java源程序包含几个类的定义,若该源程序文件以B.java命名,编译后生成的都只有一个名为B.class的字节码文件。 ( X )
3. 静态初始化器是在其所属的类加载内存时由系统自动调用执行的方法。 ( V )
4. 即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参函数,函数体为空。 ( V)
5. 在Java的方法中定义一个常量要用const关键字。 (V )
6. abstract方法所在的类必须是abstract类。 (V )
7. 在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之后只能对应一个catch语句。 (X )
8. Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。 (X )
9. Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。 ( V)
10. 一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。( V )
二.单项选择题(每题2分,共40分)
1.编译Java Applet 源程序文件产生的字节码文件的扩展名为( B )。
A、java B、class C、html D、exe
2.以下哪个不是Java的原始数据类型( )
A、boolean B、double C、float D、Integer
3.以下哪个方法用于定义线程的执行体? ( )
A、 start() B、init() C、run() D、synchronized()
4.下面哪个不是Java中的容器? ( )
A、 ScrollPane B、Canvas C、Applet D、Dialog
5.下面哪个方法与applet的显示无关?( )
A、draw() B、 update() C、repaint() D、paint()
6.当Frame改变大小时,放在其中的按钮大小不变,则使用如下哪种布局方式? ( )
A、 FlowLayout B、CardLayout C、BorderLayout D、GridLayout
如何阅读java源码7.以下代码完成画线功能,指出所画线的颜( )
1.g.an.yello);
2.g.drawLine(0,0,100,100);
A、red B、green C、yello D、cyan
8.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( )。
A、隐藏 B、覆盖 C、重载 D、Java不支持此特性
9.有如下代码段:
1)
2) { if(unsafe()){//do something…}
3) else if(safe()){//do the other…}
4) }
其中,方法unsafe() 将抛出IOException, 请问可将以下哪项填入第1行?( )
A、public IOException methodName()
B、public void methodName()
C、public void methodName() throw IOException
D、public void methodName() throws IOException
10.以下哪个关键字可以用来对对象加互斥锁?( )
A、transient B、synchronized C、 serialize D、static
11.以下关于继承的叙述正确的是( )。
A、在Java中类不允许多继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
12.在使用interface声明一个接口时,只可以使用( )修饰符修饰该接口。
A、private B、protected C、private protected D、public
13.编译并运行以下程序,以下描述哪个选项是正确的( )
1. class A{
2. protected boolean equals(){
3. return super.equals();}
4. }
A、编译通过运行无异常 B、编译通过但运行时出错
C、行2出错,不能成功编译 D、不能成功编译,行3出错
14.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。
A、8 B、16 C、32 D、64
15.在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( )语句。
A、import java.awt.* ; B、import java.applet.* ;
C、import java.io.* ; D、import java.awt.event.* ;
16.以下关于构造函数的描述错误的是( )。
A、构造函数的返回类型只能是void型。
B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。
C、构造函数的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
17.有程序如下,关于程序的描述哪个是正确的?( )
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
18.、A派生出子类B ,B派生出子类C,并且在Java源代码中有如下声明:
1. A a0=new A();
2. A a1 =new B();
3. A a2=new C();
问以下哪个说法是正确的? ( )
A、只有第1行能通过编译
B、第1、2行能通过编译,但第3行编译出错
C、第1、2、3行能通过编译,但第2、3行运行时出错
D、第1行、第2行和第3行的声明都是正确的
19.有语句String s=”hello world”; ,以下操作哪个是不合法的?( )
A、int i=s.length(); B、s>>>=3; C、String im(); D、String t=s+”!”;
20.给出如下代码:
class Test{
private int m;
public static void fun() {
private int m;
public static void fun() {
// some&
}
}
}
}
如何使成员变量m 被函数fun()直接访问?( )
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
三.程序阅读题(每题4分,共40分)
1.写出以下程序的运行结果。
public class Test
{ public static void main(String[] args)
{ ClassB cb1=new ClassB(1);
ClassB cb2=new ClassB(1);
if(cb1==cb2){ System.out.println("cb1==cb2"); }
else{ System.out.println("cb1!=cb2"); } }
}
class ClassB
{ int x;
ClassB(int x){this.x=x; }
}
2.写出以下程序的运行结果。
public class TestArray
{ public static void main(String args[ ]){
int i , j ;
int a[ ] = {1,3,2,5,4};
for ( i = 0 ; i < a.length-1; i ++ ) {
int k = i;
for ( j = i ; j < a.length ; j++ )
if ( a[j]>a[k] ) k = j;
int temp =a[i];
a[i] = a[k];
a[k] = temp; }
for ( i =0 ; i<a.length; i++ )
System.out.print(a[i]+" ");
System.out.println( ); }
}
3.写出以下程序的功能。
import java.io.*;
class FileIODemo{
public static void main(String[ ] args) throws IOException{
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论