JAVA程序设计试卷库(
第
5
套
) 一、单选题(每小题 2 分,共 20 分)
1、Java Application源程序的主类是指包含有( A )方法的类。
A. main方法 B. toString方法
C. init方法 D. actionPerfromed方法
2、分析下面的程序段,下面的哪个描述是正确的。( B )
char mychar=’c’; switch(mychar){ default:
case ‘a’“a”);break; case ‘b’“b”);break; }
A. switch语句块是错误的,因为
switch后面的表达式值的类型不是整数;
B. switch语句块是正确的; C. switch语句块是错误的,因为
default没有放在语句块的最后面; D. 代码运行时,没有任何输出结果。 3、编译并运行下面的Java程序,将产生( B )结果。
class A{
int var1=1; int var2;
public static void main(String[] args){
int var3=3; A a=new A();
} }
A. 0 B.
4
C. 3 D.
代码无法编译,因为var2根本没有被初始化 4、在Java中,下面关于包的陈述中正确的是( D )。
A. 包的声明必须是源文件的任意位
置;
B. 包的声明必须紧跟在import语句的
后面;
C. 只有公共类才能放在包中; D. 可以将多个源文件中的类放在同一
个包中
5、 在Java语言中,当一个类的某个变量声明为protected时下列说法正确的是( C )。
A. 只有同一类中的成员才能访问它; B. 不同包中的任何其他类都能够访问
它;
C. 同包中的任何其他类能够访问它; D. 不同包中的子类不可以访问该变
量。
6、在Java中,执行下面的语句后,c的值为( D )。 String s= \
char c=s.charAt(6); A. \ B. \
C. 'c ' D. 'a '
7、设有下面两个赋值语句: a =
Integer.parseInt(“1024”); b =
Integer.valueOf(“1024”).intValue(); 下述说法正确的是( D )。
A.a是整数类型变量,b是整数类对象。 B.a是整数类对象,b是整数类型变量。 C.a和b都是整数类对象并且它们的值相等。
D.a和b都是整数类型变量并且它们的值相等。
8、事件剪裁类如WindowAdapter(它实现了WindowListener接口)的优点是什么?
( C )。
A. 继承了那个类的所有行为 ;
B. 子类自动成为监听器; C. 没有必要实现不使用的任何
}
4、Applet的 init( ) 方法仅在开始时执行一
WindowListener接口中定义的方法; 次? start( ) 方法在用户每次访问包含
D.可以自动充当事件的监听者。 9、在用Java构建动画时,(C )方法创建
新线程并启动它运行。
A. init() B. start()
C. run() D. paint()
10、下面哪一个选项能正确地创建一个
InputStreamReader对象( A )。 A.new InputStreamReader(new FileInputStream(“data”)) B.new InputStreamReader(new FileReader(“data”))
C.new InputStreamReader(new BufferedReader(“data”))
D.new InputStreamReader(“data”) 二、填空题(每空格1分,共15分) 1、阅读下面的程序片段,在①中,parent类与child类之间是 继承 关系;在②中,parent类与child类之间 包含 。
① class parent{
int fields; }
class child extends parent{ int fieldChild;
}
2、Java中的多态有两种方式: 子类对父类方法的覆盖 、 同类中方法的重载 。
3、下面程的输出结果是: ?吗对,上海自来水来自海上
public class turnString {
public static void main(String args[]) {
String s=“上海自来水来自海上,对吗?” ;
for(int i=s.length( )-1;i>=0;i++) }
Applet的HTML文件时都被调用? 5、创建一个FlowLayout的对象fd,使应用该布局管理器的各个组件都向右对齐排列。该对象的创建语句为: FlowLayout fd=new FlowLayout(FlowLayout.RIGHT); 。 6、java.net包中定义的两个类 Socket 、 ServerSocket; 分别用来实现双向连接的Client和Server端。
7、巳知a=14,b=3,则表达式a<
8、写出运行下面程序片段后的屏幕输出: 0 1 2 i=3 。
int i;
for(i=0;i<5;i++) { if(i==3) break; i+” ”); }
System.out.println(“i=”+i)
9、在Java Application程序中,一个类是主类的标志是 包含main( )方法 ,在Java ②Applet class child{ 程序中,一个类是主类的标志是 该类是 int fieldsChild; Applet类的子类; 。
10、多态的概念是} 一个程序中同名的不同方法共存的情况。class parent { 。
三、判断改错题(每题 child myChild; 2分,共20分)(正
确的打√,错误的打×并说明原因)} 1、 Java系统包提供了很多预定义类,我们
可以直接引用它们而不必从头开始编写程序。
(√ )
2、 程序可以用字符‘*’替代一个TextField
中的每个字符的显示,使别人看不出其中的具体内容。( √)
3、 Class1类的属性被private修饰符修饰
为私有变量,所以方法不能访问它。(×,Class1类自身的方法可以访问这个私有变量。 )
4、 如果p是父类Parent的对象,而c是子
类Child的对象,则语句c=p是正确的。(×,如果p实际代表的是一个子类对象的引用,可以用强制类型转换成c=(Child)p;否则不能把父类对象赋值给子类对象。 )
5、 如果希望程序能够处理所有的异常,包
括未知的异常,可以在所有的catch块后面加下catch(Exception e){}。(√ )
6、 TextComponent是一个抽象类,它的两
个子类TextField和TextArea才拥有具体的对象。( √)
7、 一个Applet程序在运行过程中,创建的
Frame窗框,当Applet或浏览器关闭时也会自动跟着关闭。(×,Frame与Applet平级,不受Applet的关闭的影响。 )
8、 判断下面程序片段的正确性。(×,
Vector对象的addElement( )方法的参数类型为对象,所以myv.addElement(i)应改为所以myv.addElement(new Integer(i)); ) import java.util.*; public class UseVector{
public static void main(String args[])
{
Vector myv=new Vector( ); for(int i=0;i<10;i++) myv.addElement(i); } }
9、 在Applet中显示一幅图像,首先要把它
调入内存,保存在一个Image对象中,然后调用drawImage()方法画出这个图像。(√)
10、挂起、阻塞或等待的线程都能够恢复运行,但是停止运行的线程将不可能再运行(√)。
四、问答题(每小题10分,共30分) 1、 阅读下面的程序片段,并回答问题。
① Class1被称为是Class2的什么?
Class2被称为是Class1的什么? ② Class1有哪些属性和方法?Class2
有哪些属性和方法?其中哪些与Class1的属性和方法有关? class Class1 { int field1; private int field2; void method1( ) { “我是Class1的第一个方法”); } void method2( ) { “我是Class1的第二个方法”); } } class Class2 extends Class1{ int fieldChild1; void methodchild1() { “我是Class2的第一个方法”); } } 1、 阅读下面的程序片段,并回答问题。 ① Class1被称为是Class2的什么?Class2被称为是Class1的什么?
答:Class1被称为Class2的父类,Class2被称为是Class1的子类。 ② Class1有哪些属性和方法?Class2有哪些属性和方法?其中哪些与Class1的属性和方法有关?
答:Class1包括属性field1和field2,方法method1和method2;Class2包括自身定义的属性fieldChild1和自身定义的方法methodChild1,以及它从父类继承来的属性field1和方法method1、method2。
2、写出下面程序的功能
import java.awt.*; public class DataType extends Applet implemen{ Label prompt=new Label(\请分别输入整数和浮点 TextField input_int=new TextField(6); TextField input_double=new TextField(6); TextField output=new TextField(35); int getInt; double getDouble; public void init() { } 五、用Java语言编写程序。(共15分)
假设用户输入一组整数被保存在Vector对象中,请定义一个类vecSort,用来求
Vector对象中整数中的最大和最小数 add(prompt); add(input_int); add(input_double); 据。 add(output); output.setEditable(false); input_double.addActionListener(this); } public void actionPerformed(ActionEvent e) { 要求: 1、 根据题目给出vecSort类应包含的属性和方法(5分) 2、 用Java语言定义类vecSort(10分) getInt=Integer.parseInt(input_int.getText()); getDouble=Double.parseDouble(input_double.getText()); 五、用Java语言编写程序。(共15分)
output.setText(\您输入了整数: \和浮点数: \ } } 2、写出下列程序完成的功能
答:功能:从图形界面输入一个整数和一个浮点数,然后将其输出来。
3、 说明下面程序段是否有误,如有误,请
将错误的地方指出来,并改正
Interface MyInterface { void method1(); } 参考代码: class vecSort{ int max,min; Vector x=new Vector(); vecSort(Vector y) {
for(int i=0;i lue() ; 错误的地方指出来,并改正 for(int i=1;i 答:接口中的方法都是public ,所以重载方 法也必须声明为public. if(min>((Integer)(x.elementAt(i))).intValue()) class Child extends Parend { min=((Integer)(x.elementAt(i))).intValue(); public void method1() return min; { } “I am implemented now!”); } }