Java程序设计复习11.docx
- 文档编号:5877630
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:16
- 大小:34.72KB
Java程序设计复习11.docx
《Java程序设计复习11.docx》由会员分享,可在线阅读,更多相关《Java程序设计复习11.docx(16页珍藏版)》请在冰点文库上搜索。
Java程序设计复习11
Java程序设计(5007)课程复习
2012年秋季考试复习题
说明:
本次复习题供上海开放大学教学使用,未经允许请勿转载及传播。
考试形式:
期考考试采用笔试、闭卷方式,考试时间长度120分钟。
期末考试成绩占总成绩的60%。
考试题型(命题大致数量):
(一)客观题40分
1.单项选择题(20题,30分)
2.判断题(10题,10分)
(二)主观题60分
1.简答题(2题,10分)
2.程序阅读题(5题,15分)
3.填空题(每空1分,25分)
4.程序设计题(1题,10分)
说明:
本次考试有客观题。
同学们考试需要带铅笔填涂答题卡。
复习题:
单选题:
1.Java语言的执行模式是:
()。
A.全编译型B.全解释型C.半编译和半解释型D.同脚本语言的解释模式
2.JDK的bin目录下提供的java编译器是()。
A.javadocB.javacC.javaD.appletviewer
3.下列()是面向手机类应用平台。
A.J2EEB.J2MEC.J2SED.J2DE
4.JDK包括Java运行环境和Java开发工具,其中Java运行环境又由()和Java虚拟机组成。
A.调试器B.编译器C.操作系统D.核心API(类库)
5.下列关于虚拟机说法错误的是:
()。
A.虚拟机可以用软件实现B.虚拟机不可以用硬件实现
C.字节码是虚拟机可执行的机器码D.虚拟机把程序代码与各操作系统及硬件分开
6.利用Java虚拟机执行类名为HelloWord的应用程序,正确的命令是()。
A.javaHelloWord.ClassB.HelloWord.cla
C.javaHelloWord.java.ssD.javaHelloWord
7.下列属于合法标识符的是()。
A._windB.5tieC.+fileD.room#
8.当编译运行如下程序会产生什么结果?
()。
publicclassTest{
publicstaticvoidmain(){
System.out.println(“HelloWorld”);
}
}
A.可以正常编译和运行,在控制台上输出“HelloWorld”
B.可以正常编译和运行,但是在控制台上没有输出
C.不能正常编译,因为main()方法定义错误
D.可以正常编译,但是不能正常运行,因为找不到main()方法
9.在某类中存在一个方法:
intgetAge(intx),以下能作为这个方法重载的是:
( )。
A.publicgetAge(intx);B.voidgetAge(intx);
C.intgetAge(intx,inty);D.intget(intx);
10.下列关于继承的说法哪个是错误的?
()
A.一个子类只能继承一个父类;
B.子类继承父类的非私有属性和方法;
C.在类前加final可使该类不能被继承;
D.如子类的方法与父类的方法头完全相同,则子类定义的方法不能覆盖父类的方法。
11.下列关于父类成员的访问权限的描述中,正确的是:
()。
A.相同包中,子类可以继承父类中的所有成员
B.相同包中,子类可以继承父类中除构造方法外的所有成员
C.相同包中,子类可以继承父类中除private外的所有成员
D.相同包中,子类不可以继承父类中的protected成员
12.下列Java常用包中,提供输入输出流的文件的是:
()。
A.java.langB.java.ioC.java.swingD.java.util
13.要抛出异常,需要使用下列哪种子句:
()。
A.catchB.throwC.tryD.finally
14.字节流和字符流的区别在于()
A.前者带有缓冲,后者没有B.前者是块读写,后者是字节读写
C.二者没有区别,可以互换使用D.每次读写的字节数不同
15.Java语言中,提供了一个()线程,自动回收动态分配的内存。
A.异步B.垃圾收集C.守护D.消费者
16.GUI是()的缩写。
A.布局管理器B.资源管理器C.用户界面布局D.图形用户界面
17.当()方法终止时,线程进入死亡状态。
A.runB.setProrityC.yieldD.sleep
18.数组的初始化是()。
A.建立数组对象(为数组分配内存)
B.为某个数组元素赋予初值
C.为每一个数组元素赋予初始值
D.建立数组对象(为数组分配内存),为每一个数组元素赋予初始值。
19.一个包含Java类H1、H2、H3的可执行源程序B.java,经过编译后,产生的文件是()。
A.B.classB.H1.class
C.H1.class,H2.class,H3.classD.B.class,H1.class,H2.class,H3.class
20.Java以JVM为基础,最下层是移植接口,由适配器和()组成。
A.网卡B.JavaosC.Java基本类D.Java应用程序和applet小程序
21.Java程序的执行过程中用到一套JDK工具,其中javac.exe指()。
A.Java语言编译器B.Java字节码解释器C.Java文档生成器D.Java类分解器
22.下列常量定义合法的是()。
A.intTIMKF=1024;B.charTIMKF=”1024”;
C.finalintTIMKF=1024;D.byteTIMKF=’1024’
23.以下关于switch语句的描述中,错误的是()。
A.switch后面括号中的表达式只能是int、byte、short或char类型的值
B.case后面必须是常量
C.default子句是可选择的,可以省略
D.break语句写在case的后面,作用是跳出此case子句
24.若有定义chara[]=newchar[5]则a.length的值为()。
A.0B.6C.4D.5
25.下列代码的运行后,s的结果是:
()。
Stringgreeting=“Hello”;
Strings=greeting.substring(0,3);
A.HelB.ellC.HellD.ello
26.实现字符流“写操作”的是()。
A.FileReaderB.FileWriterC.FileInputStreamD.FileOutputStream
27.下列关于线程优先级的说法中,正确的是()。
A.线程的优先级是不能改变的
B.线程的优先级是可以在创建时设置的
C线程的优先级只能在创建后修改一次
D.在创建线程后任何时间都可以设置
28.Jpanel和Applet的默认布局管理器是()。
A.FlowLayoutB.CardLayoutC.BorderLayoutD.GirdLayout
29.下列程序的执行结果是:
()。
inta=3,b=10;
System.out.println(a>b?
5:
6)
A.3B.10C.5D.6
30.下面赋值语句不会产生编译错误或警告的是()。
A.chara=′abc′;B.byteb=152;C.floatc=2.0;D.doubled=2.0;
31.下列表示转义换行字符的是()。
A.\\nB.\nC.’n’D.”n”
32.switch结构中必须有的语句是()。
A.default语句Bbreak语句C.continue语句D.case语句
33.执行for(i=0;i<10;i++);后i的值为()
A.10B.11C.9D.0
34.数组下标越界,则发生异常,提示为()。
A.RuntimeExceptionB.IOException
C.ArrayIndexOutOfBoundExceptionD.ClassCastException
35.下列关于抽象类的描述中,错误的是:
()。
A.在抽象类体中,可以包含抽象方法,也可以不包含抽象方法
B.抽象类不能实例化,即使抽象类中没有声明抽象方法,也不能实例化
C.抽象类的子类不能再创建子类
D.类体中包含抽象方法的类,必须要声明为抽象类
36.下列InputStream类中()方法可以用于关闭流。
A.skip()B.close()C.mark()D.reset()
37.线程可以通过()方法休眠一段时间,然后回复运行。
A.startB.stopC.yieldD.sleep
38.鼠标移动时会调用()方法,并注册一个事件监听器处理此事件。
A.actionPerformedB.addItemListenerC.mouseMoveD.add
判断题:
39.取模运算符(%)只可用于整数操作。
()
40.同一个数组中可以存放多个不同类型的数据。
()
41.一个容器可以混合使用多种布局策略。
()
42.在引用数组元素时,下标是用于指出数组中某个元素位置的数字或者变量。
()
43.一个类中,只能拥有一个构造函数。
()
44.C语言和Java语言都是多线程语言。
()
45.在Swing用户界面的程序设计中,容器可以被添加到其它容器中去。
()
46.Java程序里,创建新的对象名称用关键字new,回收无用的对象使用关键字free。
()
47.抽象方法在不同子类中表现出多态性。
()
48.流式输入输出中,每一个数据都必须等待排在它前面的数据读入或者送出后,才能被读写。
()
49.Java中线程有5中状态,这5种状态任何两种之间都可以相互转换。
()
50.在GUI上输出文本或者提示信息的方法是使用标签。
()
51.在Swing用户界面的程序设计中,容器可以被添加到其它容器中去。
()
52.即使一个类中未显示定义构造函数,也会有一个缺省的构造函数,缺省的构造函数无参数,函数体为空。
()
53.在一个Java源程序中,可以包括多个类,并且在各个类名之前都使用public修饰符。
()
54.在Java程序中,高优先级的可运行线程可以抢占低优先级线程。
()
55.一个Java类可以有多个父类,这称作为继承。
()
56.一个线程可以调用yield方法使得其它线程有机会运行。
()
程序阅读题:
57.阅读下列程序:
intx=4;
do{x+=x;}while(x<17);
程序执行后,x的值是:
58.阅读下列程序:
inta,b,c;
a=2;
b=3;
c=(a+b>3?
++a:
b++);
程序执行后,c的值为:
59.阅读下列程序:
publicclassTest5{
publicstaticvoidmain(Stringargs[]){
Strings1=newString(“word”);
Strings2=newStirng(“word”);
System.out.print(s1==s2);
System.out.pirnt(s1.equals(s2));
}
}
程序运行结果是:
60.阅读下列程序:
inti=2;
switch(i){
case0:
System.out.print(“0”);
break;
case1:
System.out.print(“1”);
case2:
System.out.print(“2”);
default:
System.out.print(“3”);
}
程序运行后输出的内容是:
简答题:
1简述什么是Java虚拟机?
2简述什么是字节码?
采用字节码的最大好处是什么?
3简述JRE与JDK的关系。
4为什么说Java的运行与计算机硬件平台无关?
5.Java中的结构化程序设计有哪三种基本流程?
分别对应Java哪些语句?
6.简述break语句的作用。
7.简述continue语句的作用。
填空题:
1.以下程序实现1到50的自然数的累加。
请阅读下列程序,不允许再定义新的变量,说明相关语句的作用,并补充相关内容,完成该类的结构。
publicclassSum{//【说明1】
publicstaticvoidmain(Stringargs[])//【说明2】
{
inti=1;//【说明3】
intsum=0;//【说明4】
for()//【代码1】设置for循环条件
{
//【代码2】累加计算,累加结果存入sum
}
//【代码3】输出累加结果
}
}
2.以下程序定义了一个长度为10的整型数组,并实现9至0的自动赋值。
请说明相关语句的作用,并补充相关内容完成该类的结构。
(该题不考虑逆序的赋值,按照填空要求即可)
publicclassLinerA{//【说明1】
publicstaticvoidmain(Stringargs[])//【说明2】
{
inti;//【说明3】
//【代码1】声明一个整型数组a
//【代码2】对整型数组a分配空间
for()//【代码3】i从a.length-1到0,每次递减1
{
//【代码4】将i赋值给a[i]
//【代码5】输出当前数组元素的内容
}
}
程序设计题:
主要内容:
以类的创建、继承、构造、抽象类、接口为主。
1.编写一个Java程序,在程序中定义一个Bus类,该类有一个drive()方法,用来输出“thisisbus.”信息。
以Bus父类,定义子类Busone、Bustwo,在这2个子类中,覆盖父类中的drive()方法,分别显示“thisisbusone”、“thisisbustwo”。
设计一个TestBus类,包含主方法。
创建一个Busone的实例s1,创建一个Bustwo的实例s2,分别调用drive()方法。
模拟题参考答案
选择题参考答案:
1-5:
C,B,B,D,B
6-10:
D,A,D,C,D
11-15:
C,B,B,D,B
16-20:
D,A,D,D,B
21-25:
A,C,D,D,A
26-30:
B,D,A,D,D
31-35:
B,D,A,C,C
36-38:
B,D,C
判断题:
39.取模运算符(%)只可用于整数操作。
()错
40.同一个数组中可以存放多个不同类型的数据。
()错
41.一个容器可以混合使用多种布局策略。
()错
42.在引用数组元素时,下标是用于指出数组中某个元素位置的数字或者变量。
(对)
43.一个类中,只能拥有一个构造函数。
()错
44.C语言和Java语言都是多线程语言。
()错
45.在Swing用户界面的程序设计中,容器可以被添加到其它容器中去。
()对
46.Java程序里,创建新的对象名称用关键字new,回收无用的对象使用关键字free。
(错)
47.抽象方法在不同子类中表现出多态性。
()对
48.流式输入输出中,每一个数据都必须等待排在它前面的数据读入或者送出后,才能被读写。
()对
49.Java中线程有5中状态,这5种状态任何两种之间都可以相互转换。
()错
50.在GUI上输出文本或者提示信息的方法是使用标签。
()对
51.在Swing用户界面的程序设计中,容器可以被添加到其它容器中去。
()对
52.即使一个类中未显示定义构造函数,也会有一个缺省的构造函数,缺省的构造函数无参数,函数体为空。
()对
53.在一个Java源程序中,可以包括多个类,并且在各个类名之前都使用public修饰符。
()错
54.在Java程序中,高优先级的可运行线程可以抢占低优先级线程。
()对
55.一个Java类可以有多个父类,这称作为继承。
()错
56.一个线程可以调用yield方法使得其它线程有机会运行。
()对
程序阅读:
57.答案32
58.答案3
59.答案:
falsetrue
60.答案23
简答题:
1简述什么是Java虚拟机?
参考答案:
Java虚拟机(JavaVirtualMachine简称JVM)是运行所有Java程序的抽象计算机,可用软件或硬件实现,是Java语言的运行环境。
有了JVM的存在,就可以将Java的class文件转换为面向各类操作系统的程序,再由解释器执行。
2简述什么是字节码?
采用字节码的最大好处是什么?
参考答案:
Java源程序经过编译器编译,产生的代码称为字节码。
字节码是不可执行的程序代码,它必须有java虚拟机解释执行。
字节码的最大好处是可以跨平台运行,即一次编写,不需要修改程序,只要使用不同的JVM即可运行,从而实现了java程序的快平台运行。
3简述JRE与JDK的关系。
参考答案:
JRE(JavaRuntimeEnvironment)是Java运行时环境,也就是提供运行Java程序能力的一套集合,包括:
JVM标准实现及Java核心类库。
JDK是Java程序的开发工具包,给Java程序开发人员使用的。
其中包括JRE,还包括其它一些开发时用到的工具。
因此,编写Java程序需要使用JKD,而运行Java程序,只需JRE就可以了。
4为什么说Java的运行与计算机硬件平台无关?
参考答案:
Java程序采用编译后,再解释执行的方式运行。
编译器能够产生一种与计算机体系结构无关的字节指令(ByteCode)。
只要安装了Java虚拟机,字节码文件就可以解释运行,这样程序跟具体的操作系统以及硬件平台分隔开来。
5.Java中的结构化程序设计有哪三种基本流程?
分别对应Java哪些语句?
参考答案:
结构化程序设计有:
顺序、分支、循环三种结构。
Java中分支语句包括:
if语句、switch语句;循环语句包括:
while语句、do-while语句、for语句;其它如:
对象、变量定义语句、赋值语句、方法调用语句等都属于顺序语句。
6.简述break语句的作用。
参考答案:
在Java中,break语句有两种作用。
第一是,switch语句中被用来终止一个语句序列。
另一种是在循环中用来退出循环。
当使用break语句直接强行退出循环时,忽略循环体中的其它语句和循环条件测试。
在循环中遇到break语句时,循环被终止,程序控制循环后面的语句重新开始。
7.简述continue语句的作用。
参考答案:
在循环结构中,continue语句用来跳出循环体下面尚未执行的语句,回到循环体的开始处继续下一轮循环,而不是终止循环。
当然,在下一轮循环开始前,要先进行终止条件的判断,以决定是否继续循环。
填空题
1.以下程序实现1到50的自然数的累加。
请阅读下列程序,不允许再定义新的变量,说明相关语句的作用,并补充相关内容,完成该类的结构。
publicclassSum{//【说明1】定义类Sum
publicstaticvoidmain(Stringargs[])//【说明2】定义主方法
{
inti=1;//【说明3】定义整型变量i,用于循环控制
intsum=0;//【说明4】定义整型变量sun,记录累加结果
for(i=1;i<50;i++)//【代码1】设置for循环条件
{
sum=sum+i;//【代码2】累加计算,累加结果存入sum
}
System.out.println(“累计结果是”+sum);//【代码3】输出累加结果
}
}
2.以下程序定义了一个长度为10的整型数组,并实现9至0的自动赋值。
请说明相关语句的作用,并补充相关内容完成该类的结构。
publicclassLinerA{//【说明1】定义类LinerA
publicstaticvoidmain(Stringargs[])//【说明2】定义主方法
{
inti;//【说明3】定义整型变量i,用于控制循环
inta[];//【代码1】声明一个整型数组a
a=newint[10];//【代码2】对整型数组a分配空间
for(i=a.length-1;i>=0;i--)//【代码3】i从a.length-1到0,每次递减1
{
a[i]=i;//【代码4】将i赋值给a[i]
System.out.println(a[i]);//【代码5】输出当前数组元素的内容
}
}
程序设计题参考答案:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 复习 11