JAVA语言程序设计期末考试试题及答案.docx
- 文档编号:27264688
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:31
- 大小:29.54KB
JAVA语言程序设计期末考试试题及答案.docx
《JAVA语言程序设计期末考试试题及答案.docx》由会员分享,可在线阅读,更多相关《JAVA语言程序设计期末考试试题及答案.docx(31页珍藏版)》请在冰豆网上搜索。
JAVA语言程序设计期末考试试题及答案
一、单选题:
(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。
1.下列语句序列执行后,k的值是(B)。
intm=3,n=6,k=0;
while((m++)<(--n))++k;
A)0B)1C)2D)3
2.设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是(B)。
A)i=i+2B)a[0]=7;
C)i++---j;D)a(0)=66;
3.Java语言的类间的继承关系是(B)。
A)多重的B)单重的C)线程的D)不能继承
4.设有定义inti=6;,则执行以下语句后,i的值为(C)。
i+=i-1;
A)10B)121C)11D)100
5.下列选项中,用于在定义子类时声明父类名的关键字是(C)。
A)interfaceB)packageC)extendsD)class
6.若已定义byte[]x={11,22,33,-66};
其中OWk<3,则对x数组元素错误的引用是(C)。
A)x[5-3]B)x[k]C)x[k+5]D)x[0]
7.下列语句序列执行后,ch1的值是(B)。
charch1='A',ch2='W';
if(ch1+2 A)'A'B)'B'C)'C'D)B 8.下列语句序列执行后,i的值是(D)。 inti=8,j=16; if(i-1>j)i--;elsej--; A)15B)16C)7D)89.下列语句序列执行后,k的值是(C)。 inti=10,j=18,k=30;switch(j-i) {case8: k++; case9: k+=2; case10: k+=3; default: k/=j; } A)31B)32C)2D)3310.下面语句执行后,i的值是(B)。 for(inti=0,j=1;j<5;j+=3)i=i+j; A)4B)5C)6D)7 11.设有定义floatx=,y=,z=;则以下的表达式中,值为true的是(B) A)x>y||x>zB)x! =y C)z>(y+x)D)x (x 12.下列语句序列执行后,i的值是(D)。 inti=16; do{i/=2;}while(i>3); A)16B)8C)4D)2 13.以下由for语句构成的循环执行的次数是(B) A)有语法错,不能执行B)无限次 C)执行1次D)一次也不执行14.定义类头时能使用的修饰符是(C)。 A)privateB)staticC)abstractD)protected 15.设int型变量a、b,float型变量x、y,char型变量ch均已正确定义并赋值,正确的switch语句是D)。 A)switch(x+y)B)switch(ch+1) {}{} C)switchchD)switch(a+b); {}{} 16.下列最终属性i的定义中,正确的是()。 A)staticfinalinti=100;B)finalinti=; C)finali='w';D)finalchari; 17.下列类定义中,不正确的是(C)。 A)classx{} B)classxextendsy{} C)staticclassximplementsy1,y2{} D)publicclassxextendsApplet{} 18.设x、y为已定义的类名,下列声明x类的对象x1的语句中正确的是()。 A)staticxx1;B)publicxx1=newx(int123); C)yx1;D)xx1=x(); 19.设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是(B) A)x(intm){...}B)voidx(intm){...} C)x(intm,intn){...}D)x(inth,intm,intn){...} 20.下列方法定义中,正确的是(A)。 A)intx(){charch='a';return(int)ch;} B)voidx(){...returntrue;} C)intx(){...returntrue;} D)intx(inta,b){returna+b;} 21.用于定义类成员的访问控制权的一组关键字是(D)。 A)class,float,double,public B)float,boolean,int,long C)char,extends,float,double D)public,private,protected 22.不能构成循环的语句是(C)。 A)for语句B)while语句C)switch语句D)do__while语句 23.下列程序段执行后b3的结果是(D)。 booleanb1=true,b2,b3; 24=b1b1: b2; A)0B)1C)trueD)false 25下面数据结构中,属于非线性的是(B)。 A)线性表B)树C)队列D)堆栈 11.设有定义inti=123;longj=456;下面赋值不正确的语句是(D)。 A)j=i;B)j=(long)i;C)i=(int)j;D)i=j; 二、填空题: (每空1分) 1.构造函数_没__有返回值。 2.Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和 double两种具体类型。 3.创建类对象的运算符是__new。 4.当整型变量n的值不能被13除尽时,其值为false的Java语言表达式是__n%13==0。 5.在Java语言中,所有的数组都有一个lenght属性,这个属性存储了该数组的__元素个数。 6.定义类就是定义一种抽象的父类,它是所有具有一定共性的对象的抽象描 述。 7.在Java语言中,使用__平台无关___、___java虚拟机___等技术,实现软件重用。 8.表达式3/6*5的计算结果是0。 9.下面是一个类的定义: publicclass_intMyclass { intx,y; Myclass(inti,___=0)面是一个JavaApplication的主类的定义,其功能是输出所 有命令行参数。 import.*; publicclassMyClass { publicstaticvoidmain(Stringargs[]) { if(! =_0__)for(inti=0;i<;i++) "i="+i); else没有命令行参数); 11下面是一个小程序的主类myprogram的定义,其中AB是该主类所在源程序中已定义的另两个类的类名: importjavaawt.*; importjavaapplet.*; publicclassmyprogramextendsAppletJava的复合数据类型有: 类、数组和___接口 等。 Java的简单数据类型有: 数值类型(整形和浮点类型),自负类型和布尔类型 13.表达式3/6*5的计算结果是_0。 14.定义初值为10的10次方的长整型变量lvar的语句是: long lvar=1*e10。 15.顺序结构、分支结构(或称选择结构)、__循环结构是结构化程序设计的三种 基本流程控制结构。 16.以下方法m的功能是求两参数之积的整数部分。 intm(floatx,floaty) {k=(int)x*y;} 17.Java源程序文件编译后产生的文件称为字节码文件,其扩展名为。 18.Java和c++都是面向对象的程序设计语言。 四、问答题: (每题5分,) 1.Java的接口和C+啲虚类的相同和不同处。 由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。 与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。 当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是publicstatic,所有方法默认情况下是public.一个类可以实现多个接口。 2.垃圾回收的优点和原理。 并考虑2种回收机制。 Java语言中一个显著的特点就是引入了垃圾回收机制,使C++程序员最头疼的内存管理 的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。 由于有个垃圾回收机制,Java中的对象不再有"作用域"的概念,只有对象的引用才有"作用域"。 垃圾回 收可以有效的防止内存泄露,有效的使用可以使用的内存。 垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。 回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。 3,谈谈final,finally,finalize的区别。 Final-修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。 因此一个类不能既被声明为abstract的,又被声明为final的。 将变量或方法声明为final,可以保证它们在使用中不被改变。 被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。 被声明为final的方法也同样只能使用,不能重载。 Finally-再异常处理时提供finally块来执行任何清除操作。 如果抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块(如果有的话)。 Finalize-方法名。 Java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。 这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。 它是在Object类中定义的,因此所有的类都继承了它。 子类覆盖finalize()方法以整理系统资源或者执行其他清理工作。 finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 4,数组有没有length()这个方法String有没有length()这个方法举例说明使用方法 数组没有length()这个方法,有length的属性。 String有有length()这个方法。 5.Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。 违反语义规则包括2种情况。 一种是JAVA类库内置的语义检查。 例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException.另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。 所有的异常都是的子类。 1、关于Java语言叙述错误的是: (C) A.Java语言具有跨平台性 B.Java是一种面向对象的语言 C.Java语言中的类可以多继承 D.Java的垃圾收集机制自动回收程序已不再使用的对象 2、以下叙述正确的是: (B)的确台a A.构造方法必须是public方法 B.main方法必须是public方法 C.Java应用程序的文件名可以是任意的 D.构造方法应该声明为void类型 3、关于Java中数据类型叙述正确的是: (B) A、整型数据在不同平台下长度不同 B.boolean类型数据只有2个值,true和false C.数组属于简单数据类型 D.Java中的指针类型和C语言的一样 4、设intx=1,floaty=2,则表达式x/y的值是: (D) A.0 B.1 C.2 D.以上都不是 5、以下语句有语法错的是: (A) A.intx=1;y=2;z=3 B.for(intx=10,y=0;x>0;x++); C.while(x>5); D.for(;;); 6、关于类和对象的叙述正确的是: (A) A.Java的类分为两大部分: 系统定义的类和用户自定义的类 B.类的静态属性和全局变量的概念完全一样,只是表达形式不同 C.类的成员至少有一个属性和一个方法 D.类是对象的实例化 7、以下有关构造方法的说法,正确的是: (A) A.一个类的构造方法可以有多个 B.构造方法在类定义时被调用 C.构造方法只能由对象中的其它方法调用 D.构造方法可以和类同名,也可以和类名不同 8、以下有关类的继承的叙述中,正确的是: (D) A.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性 B.子类只能继承父类的方法,不能继承父类的属性 C.子类只能继承父类的非私有属性,不能继承父类的方法 D.子类不能继承父类的私有属性 9、下列属于容器的组件有: (B) A.JButton B.JPane C.Canvas D.JTextArea 10、void的含义: (C) A.方法体为空 B.定义的方法没有形参 C.定义的方法没有返回值 D.方法的返回值不能参加算术运算 11、关于Java中异常的叙述正确的是: (D) B.异常是程序编写过程中代码的逻辑错误 C.异常出现后程序的运行马上中止 D.异常是可以捕获和处理的 12、所有的异常类皆继承哪一个类(C) A. B. C. D. 13、下面哪个不是java语言中的关键字(B) A.long B.sizeof C.instanceof D.const 14、为实现进程之间的通信,需要使用下列那种流才合适(D) A.Datastream B.Filestream C.Bufferedstream D.Pipedstream 15、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口(D) A.ActionListener B.MouseListener C.MouseMotionListern D.ItemListener 二、填空题(每空1分,共20分) 1、面向对象程序设计所具有的基本特征是: ___抽象性___,_封装性___,_继承性__,_多态性__ 2、数组x定义如下 intx[][]=newint[3][2] 则x..length的值为3, x[0].length的值为2。 3、Java中实现多线程一般使用两种方法,一是___继承Thread类,二是实现 Runnable方法 4、Java的图形用户界面设计中,有很多布局管理器用来摆放组件的位置,一般用到的布局管理器有(列出四种即可)__FlowLayout,___GridLayout,__BorderLayout, ___CardLayout 5、Applet常用的方法是: __init()_、__run()__、__stop()__和destroy()。 三、阅读程序,写出程序的输出结果(每题5分,共20分) 1、classA{ privateintprivateVar; A(int_privateVar){ privateVar=_privateVar; } booleanisEqualTo(AanotherA){ if== returntrue; elsereturnfalse; publicclassB{ publicstaticvoidmain(Stringargs[]){ Aa=newA (1); Ab=newA (2); } } 程序的输出结果为: false 2、classA{ doublef(doublex,doubley){ returnx*y; } } classBextendsA{ doublef(doublex,doubley){ returnx+y; } } publicclassTest{ publicstaticvoidmain(Stringargs[]){ Bobj=newB(); "Theprogramoutputis"+(4,6)); } 程序的输出结果为: __Theprogramoutputis10_ 3、publicclassUnchecked{ publicstaticvoidmain(String[]args){try{method(); }catch(Exceptione){ "A"); }finally{ "B"); } } staticvoidmethod(){ try{wrench(); "C"); }catch(ArithmeticExceptione){"D"); }finally{ } staticvoidwrench(){ thrownewNullPointerException(); } } 程序的输出结果为: E A B 4、publicclassTest{ publicstaticvoidmain(String[]args){intx; inta[]={0,0,0,0,0,0}; calculate(a,a[5]); "thevalueofa[0]is"+a[0]); "thevalueisa[5]is"+a[5]); } staticintcalculate(intx[],inty){ for(inti=1;i<;i++) if(y< x[i]=x[i-1]+1; returnx[0]; } } 程序的输出结果为: thevalueofa[0]is0 thevalueisa[5]is5 1.下面哪些是short型的取值范围[C] A.-27-27-1 B.0-216-1 C.-215-215-1 D.-231-231-1 2.下面哪些是合法的标识符[ABE] A.$persons B.TwoUsers C.*point D.this E._endline 3.哪些是将一个十六进制值赋值给一个long型变量[D] A.longnumber=345L; B.longnumber=0345; C.longnumber=0345L; D.longnumber=0x345L; 6.当Frame的大小被改变时,Frame中的按钮的位置也可能被改变,请问此时使用的是什么 布局管理器[B] A.BorderLayout B.FlowLayout C.CardLayout D.GridLayout 8.下面的哪些答案可以用以表示八进制值8[A] A.010 B.0x10 C.08 D.0x8 9.哪些不是Java关键字[AB] A.TRUE B.sizeof C.const D.super E.void 10.下面的哪些叙述为真。 [AD] A.equals()方法判定引用值是否指向同一对象。 ==操作符判定两个分立的对象的内容和类型是否一致。 C.equals()方法只有在两个对象的内容一致时返回true。 D.类File重写方法equals()在两个分立的对象的内容和类型一致时返回true。 下面关于继承的哪些叙述是正确的。 [AD] A.在java中只允许单一继承。 B.在java中一个类只能实现一个接口。 C.在java中一个类不能同时继承一个类和实现一个接口。 D.java的单一继承使代码更可靠。 12.第十行的声明将调用哪些方法.[D] 1classPerson{ 2publicvoidprintValue(inti,intj){} 3publicvoidprintValue(inti){} 4} 5publicclassTeacherextendsPerson{ 6publicvoidprintValue(){} 7publicvoidprintValue(inti){} 8publicstaticvoidmain(Stringargs[]){ 9Persont=newTeacher(); 10(10); 11} 12} A.第2行的方法 B.第3行的方法 C.第6行的方法 D.第7行的方法 13.下面哪些不是java的原始数据类型[BC] A.short B.Boolean C.unit D.float 14. [B] 下面的哪些关键字通常用来对对象的加锁,该标记使得对对象的访问是排他的 A.transient B.synchronized C.serializ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 语言程序设计 期末考试 试题 答案