JAVA面向对象程序设计 期末考试试题及答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
。
int s = 0 ;
for (int i = 0 ; i < MyIntArray.length ; i + + )
if ( i % 2 = = 1 )
s += MyIntArray[i] ;
System.out.println(s);
8、在 Java 程序中,通过类的定义只能实现 单 重继承,但通过接口的定义可
二、填空题
1、开发与运行 Java 程序需要经过的三个主要步骤为 编辑源程序 、
编译生成字节码 和
解释运行字节码
。
2、在 Java 的基本数据类型中,char 型采用 Unicode 编码方案,每个 Unicode 码
占
用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占
用 2 字节内存空间。
A. static void method( )
B. public void method( )
C. final void method( )
D. abstract void method( )
5、下列属于容器的组件有:( B )
A.JButton
B.JPane
C.Canvas
D.JTextArea
JAVA 面向对象程序设计(期末考试试题及答案)
一、单选择题
1、编译 Java Application 源程序文件将产生相应的字节码文件,这些字节码文
件的扩展名为( B )。
A. java
B. .classLeabharlann Baidu
C. html
D. .exe
2、不允许作为类及类成员的访问控制符的是( C )。
A. public
Circle c = new Circle(2,5,6);
c.setCoordinate(2, 3);
c.getX(); c.getY(); c.getR();
c.countV();
} }
class Circle {
private int x; private int y; private int r; private double v;
重新定义的方法。
6、创建一个名为 MyPackage 的包的语句是 package MyPackage ; ,
该语句应该放在程序的位置为: 应该在程序第一句
。
7、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执
行以下几个语句后的输出结果是 120
public class Test3 extends JFrame implements ActionListener{ JButton jbStart=new JButton("开始"); JButton jbStop=new JButton("停止"); JLabel jl=new JLabel("",JLabel.CENTER); Test3(){ super("测试"); setLayout(null); jbStart.setBounds(50, 20, 70, 20); jbStop.setBounds(170, 20, 70, 20); jl.setBounds(50,60,200,20); add(jbStart);add(jbStop);add(jl); jbStart.addActionListener(this); jbStop.addActionListener(this);
8、下面哪个不是 java 语言中的关键字?( B ) A.long B.sizeof C.instanceof D.Const
9、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口? (D)
A.ActionListener B.MouseListener C.MouseMotionListern D.ItemListener 10、以下有关类的继承的叙述中,正确的是:( D ) A 子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性 B.子类只能继承父类的方法,不能继承父类的属性 C.子类只能继承父类的非私有属性,不能继承父类的方法 D.子类不能继承父类的私有属性
public Circle(int x, int y, int r) { this.x = x; this.y = y; this.r = r; }
public int getX () { System.out.println("x 的值:" + x); return x; }
public int getY() { System.out.println("y 的值:" + y); return y; }
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel;
public double countV() { v = 2*2.1415926*r*r; System.out.println("v 的值:" + v);
return v; } }
2、编写一个 Applet 程序,创建一个空标签以及一个标识为“开始”的按钮,当鼠 标按下“开始”按钮时,就在标签上显示出“你好,这是一个 Applet 程序”字样的标 签。 Java 程序如下:
运行结果:s = 180
3、import java.io.* ; public class abc { public static void main(String args[ ]) { System.out.println("a="+a+"\nb="+b); } } class SubClass extends SuperClass { int c; SubClass(int aa, int bb, int cc) { super(aa, bb); c=cc; } } class SubSubClass extends SubClass { int a; SubSubClass(int aa, int bb, int cc) { super(aa, bb, cc); A = aa+bb+cc;
jl.setText("你按的是开始按钮"); }else if(ae.getSource()==jbStop){ jl.setText("你按的是停止按钮"); } } }
以实现 多 重继承关系。
三、写出下面程序的运行结果 1、 import java.io.*;
public class abc {
public static void main(String args [ ]) {
AB s = new AB("Hello!","I love JAVA."); System.out.println(s.toString( )); } } class AB { String s1; String s2; public AB(String str1, String str2) { s1 = str1; s2 = str2; } public String toString( ) { return s1+s2; } } 运行结果:Hello! I love JAVA.
四、简答题(每题 5 分,共 15 分) 1、简单叙述如何使一个 Java 应用程序运行起来,在控制台方式下,使用什么命 令编译、运行程序。
2、简要叙述什么是访问控制符,列出 Java 中的访问控制符,并说明各个访问控 制符的控制权限。
3、Java 从 JDK1.1 开始引入了委托事件模型,简述其所采用的事件处理机制。
} void show() {
System.out.println("a="+a+"\nb="+b+"\nc="+c); } } 运行结果:a=60
b=20 c=30
4、public class Test { public static void main(String[] args) { int x;
五、编写程序(每题 10 分,共 20 分) 1、设计一个 Circle 类,该类包括的属性有:圆心坐标和圆的半径;包括的方法 有:设置和获取圆的坐标的方法,设置和获取半径的方法,计算圆的面积的方法。 另外编写一个 Test 类,测试 Circle 类。
答案:
public class Text {
public static void main(String args[]) {
public int getR() { System.out.println("r 的值:" + r); return r; }
public void setCoordinate(int x, int y) { this.x = x; this.y = y; }
public void setR(int r) { this.r = r; }
static int calculate(int x[], int y) { for (int i = 1; i < x.length; i++) if (y < x.length) x[i] = x[i - 1] + 1; return x[0]; } } 程序的输出结果为: the value of a[0] is 0 the value is a[5] is 5
6、void 的含义:( C ) A.方法体为空
B.定义的方法没有形参
C.定义的方法没有返回值
D.方法的返回值不能参加算术运算
7、关于 Java 中异常的叙述正确的是:( D ) A.异常是程序编写过程中代码的语法错误 B.异常是程序编写过程中代码的逻辑错误 C.异常出现后程序的运行马上中止 D.异常是可以捕获和处理的
setResizable(false); setSize(300, 200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true); } public static void main(String[] args) { new Test3(); } public void actionPerformed(ActionEvent ae) { if(ae.getSource()==jbStart){
int a[] = { 0, 0, 0, 0, 0, 0 }; calculate(a, a[5]); System.out.println("the value of a[0] is " + a[0]); System.out.println("the value is a[5] is " + a[5]); }
2、 import java.io.* ; public class abc { public static void main(String args[ ]) { int i, s = 0 ; int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 }; for ( i = 0 ; i < a.length ; i ++ ) if ( a[i]%3 = = 0 ) s += a[i] ; System.out.println("s="+s); } }
B. private
C. static
D. Protected
3、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( A )。
A. 3
B. 3. 5
C. 4
D. 5
4、为 AB 类的一个无形式参数无返回值的方法 method 书写方法头,使得使用类
名 AB 作为前缀就可以调用它,该方法头的形式为( A )。
3、设 x = 2 ,则表达式 ( x + + )/3 的值是
0
。
4、若 x = 5,y = 10,则 x < y 和 x >= y 的逻辑值分别为 true 和 false 。
5、 抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的
方法,该方法必须在抽象类之中定义。 最终(final) 方法是不能被当前类的子类