Java试卷B
Java试卷B
单选择题解答:
编译 Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。
- A.
.java
- B.
.class
(正确答案) - C.
.html
- D.
.exe
解释:Java 源文件编译后生成的文件扩展名是
.class
,这些文件包含 JVM 可以执行的字节码。- A.
设 x = 1 , y = 2 , z = 3,则表达式
y += z-- / ++x
的值是(A)。- A. 3 (正确答案)
- B. 3.5
- C. 4
- D. 5
解释:首先,
++x
将x
变为 2,然后z--
使用z
的值 3 进行计算,之后z
变为 2。y += z-- / ++x
变为y += 3 / 2
,即y = 2 + 1 = 3
。在 Java Applet 程序用户自定义的 Applet 子类中,一般需要重载父类的(D)方法来完成一些画图操作。
- A.
start()
- B.
stop()
- C.
init()
- D.
paint()
(正确答案)
解释:
paint()
方法是用于在 Applet 中进行绘图操作的,因此需要重载这个方法来完成自定义绘图。- A.
不允许作为类及类成员的访问控制符的是(C)。
- A.
public
- B.
private
- C.
static
(正确答案) - D.
protected
解释:
static
不是访问控制符,它是一个修饰符,用来标识类的成员属于类本身,而不是实例。public
、private
和protected
是访问控制符,控制类及成员的访问权限。- A.
为 AB 类的一个无形式参数无返回值的方法
method
书写方法头,使得使用类名 AB 作为前缀就可以调用它,该方法头的形式为(A)。- A.
static void method()
(正确答案) - B.
public void method()
- C.
final void method()
- D.
abstract void method()
解释:静态方法可以使用类名作为前缀调用,因此方法需要声明为
static
。- A.
填空题解答:
开发与运行 Java 程序需要经过的三个主要步骤为:
- 编辑源程序
- 编译生成字节码
- 解释运行字节码
如果一个 Java Applet 源程序文件只定义有一个类,该类的类名为 MyApplet,则类 MyApplet 必须是:
- Applet 类的子类
- 存储该源程序文件的文件名为 MyApplet.java
如果一个 Java Applet 程序文件中定义有 3 个类,则使用 Sun 公司的 JDK 编译器 javac.exe 编译该源程序文件将产生:
- 3 个文件名与类名相同而扩展名为 .class 的字节码文件
在 Java 的基本数据类型中,char 型采用 Unicode 编码方案,每个 Unicode 码占用:
- 2 字节内存空间, 这样,无论是中文字符还是英文字符,都是占用 2 字节内存空间。
设 x = 2 ,则表达式 (x++)/3 的值是:
- 0
若 x = 5,y = 10,则 x < y 和 x >= y 的逻辑值分别为:
- true
- false
抽象 (abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终 (final) 方法是不能被当前类的子类重新定义的方法。
创建一个名为 MyPackage 的包的语句是:
package MyPackage;
该语句应该放在程序的位置为:- 程序的第一句
设有数组定义:
int MyIntArray[] = {10, 20, 30, 40, 50, 60, 70};
则执行以下几个语句后的输出结果是:- 120
1
2
3
4
5
6int s = 0;
for (int i = 0; i < MyIntArray.length; i++) {
if (i % 2 == 1)
s += MyIntArray[i];
}
System.out.println(s);解释:在这个循环中,
i % 2 == 1
的条件是 i 为奇数,符合条件的数组元素是 20、40、60,累加结果为 120。在 Java 程序中,通过类的定义只能实现:
- 单重继承, 但通过接口的定义可以实现:
- 多重继承关系。
程序功能说明
1. 程序功能:
1 | public class Sum { |
功能说明:
该程序计算并输出前 100 个倒数之和,即: $ = + + + + $
最后打印出结果。
2. 程序功能:
1 | import java.io.*; |
功能说明:
该程序从键盘输入 10
个整数,然后将这些整数以倒序的方式输出。例如,若输入的顺序是
1 2 3 ... 10
,输出的结果为 10 9 8 ... 1
。
3. 程序功能:
1 | import java.awt.*; |
功能说明:
该程序创建了一个简单的 GUI
窗口,其中有一个按钮。窗口标题为“按钮”,按钮上显示文字“按下我”,窗口大小为
300x200 像素,并以 FlowLayout
布局显示。
4. 程序功能:
1 | import java.io.*; |
功能说明:
该程序通过继承机制比较父类 SuperClass
中的两个整数
a
和 b
的大小,并返回较大的值。结果输出较大的数,即 b
的值
20
。
程序功能及运行结果
1. 程序功能及运行结果:
1 | import java.io.*; |
功能说明:
该程序定义了一个类 AB
,该类有两个成员字符串 s1
和
s2
。在构造函数中通过参数初始化这两个字符串。toString()
方法返回 s1
和 s2
拼接后的字符串。main
方法中,创建了一个 AB
类的对象,并调用其 toString()
方法输出结果。
输出结果:
1 | Hello!I love JAVA. |
2. 程序功能及运行结果:
1 | import java.io.*; |
功能说明:
该程序定义了一个数组 a[]
,并通过 for
循环遍历数组元素。程序检查每个元素是否能被 3
整除,如果可以,则将该元素加到 s
中,最终输出
s
的值。
计算过程:
- 数组中可以被 3 整除的元素有:30, 60, 90
- 它们的和:30 + 60 + 90 = 180
输出结果:
1 | s=180 |
3. 程序功能及运行结果:
1 | import java.io.*; |
功能说明:
该程序通过继承关系创建了三个类:SuperClass
、SubClass
和 SubSubClass
。在 SubSubClass
类中,a
被重新定义,并通过 aa + bb + cc
计算新值。show()
方法打印三个成员变量的值。
计算过程:
- 创建
SubSubClass
对象时,传递的参数为 10, 20, 30 SuperClass
的构造函数初始化a = 10
,b = 20
SubClass
的构造函数初始化c = 30
SubSubClass
的a = 10 + 20 + 30 = 60
输出结果:
1 | a=60 |
1. 编写字符界面的 Java 应用程序,接受用户输入的10个整数,并输出最大值和最小值。
问题分析:
程序要求通过控制台输入10个整数,并计算这10个整数中的最大值和最小值。实现方式是通过
BufferedReader
读取输入,并在读取每个数字时,更新最大值和最小值。
解答代码:
1 | import java.io.*; |
输出说明:
- 程序将要求用户输入10个整数,并在每次输入后根据当前的数字更新最大值和最小值。
- 输出的结果为输入的最大值和最小值。
2.
编写 Java Applet 程序,使用 Complex
类验证两个复数相加的结果。
问题分析:
程序要求定义一个 Complex
类来表示复数,并实现复数相加的方法。两个复数 1 + 2i
和
3 + 4i
相加的结果应该是 4 + 6i
。通过 Applet
界面展示结果。
解答代码:
1 | import java.applet.Applet; |
运行说明:
- 初始化 Applet 后,两个复数
1 + 2i
和3 + 4i
将被相加,并显示在界面上。 Complex
类中的complexAdd()
方法实现了复数相加的功能。paint()
方法通过调用Graphics
的drawString()
方法将结果绘制在 Applet 界面上。
输出示例:
- 第一个复数:
1 + 2i
- 第二个复数:
3 + 4i
- 两复数之和:
4 + 6i
总结:
- 第一个程序通过控制台读取用户输入的10个整数并找出最大值和最小值。
- 第二个程序通过 Java Applet 界面展示两个复数相加的结果,使用
Complex
类实现复数的表示和运算。