《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案.docx
- 文档编号:9330169
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:24
- 大小:24.85KB
《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案.docx
《《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案.docx》由会员分享,可在线阅读,更多相关《《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案.docx(24页珍藏版)》请在冰豆网上搜索。
《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案
一、单选题
1.在下列概念中,Java语言只保留了D
A.运算符重载B.结构和联合C.指针D.方法重载
2.下列类定义中,不正确的是B
A.classx{....}B.staticclassximplementsy1,y2{....}
C.publicclassxextendsApplet{....}D.classxextendsy{....}
3.下列语句序列执行后,k的值是B
intm=3,n=6,k=0;
while((m++)<(--n))++k;
i++
先把i的初值赋给表达式(i++),作为表达式(i++)的值,然后i自增1作为i的值。
如i=1,则表达式(i++)的值等于1,而i的值变为2。
++i
i先自增1,再把自增后的值赋给表达式(++i)。
如i=1,则表达式(++i)的值等于2,i的值也为2,
A.0B.1C.2D.3
4.设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是A
A.a[0]=7;B.i=i+2C.i++---j;D.a(0)=66;
5.Java语言的类间的继承关系是B
A.多重的B.单重的C.线程的D.不能继承
6.下列语句序列执行后,k的值是C
inti=10,j=18,k=30;
switch(j-i){
case8:
k++;
case9:
k+=2;
case10:
k+=3;
default:
k/=j;
}
A.31B.3C.2D.33
7.设有定义floatx=3.5f,y=4.6f,z=5.7f;则以下的表达式中,值为true的是C
A.x>y||x>zB.z>(y+x)C.x!
=yD.x (x 8.下列修饰符中,定义类头时能使用的修饰符是C A.privateB.staticC.abstractD.protected 9.设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是B A.x(intm){...}B.voidx(intm){...} C.x(intm,intn){...}D.x(inth,intm,intn){...} 10.下列对封装性的描述中,错误的是D A.封装体包含了属性和行为 B.封装使得抽象的数据类型提高了可重用性 C.被封装的某些信息在封装体外是不可见的 D.封装体中的属性和行为的访问权限是相同的 11.下列关于包的描述中,错误的是B A.包是若干个类的集合B.包是一种特殊的类型 C.包是使用package语句创建的D.包有有名包和无名包两种 12.下列关于Applet程序的描述中,错误的是C A.Applet程序的主类必须是Applet类得子类 B.Applet不是完整的独立程序 C.Applet程序的主类中应有一个main()方法 D.Applet的字节码文件必须嵌套在一个HTML文件中 13.下列界面元素中,不是容器的是C A.DialogB.FrameC.ListD.Panel 14.下列关于异常处理的描述中,错误的是D A.程序运行时异常由Java虚拟机自动进行处理 B.使用try-catch-finally语句捕获异常 C.使用throw语句抛出异常 D.捕获到的异常只能在当前方法中处理,不能在其他方法中处理 15.以下方法不属于迭代器(Iterator)接口所定义的方法的是D A.hasNext()B.next()C.remove()D.nextElement() 16.主线程属于(C) A.守护线程B.Thread线程C.用户线程D.Runnable线程 二、填空题 1.三目运算符的3个操作数中,第一个操作数的类型必须是逻辑型的。 2.在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。 3.假设x=13,y=4,则表达式x%y! =0的值是true,其数据类型是布尔型。 4.Java语言中,多态性主要表现在两个方面: 方法重载和成员覆盖。 5.定义类的关键字是class,定义接口的关键字是interface。 6.在Java语言中,通过类的定义只能实现单重继承,但通过接口的定义可以实现 多重继承关系。 7.在Java中字符串包括字符串常量和字符串变量,分别由类String和类StringBuffer来创建对象。 8.Java源程序文件编译后产生的文件称为·class文件,其扩展名为·java。 9.在多线程程序设计中,若要启动一个线程需要调用的函数是start。 10.在Java语言中,系统规定: 表示当前类的构造方法用this,表示直接父类的构造方法用super。 17.Java语言规定标识符是由字母、下划线、数字和美元符号组成的字符序列,长度不限;又规定第一个字符不能是数字,并区分字母的大小写。 18.Java中实现多线程一般使用两种方法,一是Thread,二是Runnable。 19.Java中变量有三要素: 类型、变量名和变量值。 20.Java语言中,说明或声明数组时内存大小,创建数组时内存大小。 21.集合框架提供的Map接口的实现类中,在Map中插入、删除和定位元素,使用HasMap是最好的选择;需要按顺序遍历键,需选择ThereMap。 22.Outputstream类和Inputstream类是所有字节流输入输出类的父类。 23.导入my.package包中的所类的命令是import。 24.构造方法是一种特殊的成员方法,构造方法名与类相同,并且此方法无有返回值。 25.图形用户界面的设计中有事件处理模型处理事件,在该模型中主要包括事件源、 事件对象和事件监听者。 三、判断题 1.Java语言具有较好的安全性和可移植性及与平台无关等特性。 T 2.Java语言的基本数据类型有4种: 整型、浮点型、字符型和布尔型。 T 3.组成JavaApplication的若干类中,有且仅有一个主类,只有主类中含有主方法main。 T 4.数据由高类型转换到低类型时候,采用强制转换,数据精度要受到损失。 T 5.子类所继承父类的成员都可以在子类中访问。 6.静态方法只能处理静态变量。 T 7.抽象方法是一种只有说明而无具体实现的方法。 8.Java语言规定在嵌套的程序块中不允许定义同名的成员变量。 9.Throwable类有两个子类: Error类和Exception类。 前者由系统保留,后者供应用程序使用。 10.运行Applet程序是使用AppletViewer命令运行嵌入了字节码文件的html文件,从而获得运行结果。 11.成员方法的重载和覆盖是同一回事。 12.集合Set是通过键-值对的方式来存储对象的。 13.Java语言是一种强类型语言,数据类型转换有两种: 隐含转换和强制转换。 14.Java语言中,数组在静态和动态赋值时都判越界。 15.Frame容器是有边框的容器,它也是一种独立窗口,只能作为最外层容器。 16.死锁的产生是因为多个线程间存在资源竞争。 1.组成JavaApplication的若干类中,有且仅有一个主类,只有主类中含有主方法main。 () 2.数据由高类型转换到低类型时候,采用强制转换,数据精度要受到损失。 () 3.成员方法的重载和覆盖是同一回事。 () 4.抽象方法是一种只有说明而无具体实现的方法。 () 5.Java2的事件处理方法是采用委托事件处理模型。 () 6.Throwable类有两个子类: Error类和Exception类。 前者由系统保留,后者供应用程序使用。 () 7.运行Applet程序是使用AppletViewer命令运行嵌入了字节码文件的html文件,从而获得运行结果。 8.Java语言具有较好的安全性和可移植性及与平台无关等特性。 () 9.Java语言的基本数据类型有4种: 整型、浮点型、字符型和布尔型。 () 10.子类所继承父类的成员都可以在子类中访问。 () 11.Java语言规定在嵌套的程序块中不允许定义同名的成员变量。 () 12.Java语言采用16位颜色标准。 Java的调色板保证128色。 13.静态方法只能处理静态变量。 () 14.画布(Canvas)是一种可容纳多个组件的容器。 () 15.Java语言是一种强类型语言,数据类型转换有两种: 隐含转换和强制转换。 () 16.Java语言中,数组在静态和动态赋值时都判越界。 () 17.Frame容器是有边框的容器,它也是一种独立窗口,只能作为最外层容器。 () 18.集合Set是通过键-值对的方式来存储对象的。 19.异常处理是在编译时进行的。 () 20.死锁的产生是因为多个线程间存在资源竞争。 () 四、阅读下列程序,请写出程序的输出结果 1. classB{ intb; B(intx){ b=x; System.out.println("b="+b); } } classAextendsB{ inta; A(intx,inty){ super(x); a=y; System.out.println("b="+b+",a="+a); } } publicclassTest{ publicstaticvoidmain(String[]args){ Aobj=newA(13,23); } } 答案 b=13 b=13,a=23 2. publicclassTest1{ publicstaticvoidmain(String[]agrs){ ABs=newAB("Hello! ","IloveJAVA."); System.out.println(s.toString()); } } classAB{ Strings1; Strings2; AB(Stringstr1,Stringstr2){ s1=str1; s2=str2; } publicStringtoString(){ returns1+s2; } } 答案Hello! IloveJAVA. 3.publicclassTest{ publicstaticvoidmain(String[]args){ int[][]num1=newint[2][3]; num1[0][0]=3; num1[0][1]=9; num1[0][2]=60; num1[1][0]=78; num1[1][1]=79; for(inti=0;i<=1;i++){ for(intj=0;j System.out.print(num1[i][j]+"\t"); System.out.println(); } } } 答案 3960 78790 4.publicclassTest{ publicstaticvoidmain(String[]agrs){ inti,s=0; inta[]={10,20,30,40,50,60,70,80,90}; for(i=0;i if(a[i]%3==0){ s+=a[i]; System.out.println("s="+s); } } } 答案 s=30 s=90 s=180 5.publicclassTest3{ publicstaticvoidmain(String[]agrs){ Aa=newA (2);Ab=newA(3); System.out.println(a.isEqualTo(b)); } } classA{ privateintprivateVar; publicA(int_privateVar){privateVar=_privateVar;} booleanisEqualTo(AanotherA){ if(this.privateVar==anotherA.privateVar)returntrue; elsereturnfalse; } } 答案 false 6.publicclassTest{ publicstaticvoidmain(String[]args){ int[][]num1=newint[2][3]; num1[0][0]=3;num1[0][1]=9;num1[0][2]=45; num1[1][0]=78;num1[1][1]=79; for(inti=0;i<=1;i++){ for(intj=0;j System.out.print(num1[i][j]+"\t"); System.out.println(); } int[][]num2=newint[][]{{1,2,3},{7,8},{9}}; for(inti=0;i for(intj=0;j System.out.print(num2[i][j]+"\t"); System.out.println(); } } } 答案 3945 78790 123 78 9 7.publicclassTest2{ publicstaticvoidmain(String[]agrs){ inti,s=0; inta[]={1,2,3,4,5,6,7,8,9}; for(i=0;i if(a[i]%3==0){ s+=a[i]; System.out.println("s="+s); } } } 答案 s=3 s=9 s=18 8.classB{ intb; B(intx){ b=x; System.out.println("b="+b); } } classAextendsB{ inta; A(intx,inty){ super(x); a=y; System.out.println("b="+b+",a="+a); } } publicclassTest{ publicstaticvoidmain(String[]args){ Aobj=newA(5,10); } } 答案 b=5 b=5,a=10 9.publicclassTest4{ publicstaticvoidmain(String[]agrs){ try{ method(); }catch(Exceptione){ System.out.println("A"); }finally{ System.out.println("B"); } } staticvoidmethod(){ try{ wrench(); System.out.println("C"); }catch(ArithmeticExceptione){ System.out.println("D"); }finally{ System.out.println("E"); } System.out.println("F"); } staticvoidwrench(){ thrownewNullPointerException(); } } 答案 E A B 五、阅读程序,回答问题 1. 1: publicclassOutput1{ 2: publicstaticvoidmain(Stringarge[]){ 3: inti=0; 4: for(charch=97;ch<113;ch++,i++){ 5: if(i%8==0) 6: System.out.println(""); 7: System.out.print("\t"+ch); 8: } 9: } 10: } (1)程序第5、6行的if语句的功能是什么? (2)程序输出的结果有几行? 2. 1: importjava.util.Arrays; 2: publicclassSortArray{ 3: publicstaticvoidmain(Stringargs[]){ 4: String[]str={"size","abs","length","class"}; 5: Arrays.sort(str); 6: for(inti=0;i 7: System.out.print(str[i]+""); 8: } 9: } (1)写出程序运行后的结果。 (2)在第4行和5行之间,进行str[0].length()方法调用的返回结果是多少? 3. abstractclassSuperAbstract{ voida(){…} abstractvoidb(); abstractintc(inti); } interfaceAsSuper{ voidx(); } abstractclassSubAbstractextendsSuperAbstractimplementsAsSuper{ publicvoidb(){…} abstractStringf(); } publicclassInheritAbstractextendsSubAbstract{ publicvoidx(){…} publicintc(inti){…} publicStringf(){…} publicstaticvoidmain(Stringargs[]){ InheritAbstractinstance=newInheritAbstract(); instance.x(); instance.a(); instance.b(); instance.c(100); System.out.println(instance.f()); } } 根据以上这段程序,回答问题: (1)哪几个类是抽象类,写出类名。 (2)哪几个类是非抽象类,写出类名。 (3)是否有接口,写出接口名。 4.定义类A和类B如下。 classA{ inta=1; doubled=2.0; voidshow(){ System.out.println("ClassA: a="+a+"\td="+d); } } classBextendsA{ floata=3.0f; Stringd="Javaprogram."; voidshow(){ super.show(); System.out.println("ClassB: a="+a+"\td="+d); } } 若在应用程序的main方法中有以下语句: Aa=newA(); a.show(); 则输出的结果如何? ClassA: a=1d=2.0 5.写出此程序完成的功能。 publicclassSum{ publicstaticvoidmain(Stringargs[]){ doublesum=0.0; for(inti=1;i<=100;i++) sum+=1.0/(double)i; System.out.println("sum="+sum); } } 回答问题: 以上程序完成什么功能? 运行结果是: sum=5.187********9621 6.写出此程序完成的功能。 importjava.io.*; publicclassArrayCount{ publicstaticvoidmain(String[]args){ inti,n=10,sum=0,count=0; inta[]=newint[10]; for(i=0;i try{ BufferedReaderbr=newBufferedReader(new
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象程序设计JAVA语言程序设计 面向 对象 程序设计 JAVA 语言程序设计 期末考试 试题 部分 答案