《JAVA语言程序设计》期末考试试题及答案1.pdf
《《JAVA语言程序设计》期末考试试题及答案1.pdf》由会员分享,可在线阅读,更多相关《《JAVA语言程序设计》期末考试试题及答案1.pdf(46页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、JAVA语言程序设计考试试题及部分答案一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。1.下列语句序列执行后,k的值是(B)。int m=3,n=6,k=0;while(m+)(n)+k;A)0 B)1 C)2 D)32.设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是(B)。A)i =i +2 B)a0=7;C)i+j;D)a(0)=66;3.Java语言的类间的继承关系是(B)。A)多重的B)单重的C)线程的D)不能继承4.设有定义int i =6 则执行以下语句后,i的值为(C)。i
2、+=i -1;A)10 B)121 C)11 D)1005.下列选项中,用于在定义子类时声明父类名的关键字是(C)。A)interface B)package C)extends D)class6.若已定义 byte x=11,22,33,-66);其中0 4 k 4 3,则对x数组元素错误的引用是(C)。A)x 5-3 B)x k C)x k+5 D)x 07.下列语句序列执行后,c h i的值是(B)。char chl=A,ch2=W;if(chi+2 j)i-;else j;A)15 B)16 C)7 D)89.下列语句序列执行后,k的值是(C)。i n t i=1 0,j=1 8,k=
3、30;swi tch(j -i )case 8 :k+;case 9 :k+=2;case 1 0:k+=3;default:k/=j;)A)3 1 B)3 2 C)2 D)3 310.下面语句执行后,i的值是(B)。for(i n t i=0,j=l;j y|x z B)x !=yC)z (y +x )D)x y&!(x 3 );A)1 6 B)8 C)4 D)213.以 下 由for语句构成的循环执行的次数是(B)。for(i n t i =0;true;i+);A)有语法错,不 能 执 行B)无限次0执 行1次D)一次也不执行14.定义类头时能使用的修饰符是(C )。A)private
4、B)static C)abstract D)protected15.设int型 变 量a、b,float型 变 量x、y,char型 变 量ch均已正确定义并赋值,正确的s w i tch语句是D)。A)switch(x +y)B)switch(ch+1 )C)swi tch chD)switch(a+b);1 6.下列最终属性i的定义中,正 确 的 是()。A)static final int i=100;B)final int i=l.2;C)final i=,w,;D)final char i;17.下列类定义中,不正确的是(C)。A)class x .B)class x extends
5、 y .C)static class x implements yl,y2 .D)public class x extends Applet .18.设x、y为已定义的类名,下列声明x类的对象x l的语句中正确的是()。A)static x xl;B)publ ic x xl=new x(int 123);C)y xl;D)x xl=x();1 9.设i、j、k为 类x中定义的i n t型变量名,下列类x的构造函数中不正确的是(B)。A)x(int m).B)void x(int m).C)x(int m,int n).D)x(int h,int m,int n).20.下列方法定义中,正确的
6、是(A)。A)int x()char ch=z a;return(int)ch;B)void x().return true;C)int x().return true;D)int x(int a,b)return a+b;21.用于定义类成员的访问控制权的一组关键字是(D)。A)class,float,double,publicB)float,boolean,int,longC)char,extends,float,doubleD)public,private,protected22.不能构成循环的语句是(C)。A)for 语句 B)while 语句 C)switch 语句 D)do_whi
7、le 语句2 3.下列程序段执行后b 3 的结果是(D )。boolean bl=true,b2,b3;24=bl?bl:b2;A)0 B)1 C)true D)false2 5 下面数据结构中,属于非线性的是(B )。A)线性表B)树 C)队 列 D)堆栈1 1.设有定义int i=123;long j=456;下面赋值不正确的语句是(D )。A)j=i;B)j=(long)i;C)i=(int)j;D)i=j;二、填空题:(每空1分)1.构造函数-没有返回值。2.Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和 _ _ _ double-两种具体类型。3.
8、创建类对象的运算符是new.4.当整型变量n 的值不能被1 3 除尽时,其 值 为 f a ls e 的 Jav a语言表达式是-n%13=0-。5.在 Java语言中,所有的数组都有一个lenght属性,这个属性存储了该数组的一元素个数。6.定义类就是定义一种抽象的-父类-,它是所有具有一定共性的对象的抽象描述。7.在 Java语言中,使用一平台无关-java虚拟机一一等技术,实现软件重用。8.表达式3/6*5 的计算结果是 0。9.下面是一个类的定义:public class-int Myclass-(int x,y;Myclass(int i,=0-)/构造函数x=i;y=j;)10.下
9、面是一个Java A pplication的主类的定义,其功能是输出所有命令行参数。import java.io.*;public class MyClass(public static void main(String args)(if(args.length!=_0_)for(int i=0;i args,length;i+)System,out.print In(_n i=n+i_);else System,out.print In(没有命令行参数);)11下面是一个小程序的主类myprogram的定义,其中A、B是该主类所在源程序中已定义的另两个类的类名:import java awt
10、.*;import java applet.*;public class myprogram extends Applet/定义小程序的主类(A a;B b;p u b lic_ myprogram_ init()a=new A ();b=_ new_ B();)12.Java的复合数据类型有:类、数组和一接口 _ 等。Java的简单数据类型有:数值类型(整形和浮点类型),自负类型和布尔类型13.表达式3/6*5 的计算结果是一0_。14.定 义 初 值 为 1 0 的 1 0 次 方 的 长 整 型 变 量 I v a r 的语句是:-long1 var=l*el0_。15.顺序结构、分支结
11、构(或称选择结构)、一循环结构-是结构化程序设计的三种基本流程控制结构。1 6.以下方法m的功能是求两参数之积的整数部分。int m(float x,float y)_k=(int)x*y_;17.-J a v a源程序文件编译后产生的文件称为一一字节码一一文件,其扩展名为-class_o18.Java和C+都是面向对象的程序设计语言。三、程序分析:(每题4分)1.下面是一个排序的程序:import java.io.*;public class Test56_Sort(public static void main(String args)(int a=42,99,5,63,95,36,2,6
12、9,200,96);System,out.printin(排序前的数据序列:);ShowArray(a);Sort(a);System.out.print In(排序后的数据序列:);ShowArray(a);public static void Sort(int x)(int w;for(int i=l;ix.length;i+)(for(int j=0;jxj+l)w=x j;xj=xj+l;xj+l=w;/*if(i=l|i=2)ShowArray(x);if(i=2)break;*/)public static void ShowArray(int b)(for(int i=0;ib.
13、length;i+)System,out.print(bi+i+=+bi);System,out.print In();)问题:如果将方法S o rt()中的一对注释符(/*/)去掉,程序输出的结果是什么?排序前的数据序列:b0=42b1=99b2=5b3=63b4=95b5=36b6=2b7=69b 8=200b 9=96b 0=42b 1=5b 2=63b 3=95b 4=36b 5=2b 6=69b 7=99b 8=96b 9=200b0=5bl=42b2=63b3=36b4=2b5=69b6=95b7=96b8=99b9=200排序后的数据序列:b 0=5b 1=42b 2=63b 3
14、=36b 4=2b 5=69b 6=95b 7=96b 8=99b 9=2002.请写下程序的输出结果:public class Test52(String strl=,Hel lo,Java world!tH;String str2=nHello,students!H;public static void main(String args)(System,out.print(stri);System.out.print In(str2);)输出结果:3.请写下程序的输出结果:public class T2_4 p u b l i c s t a t i c v o i d m a i n (
15、S t r i n g a r g s)i n t i,j;c h a r c=,*;f o r (i=0;i 5;i+)(f o r (j=0;j y;S y s t e m.o u t.p r i n t I n (nx y=n+f l a g);f l a g=z w;S y s t e m,o u t.p r i n t I n(z w=+f l a g);)四、问答题:(每 题5分,)1.Java的接口和C+的虚类的相同和不同处。由 于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因
16、为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是public s ta tic,所有方法默认情况下是public.一个类可以实现多个接口。2.垃圾回收的优点和原理。并考虑2种回收机制。Java语言中一个显著的特点就是引入了垃圾回收机制,使C+程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Ja v a中的对象不再有作用域的概念,只有对象的引用才有作用域。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程
17、运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。3,谈谈 final,final ly,finalize 的区别。F in a l-修 饰 符(关键字)如果一个类被声明为f in a l,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为fin a l的。将变量或方法声明为f in a l,可以保证它们在使用中不被改变。被声明为fin a l的变量必须在声明时给定初值,而在以后的引用中只能
18、读取,不可修改。被声明为fin a l的方法也同样只能使用,不能重载。F in ally-再异常处理时提供fin a lly块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入fin a lly块(如果有的话).F in alize-方法名。Jav a技术允许使用f inal ize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它 是 在O bject类中定义的,因此所有的类都继承了它。子 类 覆 盖finalize()方法以整理系统资源或者执行其他清理工作。finali
19、ze()方法是在垃圾收集器删除对象之前对这个对象调用的。4,数组有没有l e n g t h ()这个方法?S t r i n g有没有l e n g t h ()这个方法?举例说明使用方法?数组没有l e n g t h ()这个方法,有l e n g t h的属性。S t r i n g有有l e n g t h ()这个方法。5.J a v a中的异常处理机制的简单原理和应用。当J A V A程序违反了 J A V A的语义规则时,J A V A虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是J A V A类库内置的语义检查。例如数组下标越界,会 引 发I n d
20、e x O u t O f B o u n d s E x c e p t i o n;访 问n u l 1的对象时会引发N u l I P o i n t e r E x c e p t i o n.另一种情况就是J A V A允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用t h r o w关键字引发异常。所有的异常都是 j a v a.l a n g.T h o w a b l e 的子类。五、程序设计:(每题1 1分,共3 3分)1、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如 我A B C 4
21、,应该截为 我A B ,输入 我A B C汉D E F ,6,应该输出为 我A B C而不是 我A B C+汉的半个。2、编程求解:所有两位整数能被3整除的数的和,以及不能被3整除的数的各位数字之和。3、设计一个程序求解e的值。精度达到L O e-6,4、请设计一个对N个数进行排序的程序一、选择题(每道题只有一个正确答案,每小题2分,共3 0分)1 5道题1、关于Ja v a语言叙述错误的是:(C)A.Ja v a语言具有跨平台性B.Ja v a是一种面向对象的语言C.Ja v a语言中的类可以多继承D.Ja v a的垃圾收集机制自动回收程序已不再使用的对象2、以下叙述正确的是:(B )的确台
22、aA.构造方法必须是p u b l i c方法B.m a i n方法必须是p u b l i c方法C.Ja v a应用程序的文件名可以是任意的D.构造方法应该声明为v o i d类型3、关于Ja v a中数据类型叙述正确的是:(B )A、整型数据在不同平台下长度不同B.b o o l e a n类型数据只有2个值,t r u e和f a l s eC.数组属于简单数据类型D.Ja v a中的指针类型和C语言的一样4、设 i n t x=l,f l o a t y=2,则表达式 x /y 的值是:(D )A.0B.1C.2D.以上都不是5、以下语句有语法错的是:(A )A.i n t x=l;
23、y=2;z=3B.f o r (i n t x=l 0,y=0;x 0;x+);C.w h i l e (x 5);D.f o r(;);6、关于类和对象的叙述正确的是:(A )A.Ja v a的类分为两大部分:系统定义的类和用户自定义的类B.类的静态属性和全局变量的概念完全一样,只是表达形式不同C.类的成员至少有一个属性和一个方法D.类是对象的实例化7、以下有关构造方法的说法,正确的是:(A )A.一个类的构造方法可以有多个B.构造方法在类定义时被调用C.构造方法只能由对象中的其它方法调用D.构造方法可以和类同名,也可以和类名不同8、以下有关类的继承的叙述中,正确的是:(D )A.子类能直接
24、继承父类所有的非私有属性,也可通过接口继承父类的私有属性B.子类只能继承父类的方法,不能继承父类的属性C.子类只能继承父类的非私有属性,不能继承父类的方法D.子类不能继承父类的私有属性9、下列属于容器的组件有:(B )A.JButtonB.JPaneC.CanvasD.JTextArea10、void 的含义:(C )A.方法体为空B.定义的方法没有形参C.定义的方法没有返回值D.方法的返回值不能参加算术运算11、关于Java中异常的叙述正确的是:(D )A.异常是程序编写过程中代码的语法错误B.异常是程序编写过程中代码的逻辑错误C.异常出现后程序的运行马上中止D.异常是可以捕获和处理的12、
25、所有的异常类皆继承哪一个类?(C )A.java.io.ExceptionB.java.lang.ThrowableC.java.lang.ExceptionD.java.lang.Error13、下面哪个不是java语言中的关键字?(B )A.longB.sizeofC.instanceofD.const14、为实现进程之间的通信,需要使用下列那种流才合适?(D)A.Data streamB.File streamC.Buffered streamD.Piped stream15、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?(D)A.ActionListenerB.Mo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA语言程序设计 JAVA 语言程序设计 期末考试 试题 答案
限制150内