2018年4月Java语言程序设计(一)真题答案+解析+知识点

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2018年4月高等教育自学考试全国统一命题考试
JAVA语言程序设计(一)试卷
课程代码 04747
一、单项选择题:本大题共l0小题,每小题l分,共10分。

1.下面关于Java语言的说法中,错误的是()
A.Java是一个纯面向对象的语言
B.Java语言中有指针、结构和类型定义的概念
C.Java语言是与平台无关的,可以在不同的操作系统下运行
D.Java语言具有自动无用内存回收机制
【答案】B
【解析】Java强调了面向对象的特性,是一个纯面向对象的语言;Java语言中没有指针、结构和类型定义的概念;Java语言是与平台无关的;Java语言具有自动无用内存回收机制。

【知识点】Java语言起源
2.在Java语言中,int整型变量在内存中占()
A.8位
B.16位
C.32位
D.64位
【答案】C
【解析】byte8位,short 16位,int 32位,long 64位。

【知识点】基本数据类型
3.在Java语言中,switch关键字之后的表达式的计算结果不能是()
A.char型
B.int型
C.short型
D.long型
【答案】D
【解析】java规定switch语句不允许使用浮点型或long型,表达式的结果必须是int型或char型,当用byte型或short型时,要进行提升。

【知识点】switch语句
4.在Java语言中,类的多个实例对象所共享的变量被称为()
A.静态变量
B. 全局变量
C.实例变量
D.共享变量
【答案】A
【解析】类的多个实例对象所共享的变量被称为静态变量。

【知识点】静态变量
5.以下对二维数组a的声明中,正确的是()
A.int a[4][6];
B.int a[4][6]=new int[4][6];
C.int a[][]=new int[4][];
D.int a[][]=new int[][6];
【答案】C
【解析】二维数组声明的格式:类型数组名【】【】=new 类型【数组第一维大小】【】,分别为每一维分配内存。

【知识点】多维数组的初始化
6. Java允许一个类实现多个接口,从而实现了()
A. 单重继承
B. 方法覆盖
C. 多重继承
D. 方法签名
【答案】C
【解析】Java提供了接口概念,这是一种特殊的类,多重继承的能力通过接口来实现。

7. 以下专门用于字符流处理的类是()
A. BufferedlnputStream 和 BufferedOutputStream
B. InputStreamReader 和 OutputStream Writer
C. FilelnputStream 和 FileOutputStream
D. ObjectlnputStream 和 ObjectOutputStream
【答案】B
【解析】InputStreamReader 和 OutputStream Writer,这两个类是字节流和读者、写者的接口,用来在字节流和字符流之间作为中介。

【知识点】基本字符流
8. 绘图区域的坐标原点位于该区域的()
A.左上角
B.左下角
C.右上角
D.右下角
【答案】A
【解析】java 语言规定,程序绘图区域的坐标原点,位于整个区域的左上角位置。

【知识点】绘图基础
9. 方法setMnemonic()的作用是()
A.将组合框设置为可编辑的
B.为菜单项设置加速键
C.将组合框设置为不可编辑的
D.为菜单项设置快捷键
【答案】D
【解析】方法setMnemonic()的作用是为菜单项设置快捷键。

【知识点】菜单组件
10. 以下方法中,不能实现挂起线程的是()
A. sleep()
B. notify()
C. wait()
D. join()
【答案】B
【解析】sleep() 用于暂时停止一个线程的执行,wait()方法导致当前线程等待,直到其他线程调用此对象的notify()方法,才能唤起线程。

Join()方法将引起现行线程等待。

【知识点】挂起线程
二、填空题.本大题共10小题,每空2分,共20分。

11. 在Java虚拟机中可以运行Java的__________文件。

【答案】字节码
【知识点】解释编译两种运行方式
12. 表达式-128>>4的值是__________ 。

【答案】-8
【知识点】位运算符
13. 在异常处理中,包含有捕获及处理某种类型异常代码的是_______块。

【答案】catch
【知识点】异常处理
14. 在Java中,允许多个方法使用同一个方法名,这就是方法名的______。

【答案】重载
【知识点】构造方法重载
15. 已知定义 String s1=“ab”,s2=new String(“ab”);,则 s1==s2 的值是 __________。

【答案】false
【知识点】对象的创建和初始化
16. 在接口中定义的成员变量默认为__________ 和静态属性。

【答案】终极
【知识点】静态成员
17. 把对象转换为字节序列的过程称为对象的__________ 。

【答案】序列化
【知识点】对象结构表
18. 每个由BorderLayout管理的容器通常被划分为________个区域。

【答案】5
【知识点】BorderLayout布局管理器
19. 要显示标准确认对话框,可使用JOptionPane类中的__________方法。

【答案】showConfirmDialog
【知识点】标准对话框
20. 线程一共有四种状态:新建、可运行状态、死亡及________。

【答案】阻塞
【知识点】线程的状态
三、简答题:本大题共5小题,每小题4分,共20分。

21. 请写出Java语言中标识符的命名规则。

【答案】标识符是由字母、数字、下划线或美元符组成的字符串,其中数字不能做为标识符的开头,并区分大小写。

【知识点】标识符
22. 请写出package语句和import语句的区别。

【答案】(1)package语句为包语句,每个文件最多只有一个,且必须放在文件开始的地方。

(2)import语句为引入语句,可以没有,也可以有多个,如果有,必须放在所有类定义的前面。

【知识点】java程序的结构
23. 请写出与数组相比,Vector对象的特点。

【答案】(1)Vector对象的大小可以根据需要来改变。

(2)Vector对象保存的元素的类型可以不一样。

【知识点】Vector类
24. 请写出用Thread类的子类创建线程并启动线程所包含的步骤。

【答案】(1)从thread 类派生出一个子类。

(2)实现run()。

(3)用该类创建一个对象。

(4)start()方法启动线程。

【知识点】创建线程
25. 请写出Java语言中的事件处理机制。

【答案】事件被直接送往产生这个事件的组件,组件需要注册一个或多个侦听程序。

侦听程序的类包含了事件处理程序,用来接收和处理该事件。

【知识点】Java事件处理机制
四、程序填空题:本大题共3小题,每空2分,共18分。

26. 以下fact方法的功能是求n的阶乘。

【答案】
(1)f=1;
(2)i<=n;
(3)f*i。

【解析】for (初始语句;条件表达式;迭代语句)
循环体语句;
【知识点】循环语句
27. 以下程序读取键盘输入,当按下回车时,将输入的内容显示在屏幕上。

【答案】(1)new BufferedReader(dis);(2)readLine();(3)close()
【解析】new BufferedReader(dis)创建新对象,readLine()是读取流读数据的时候用的,同时会以字符串形式返回这一行的数据,当读取完所有的数据时会返回null。

close()方法,显示关闭。

【知识点】输入和输出流
28.以下paintComponent方法利用Graphics2D绘制一个左上角坐标是(10,30),边长为50的红色正方形。

【答案】
(1)(Graphics2D)g;
(2)10,30,50,50;
(3)g2d.draw(rec)。

【解析】填空1,是将对象g类型从Graphics转换成Graphics2D,填空2是图形的坐标,填空3是绘正方形的操作。

【知识点】Graphics2D绘图
五、程序分析题:本大题共3小题,每小题6分,共18分。

29. 阅读下列程序,请写出该程序的输出结果。

【答案】
s1=this is a string!
S2.length=17
S3=that is a string!
【解析】显示字符串S1,length()字符串的长度,replace(char oldChar, char newChar), 返回一个新的字符串.
【知识点】字符串操作
30.阅读下列程序,请写出该程序的输出结果。

【答案】
call test30’s methodA()
call test’s methodB()
call test30’s methodA()
【解析】子类继承了父类的变量和方法,在子类中包括两部分内容,从父类中继承下来的变量和方法,还有自己新增加的变量和方法。

【知识点】类的继承
31. 阅读下列程序,请写出该程序的功能。

【答案】该程序随机输出“线程A”“线程B”,分别是6次。

【解析】
for(i=0,i<6,i++),该语句看出循环6次,
Try{
//代码区
}catch(Exception e){
//异常处理
}
代码区如果有错误,就会返回所写异常的处理。

【知识点】异常处理和循环语句
六、程序设计题:本大题共2小题,每小题7分,共14分。

32.请编写方法int[]invertArray(int[]a),该方法返回一个数组b,b中元素顺序为数组a 中元素的逆序。

int[] invertArray(int []a){
//请在答题卡(纸)上填写此处应编写的代码
}
【答案】
int[]b=new int[a.length];
For(int i=0;i<a.length;i++){
B[i]=a[a.length-i-1];
}
Return b;
【解析】该题考查的知识点是for循环与一维数组的应用。

int[]b=new int[a.length];使b 数组长度等于a,然后用循环语句使数组b的逆向数组a,最后返回B的值。

【知识点】数组
33. 以下MyWindow类根据给定的选择项目表构造一组复选按钮,当某个复选按钮的选择状态有改变(从选中变成未选中,或从未选中变成选中)时,复选按钮的侦听程序将在右边文本区中输出所有选择项目的状态。

注:这里是给定程序的部分代码,你要编写的代码是改变复选按钮状态时所完成的事件。

【答案】
for(int i=0;i<box.length;i++){
If(box[i].isSelected())
text.append(boxName[i]+”被选中\n”);
Else
text.append(boxName[i]+”没有被选中\n”);
}
【解析】box[i].isSelected(),是判断某个元素是否被选中。

把一个字符串添加到文件框中文本的后面,一般格式如下:文本框对象.AppendText(str);参数str是要添加的字符串。

【知识点】复选按钮。

相关文档
最新文档