资源描述
2012—2013学年第2学期Java程序设计期中考试题
注意:注意:考试结束时,将该试题页保存为“学号+姓名”并单击文件,选“发送”。
一、 单项选择题(共10小题,每题2分,共20分)
1、 java源程序经编译后形成的文件的扩展名是( C )
A、.java B、.exe C、.class D、.javac
2、 下列java标识符中不正确的是( B )
A、示例1 B、123 C、Exam1 D、A_123
3、 关于构造方法说法不正确的是( C )
A、 构造方法名与类名相同且没有返回类型。 B、构造方法的作用是完成类对象的初始化工作。 C、构造方法不可以被重载。 D、在创建一个新对象时,系统会自动调用该类的构造方法为新对象初始化。
4、 下列关于访问修饰符说法中不正确的是( C )
A、 缺省访问修饰符修饰的成员变量只能被同一个包中的其他类访问。
B、 用protected修饰的成员变量可被该类自身、与它在同一个包中其他类和该类的子类所访问。
C、 面向对象程序设计中鼓励将类的属性定义为private的,而将允许用户操作的方法定义成public的。
D、 用private修饰的成员变量允许该类自身和其子类所访问。
5、 下列说法中不正确的是( B )
A、 若一个变量被修饰为final方法,则该变量成为常量。
B、 在方法定义前加static修饰符表示该方法属于一个对象,而不属于类。
C、 在方法定义前加final表示其子类不能对该方法进行重写。
D、 static方法只能操作static变量且static变量和static方法都是属于类的。
6、 关于继承不正确的说法是( C )
A、 子类和父类在同一个包当中,则子类可以继承其父类中非private的成员变量和方法。
B、 子类和父类不在同一个包当中,则子类可以继承其父类中protected、public修饰的成员变量和方法。
C、 子类和父类不在同一个包当中,则子类可以继承其父类中友好变量和方法。
D、 使用super关键字可以调用父类的构造方法。
7、 下面关于抽象类说法中正确的是( B )
A、 抽象类可以直接用new 运算符创建对象。
B、 对抽象方法只允许声明,不允许实现。
C、 若一个类是一个抽象类的子类,则它不必实现该抽象类中的抽象方法。
D、 抽象类中要求所有方法都是抽象的,一个类定义中只要有一个方法是抽象的,则该类必然是抽象的。
8、 关于父类与子类对象相互转化说法正确的是( A )
A、 子类对象可视为其父类的一个对象即父类对象可以指向一个子类对象。
B、 父类对象可视为其子类的一个对象即子类对象可以指向一个父类对象。
C、 若想使一个父类对象指向其子类对象,则要用强制类型转换。
D、 把父类引用变量指向的子类对象赋值给子类引用变量称为对象上转型。
9、 关于java 接口说法正确的是( A )
A、 在java中定义接口的关键字是Interface。
B、 接口中所有属性都必须显式定义为public static final修饰的。
C、 若实现某接口的类不是抽象类,则该类必须实现接口中所有方法。
D、 一个类只能实现一个接口。
10、 每个Java小应用程序必须定义为( C )
A、 JFame的子类 B、Panel的子类C、Applet或JApplet的子类 D、Window的子类
请将答案写在下面表格中:
题号
1
2
3
4
5
6
7
8
9
10
答案
C
B
C
C
B
C
B
A
A
C
二、 填空题(共10空,每空2分,共20分)
1、 面向对象程序设计中,____对 象______是类的实例化,每个类中定义的___成员变量_______抽象了对象的状态属性,类中定义的___ _成员方法____抽象了对象的行为属性。
2、 This关键字的3个主要用途是___出现在类的构造方法中代表使用该构造方法所创建的对象 ___,__出现在实例方法中时,代表正在调用该方法的当前对象____,__调用隐藏的成员变量____
3、 Main方法的String args[]数组用于_接受用户从键盘输入的字符串。
4、 ____java.Lang______包是 java语言中最核心的类包,它提供了java语言中的基本类。Java语言中所有的类都是_Object类____的直接或间接子类。
5、 下面语句:x=2;double y=Math.sqrt( x)说明java中Math类中将sqrt方法定义成了__静态方法(类方法)____的。
三、 程序填空题(共2小题,每空3分,共33分)
说明:试将下面程序分别补充完整,使之能正确运行。
1. class MyException1 extends Exception {
int num;
MyException1(int a) {
num = a;
}
public String toString() {
return num + "<0!\r\n值必须大于0";
}
}
class MyExceptionTest {
static void makeException(int a) throws MyException1 {
if (a < 0)
throw new MyException1(a);
System.out.println("没有产生例外");
}
public static void main(String args[]) {
int a;
try {
a = Intteger.parseInt (args[0]);//将args[0]转化为整数
MyExceptionTest .makeException(a);
System.out.println("a=" + a);
} catch ( MyException ) { //捕捉MyException1异常
System.out.println("产生第一个异常:\r\n" + e);
}
}
}
2.补全程序并写出程序运行结果:
public class CommonMultiply {
public static void main(String[] args) {
int m, n, r, gcd, lcm = 0;//m表示被除数,n表示除数,r表示余数,gcd表示最大公约数,lcm表示最小公倍数
m =___Integer.parseInt_args[0]___ ; // 把args[0]转换为整型
n =____ Integer.parseInt_args[1]___ ; // 把args[1]转换为整型
lcm = m * n;
while ((r =__m%n___ ) != 0) {
m = ____n______
n = ____r______ }
gcd = n;
lcm = lcm /_____gcd__ ;
System.out.println("最大公约数:"+gcd); // 打印出最大公约数
System.out.println("最小公倍数:"+lcm); // 打印出最小公倍数
}
}
四、 编程题(共27分)
注意:将所编程序直接附在题目后,并将执行结果界面附在其后。
1、 试编写一java Application ,要求在其上定义两个文本框,一个名为“翻译”的按钮,当在第一个文本框中输入中文单词如“男孩”并回车时,或单击“翻译”按钮时,在第二个文本框中显示对应的英语单词“boy”.
javaApplication类:
public class javaApplication {
public static void main(String args[]){
Exam exam=new Exam();
exam.setTitle("jjhjhjj");
exam.setBounds(10,10,400,400);
}
}
Exam类:
import java.awt.*;
import javax.swing.*;
public class Exam extends JFrame {
JTextField text1;
JTextField text2;
Police police;
JButton Button;
Exam(){
setLayout(new FlowLayout());
police=new Police();
text1=new JTextField(7);
text2=new JTextField(7);
text1.addKeyListener(police);
text2.addKeyListener(police);
text1.addFocusListener(police);
add(text1);
add(text2);
}
Button=new JButton("确定");
add(Button);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
Polic类
import java.awt.*;
import java.awt.event.FocusEvent;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.*;
public class Police implements KeyListener,addFocusListener{
public void KeyPressed(KeyEvent e){
JTextFiled text1=(JTextFiled)e.getSource();
}
public void keyTyped(KeyEvent e) {}
public void KeyReleased(KeyEvent e){}
public void focusGained(FocusEvent e) {}
}
展开阅读全文