
一、单选题(每小题 2 分,共 20 分)
1、编译并运行下面的Java代码段: 、B
char c='a';
switch (c) {
case 'a': System.out.println("a");
default: System.out.println("default");
}
输出结果是()
A、代码无法编译,因为switch语句没有一个合法的表达式
B、a
default
C、a
D、default
2、在Java中,调用Math.random() 方法可能返回的结果是( B)。( )
A、132.34 B、0.342 C、29.34E10 D、1.0009
3、假设有以下Java代码:C
import java.applet.*;
import java.awt.*;
public class My_Applet extends Applet { … }
如果要在HTML页中嵌入以上Applet,可按下面( )方式完成。
A、。
B、。
C、。
D、。
4、设有下面的两个类定义:A
class AA {
void Show(){ System.out.println(“我喜欢Java!”);
}
class BB extends AA {
void Show(){ System.out.println(“我喜欢C++!”);
}
则顺序执行如下语句后输出结果为:( )
AA a=new AA( ); BB b=new BB( ); a.Show(); b.Show();
A、我喜欢Java! B、我喜欢C++!
我喜欢C++! 我喜欢Java!
C、我喜欢Java! D、我喜欢C++!
我喜欢Java! 我喜欢C++!
5、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为( C )。
A、隐藏 B、覆盖 C、重载 D、Java不支持此特性
6、在Java中,下列( D )是抽象窗口工具包提供的内容。
①用于创建用户界面的GUI组件
②用于事件处理的模型
③排列图形组件的布局管理器
A、① B、①③ C、①② D、①②③
7、在Java事件处理模型中,当按下鼠标按钮时,处理( C )事件。
A、mouseReleased;
B、mouseExited;
C、mousePressed;
D、mouseDown;
8、在Java中,关于CLASSPATH环境变量的说法不正确的是( A )。
A、CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中
B、编译器用它来搜索各自的类文件
C、CLASSPATH是一个目录列表
D、解释器用它来搜索各自的类文件
9、下面哪条语句将会引起一个编译错误( A )。
A、float F=4096.0;
B、double D=4096.0;
C、int I=4096;
D、char C=4096);
10、下面哪一个方法是在新线程被创建时,由系统自动调用执行的?( B )。
A、public void start( );
B、public void run( );
C、public static void main(String args[]);
D、public void runnable( );
二、填空题(每空格1分,共15分)
1、据程序的构成和运行环境的不同,Java源程序分为两大类: Java aApplication 程序和 Java Applet 程序。
2、一个复杂的应用系统必然包括有多个对象,这些对象之间存在不同的关系。彩色电视机与电视机之间是 继承 关系,生产厂商与电视机之间是 关联 关系。
3、依次执行下面的程序代码,执行完后,x= 3 、y= 5 。
int x=3,y=5;
boolean b=x>y && x++==y--;
4、创建类Class1的一个对象Object1的语句为 Class1 Object1=new Class1( ); ,定义这个类的一个引用Ref1,把对象Object1的引用赋给Ref1,语句为 Class1 Ref1=Object1; 。
5、接口中定义的内容是: 常量与抽象的方法 。
6、顺序执行以下两个语句的输出结果是: 6 。
String s = “我喜欢学习Java!”;
System.out.println(s.length( ));
7、一段程序本来只实现一个静态的图形界面,现在要在其中加入事件处理功能以便实现与用户的交互,程序里至少要多做的三件事情是: 声明监听者 、注册监听者、实现事件处理方法 。
8、创建一个标识为“我的线程”的Thread类的对象mt,其语句为: Thread mt=new Thread (“我的线程”) 。
9、创建一个File对象,对应用户在FileDialog对象fd产生的文件对话框选定的文件,语句为: File mylife = new File(fd.getDirectory(),fd.getFile()); 。
三、判断改错题(每题2分,共20分)(正确的打√,错误的打×并说明原因)
1、使用BorderLayout的容器最多只能放置5个组件,如果要放置更多的组件,则需要使用多层容器(√)
2、在Applet中显示一幅图像时,使用的getImage()方法与drawImage()方法都是Image对象的方法。(×,getImage()方法是Applet的方法,返回Image对象;drawImage()方法是Graphics的方法,使用Image对象为方法的参数。 )
3、设一个窗框中包含一个按钮,当用户点击该按钮时会弹出一个无模式对话框,则当窗框关闭时该对话框也随之关闭。( √)
4、创建Socket对象时,如果程序找不到指定的服务器,将引发UnknownHostExcption类的异常。(√ )
5、一个暂时终止运行的线程(例如,睡眠或阻塞)在排除了终止原因后直接运行( ×,先回到就绪状态排队。)
6、创建Vector对象时构造函数给定的是其中可以包容的元素个数,使用中应注意不能超越这个数值。(×,超越后,系统将以Vector的扩展值为单位扩展这个对象。)
7、假设在一段程序的所有catch块之后还有一个终结器finally块,此时程序一旦进入catch块后就不会再进入finally块,只有不产生异常时才跳过catch块进入finally块中运行。(×,无论是否产生异常,在离开方法之前都会执行finally块中的内容。)
8、接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。(√ )
9、抽象类中的抽象方法必须在该类的子类中具体实现(×,如果该子类也是抽象类,则可以不实现抽象方法。 )
10、一个Java Application程序中可以有一个或多个类,但有且只能有一个包含main方法的主类。(√ )
四、简答题(每小题10分,共30分)
1、写出下列程序完成的功能。
public class ABC{
public static void main(String args[ ]){
int i , j ;
}
使用选择法对数组A进行升序排序,然后将数组A进行输出
2、写出下面程序的运行结果。
答:parent
child
child
import java.io.*;
class Parent{
void printMe()
{
System.out.println("parent");
}
}
class Child extends Parent{
void printMe()
{
System.out.println("child");
}
void printAll()
{
super.printMe();
this.printMe();
printMe();
}
}
public class Class1{
public static void main(String args[ ])
{
Child myC = new Child( );
myC.printAll( );
}
}
3、说明下面程序是否有误,如有误,请将错误的地方指出来,并改正。
答:包引入部分应加一条语句:import java.awt.event.*;
语句public class AmDemo extends Applet 后加implements ActionListener。
import java.awt.*;
import java.applet.*;
public class AmDemo extends Applet {
Button btn;
Public void init()
{
btn=new Button(“Push Me”);
add(btn);
btn.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
(Button)e.getSource( ).setLabel(“pushed!”);
}
}
五、用Java语言编写下列程序。(共15分)
编写图形界面下的Java Applet程序,接受用户输入的两个数据为上、下限,然后10个一行输出上、下限之间的所有素数。
要求:
1、根据题目给出编程的思路(5分)
2、书写程序代码(10分)
答:参考程序如下:
//输入上限与下限,输出范围内的素数
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Sushu
{
输出框");
上限");
下限");
设为不可编辑
输出素数");
关闭");
设计数器
响应按钮"输出素数"的动作
新行输出
判断是否素数,是则计数并加入输出子串s
Loop:
Loop;
每10个数加个回车
s=s+i+
s=s+i+
与"+a+"之间共有素数"+k+"个,输出如下:");
点击"关闭"退出程序
}
