JAVA 面向对象程序设计(期末考试试题及答案)详情见对应资源
一、单选择题
1、编译 Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A. java B. .class
C. html D. .exe
2、不允许作为类及类成员的访问控制符的是( C )。
A. public 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 )。
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 | ||
6、void 的含义:( C ) | |||
A.方法体为空 | B.定义的方法没有形参 | ||
C.定义的方法没有返回值 | D.方法的返回值不能参加算术运算 |
7、关于 Java 中异常的叙述正确的是:( D ) A.异常是程序编写过程中代码的语法错误 B.异常是程序编写过程中代码的逻辑错误 C.异常出现后程序的运行马上中止 D.异常是可以捕获和处理的
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.子类不能继承父类的私有属性
二、填空题 1、开发与运行 Java 程序需要经过的三个主要步骤为 | 编辑源程序 | 、 |
编译生成字节码 和 解释运行字节码 | o |
2、在 Java 的基本数据类型中,char 型采用 Unicode 编码方案,每个 Unicode 码占
用 | 2 | 字节内存空间,这样,无论是中文字符还是英文字符,都是占 |
用 | 2 | 字节内存空间。 |
3、设 x = 2 ,则表达式 ( x + + )/3 的值是 0 。
4、若x = 5,y = 10,则x < y 和x >= y 的逻辑值分别为 true 和 false 。 5、 抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 最终(final) 方法是不能被当前类的子类重新定义的方法。
6、创建一个名为 MyPackage 的包的语句是 package MyPackage ; ,该语句应该放在程序的位置为: 应该在程序第一句 。
7、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执
行以下几个语句后的输出结果是 120 。
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、 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.
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);
}
}
运行结果: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;
}
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;
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]);
}
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
四、简答题(每题 5 分,共 15 分)
1、简单叙述如何使一个 Java 应用程序运行起来,在控制台方式下,使用什么命令编译、运行程序。