绝密★启用前
2022年4月高等教育自学考试全国统一命题考试Java语言程序设计(一)
(课程代码04747)
注意事项:
- 本试卷分为两部分,第一部分为选择题,第二部分为非选择题。
- 应考者必须按试题顺序在答题卡(纸)指定位置上作答,答在试卷上无效。
- 涂写部分、画图部分必须使用2B铅笔,书写部分必须使用黑色字迹签字笔。
-
第一部分选择题
一、单项选择题:本大题共10小题,每小题1分,共10分。在每小题列出的备选项中 只有一项是最符合题目要求的,请将其选出。
1. Java语言的特性是 A.指针 B.预处理器 C.结构和类型定义 D.无用内存自动回收机制 2.不熊作为Java标识符使用的字符串是 A. 2auto B. a_123 C. STD D. $123 3.以下程序代码段的输出结果是 int sumi = 0, sumj = 0, i, j; for (i = 0, j = 0; j < 10; i++, j++) sumi += i; sumj += j; System.out.print(sumi+” ”+sumj); A. 45 45 B. 45 10 C. 10 45 D. 10 10 - 关于构造方法的叙述中,正确的是
- 构造方法不可以重载
- -个类可以完全没有构造方法
- 系统一定会创建一个带参数的构造方法
- 有些情况下,系统会创建一个不带参数的构造方法
- 调用方法时使用值传递方式将基本数据类型的实参传给形参。对此叙述正确的是
- 将实参的值复制给形参 将形参的值复制给实参
C.形参和实参是同一对象 D.形参和实参无联系
6.以下程序代码段的输出结果是 int intArray[ ]=(3, 4, 5, 6}; int resultValue = 1; fbr(int i=l; i<3; i++) resultValue = =resultValue *intArray[i]; System.out.printfresultValue); A. 12 B. 20 C. 60 D. 120 - 在面向对象的程序设计方法的范畴内,叙述正确的是
- 子类对象可以作为父类对象使用
- 完全不使用结构化的程序设计方法
- 多态性是指对象的状态随运行时给定的参数不同而不同
- 父类的所有成员在子类的对象中不可访问,也不占内存空间
- 以下程序代码段的输出结果是
File f = new File(’7workdisk/persondic/d07.Javan);
System.out.println(£getPath());
- /workdisk/persondic B. \workdisk\persondic
C • \workdisk\persondic\d07.Java D. C:\workdisk\persondic\d07.Java
- 在使用BorderLayout布局管理器的容器中,如果加入组件时没有指定区域,则默认 情况下,组件加入的区域是
A. East B. West C. North D. Center 10.可以创建线程的方法是 A.实现 ActionListener 接 口 B.实现 ItemListener 接口 C.实现Thread接口 D.实现 Runnable 接口 第二部分非选择题
二、填空题:本大题共10小题,每小题2分,共20分。
- 若公有类Myapp经过编译后生成字节码文件class,并且执行时需要传入两 个参数argl和arg2,则在命令提示符后要键入的命令是 。
- Java类库中的每个异常都有一个存取方法,可返回抛出异常时创建的描述字符串, 该方法的名字是 O
- 设有表示平面坐标系中一个点的类Point,其中含有两个float类型的数据成员变量 x和y,分别表示一个点的横、纵坐标。为类Point添加一个构造方法,形参分别是 xl和yl,此构造方法是: «
- 方法签名包括方法名称加上方法的 。
- 已知有字符数组char chars []= {対},由chars创建字符串s的语句是 。
- 类A中包含了方法method,该方法只有方法声明,但没有方法的实现,则类A
是 。
- 对于类FileOutputStream的实例对象,如果所指定的文件不存在,则 。
- Swing中,创建一个初始时不可见、具有指定标题title的新框架窗体的构造方法 是 。
- 创建一个初始字符串为”Input Line”、列数为20的文本域textF的语句是 »
- 在Java语言中,为了实现不同线程对共享数据操作的同步,可以使用 。
三、简答题:本大题共5小题,每小题4分,共20分。
- Java中的基本数据类型byte、char、float、long和short在参与表达式计算时,能够 进行自动类型转换的类型顺序依次是什么?
- 简要叙述try-catch块的处理过程。
- 简要叙述包装斐的用途-包装类定义在哪个包中?
- 什么是单重继承与多重继承? Java中的继承是哪一种?
- 简要叙述线程死亡的两个原因。
四、程序填空题:本大题共3小题,每空2分,共18分。
- 以下程序的运行结果是将如下的矩阵保存在5行5列的二维数组intArray中,
一1 2 3 4 5 一 2 4 7 11 16 3 7 14 25 41 4 11 25 50 91 _5 16 41 91 182一 除第一行和第一列外,每个位置的元素是其左侧相邻元素及上面相邻元素之和。
public class Test26(
public static void main(String[] args) (
int intArray[ ][ ]= new int[5][5]; inti,j;
for(i = 0; i<5; i++) ① ;
fbr(i = 1; i<5; i++) ② ;
fdr(i=l; i<5; i++)
for(j=l;jv5;j++) intArray[如]=―③,;
}
}
- 以下程序定义了父类Employee和子类Manager。程序将输出:Jim 2。
class Employee {
private String name;
static int ID~0;
public Employee(String s) (
name = s;
ID++;
}
String getNameQ ( return name; }
int getID() ( return ID; )
}
class Manager extends Employee (
private String department;
public Manager(String s, String d) {
r __ ; * °
department = d;
}
String getDepart() ( return department; }
}
public class Test27{
public static void main(String[] args) {
Employee jim = new Employee(”Jim”); Manager adorn = new Manager(MAdom”, “HR”); System.out.printlnfjim. ® “+ jim. ③ );
}
}
- 以下程序当点击组合框中的选项时,在下面的文本区中将显示相关的信息。例如, 当依次点击了 “One”、“Two”和“Three”后,显示结果如题28图所示。初始时, 组合框中显示“Three”,文本区中显示空白。
五、程序分析题:本大题共3小题,每小题6分,共18分。
- 阅读程序,请写出该程序的输出结果。
class SuperClass {
String name;
SuperClass(String n){ name = n; }
public void method() (
System.out.print(name+U ”);
System.out.println(“superclass!n);}}
class SubClass extends SuperClass (
public SubClass(String n)( super(n); )
public void method(){
super.method();
System.out.println(” subclass!”);}}
public class Test29(
public static void main(String args[])(
SuperClass superc = new SuperClass(hSupern);
SubClass subc = new SubClass(”Subl”);
SuperClass ssc = new SubClass(°Sub2n);
superc.methodQ; subc.method(); ssc.methodQ;}}
- 阅读程序,请写出该程序的功能。
import java.io.BufleredReader; import java.io.IOException;
import java.io.InputStreamReader;
class MyStringException extends Exception (
public MyStringException() ( super(Htoo long”); }
public MyStringException(String message) ( super(message); }
}
public class Test3 0 {
public static void main(String [] args) throws lOException (
int maxLength=Integer .parselnt(args [0]);
BufferedReader keyboard=new BufferedReader(new
InputStreamReader(System.in));
try{
String input=keyboard.readLine();
if(input.length()<maxLength) System.out.println(input); else throw new MyStringException();
) catch(MyStringException e){
System.out.println(e.getMessage());}}}
- 阅读程序,请写岀该程序的输出结果。
public class Test31 implements Runnable {
public void run(){try {
System on t. println(Hnin () – <1>M);
Thread.sleep( 100);
System.out.println(nrun() – <2>n);
) catch (InterruptedException x) (
System.out.println(Hrun() – <3>n);
return;}
System.out.println(nrun() – <4>H);
System.out.println(nrun() – <5>n);)
public static void main(String[] args){
Test31 one = new Test31();
Thread other = new Thread();
Thread third = new Thread(one);
other. start(); third. start();
try {
System.out.println(Hrun() – <6>n);
Thread. sleep(200);
}catch (InterruptedException x) ()
System.outprintln(,,main() – <7>n);
other.interrupt();
void printArray(int[][] arr){
〃请在答题卡(纸)上填写此处应编写的代码
public static void main(String args [])( Statement be = new Statement();
be.go();}}
class Statement extends WindowAdapter implements ActionListener( JFrame f; JButton myButton; JLabel myLabel; JTextField tfs; String ad = ” This is a JFrame!”;
public void go(){
f= new JFrame(“My JFrame1‘);
f.setLayout(new GridLayout(6, 1, 10, 10));
f.setSize(650,400);
myLabel = new JLabel(HStatementn);
JPanel panl = new JPanel();
JPanel pan2 = new JPanel();
pan 1 .setLayout(new FlowLayout(FlowLayout.CENTER, 40, 0));
〃请在答题卡(纸)上填写此处应编写的代码
f.addW indowListener(this);
f.setVisible(true);
}
public void windowClosing(WindowEvent e) {
System.exit(O);}}