JAVA语言程序设计期末考试试题和答案.pdf





《JAVA语言程序设计期末考试试题和答案.pdf》由会员分享,可在线阅读,更多相关《JAVA语言程序设计期末考试试题和答案.pdf(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、JAV A语言程序设计考试试题及部分答案一、单选题:(每题1 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号。1 .下列语句序列执行后,k的值是(B)0int m=3,n=6,k=0;w h il e(m+)(一 n)+k;A)0 B)1 C)2 D)32 .设 i、j为 int 型变量名,a为 int 型数组名,以下选项中,正确的赋值语句是(B)。A)i =i+2 B)a 0 =7;C)i+j;D)a(0)=66;3 .Ja v a 语言的类间的继承关系是(B)。A)多重的B)单重的C)线程的D)不能继承4 .设有定义int i=6 则
2、执行以下语句后,i 的值为(C)i +=i -1;A)1 0 B)1 2 1 C)1 1 D)1 0 05 .下列选项中,用于在定义子类时声明父类名的关键字是(C)。A)int e r f a c e B)p a c k a g e C)e x t e nd s D)c l a s s6.若已定义 b yt e x=1 1,2 2,3 3,-66);其中0 W k W 3,则对x 数组元素错误的引用是(C)oA)x 5-3 B)x k C)x k+5 D)x 0 7.下列语句序列执行后,c h i的值是(B)。c h a r c h l=,A,c h 2=W ;if (c h i+2 j )i
3、-;e l s e j;A)1 5 B)1 6 C)7 D)89 .下列语句序列执行后,k的值是(C)oint i=10,j=18,k=30;switch(j-i)case 8:k+;case 9:k+=2;case 10:k+=3;default:k/=j;)A)31 B)32 C)2 D)3310.下面语句执行后,i 的值是(B)。for(int i=0,j=l;j y|x z B)x!=yC)z (y+x)D)x y&!(x 3);A)16 B)8 C)4 D)213.以下由for语句构成的循环执行的次数是(B)。for(int i =0;true;i+);A)有语法错,不能执行B)无限
4、次0执行1次 D)一次也不执行14.定义类头时能使用的修饰符是(C)。A)private B)static C)abstract D)protected15.设 int型变量a、b,float型变量x、y,char型变量c h 均已正确定义并赋值,正确的switch语句是D)oA)switch(x+y)B)switch(ch+1 )C)switch ch D)switch(a+b);16.下列最终属性i 的定义中,正 确 的 是()oA)static final int i=100;B)final int i=l.2;C)final i=w;D)final char i;17.下列类定义中,不
5、正确的是(C)oA)class x .B)class x extends y .C)static class x implements yl,y2 .D)public class x extends Applet .18.设 x、y 为已定义的类名,下列声明x 类的对象xl的语句中正确的是()oA)static x xl;B)public x xl=new x(int 123);C)y xl;D)x xl=x();19.设 i、j、k 为 类 x 中定义的int型变量名,下列类x 的构造函数中不正确的是(B)oA)x(int m).B)void x(int m).C)x(int m,int n
6、).D)x(int h,int m,int n).20.下列方法定义中,正确的是(A)oA)int x()char ch=,a,;return(int)ch;B)void x().return true;C)int x().return true;D)int x(int a,b)return a+b;21.用于定义类成员的访问控制权的一组关键字是(DA)class,float,double,publicB)float,boolean,int,longC)char,extends,float,doubleD)public,private,protected22.不能构成循环的语句是(CA)for
7、 语句 B)while 语句 C)switch 语句 D)do_ while 语句23.下列程序段执行后b 3 的结果是(D)ob ool e a n b l=t r u e,b 2,b 3;2 4=b l?b l :b 2;A)0 B)1 C)t r u e D)f a l s e2 5 下面数据结构中,属于非线性的是(B)0A)线性表B)树 C)队 列 D)堆栈1 1.设有定义int i=1 2 3;l ong j=4 5 6;下面赋值不正确的语句是(D)A)j=i;B)j=(l ong)i;C)i=(int)j;D)i=j;二、填空题:(每空1 分)1 .构造函数_ 没有返回值。2 .J
8、a v a 语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为f l oa t和 d ou b l e 两种具体类型。3 .创建类对象的运算符是 ne w o4 .当整型变量n 的值不能被1 3 除尽时,其 值 为 f a l s e 的 Ja v a 语言表达式是_n%1 3=0 o5 .在 Ja v a 语言中,所有的数组都有一个l e ng h t 属性,这个属性存储了该数组的元素个数。6.定义类就是定义一种抽象的 父类,它是所有具有一定共性的对象的抽象描述。7.在 Ja v a 语言中,使用_ 平 台无关、j a v a 虚拟机一等技术,实现软件重用。8.表达式3/6*5的
9、计算结果是0 o9.下面是一个类的定义:p u b l ic c l a s s _ int Myc l a s s(int x,y;Myc l a s s (int i,_ _ _=0 _ _ _ _)/构造函数(x=i;y=j;1 0.下面是一个Ja v a Ap p l ic a t ion的主类的定义,其功能是输出所有命令行参数。i m p or t j av a.i o.p ub l i c c l ass M y C l ass(p ub l i c stati c v oi d m ai n(Str i n g ar g s )(i f(ar g s,l en g th !=_
10、0_)f or(i n t i=0;i ar g s,l en g th;i+)Sy stem,out.print ln(_ i=+i);el se Sy stem.out.p r i n ti n (没有命令行参数);)11下面是一个小程序的主类m y p r og r am 的定义,其中A、B 是该主类所在源程序中已定义的另两个类的类名:i m p or t j av a aw t.*;i m p or t j av a ap p l et.*;p ub l i c c l ass m y p r og r am ex ten d s A p p l et定义小程序的主类(A a;B b;
11、p ub l i c _ _ _ _ _ m y p r og r am _ _ _ i n i t()a=n ew A();b=_ _ n ew _ B();)12.J av a的复合数据类型有:类、数组和_ _ 接口等。J av a的简单数据类型有:数值类型(整形和浮点类型),自负类型和布尔类型13.表达式3/6*5 的计算结果是_0 014.定 义 初 值 为 1 0 的 1 0 次 方 的 长 整 型 变 量 I v ar 的语句是:l on g1 v ar=l*el 0。15.顺序结构、分支结构(或称选择结构)、循环结构 是结构化程序设计的三种基本流程控制结构。16.以下方法m的功能
12、是求两参数之积的整数部分。int m(float x,float y)k=(int)x*y;17.Java源程序文件编译后产生的文件称为字节码_.c l a s s 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,69,200,96);System,out.printin(排序前的数据序列:);ShowArray(a);Sort(a);S
13、ystem.out.printin(排序后的数据序列:);ShowArray(a);)public static void Sort(int x)(int w;for(int i=l;ix.length;i+)(for(int j=0;jxj+l)W=xj;xj=xj+l;xj+l=w;/*if(i=l|i=2)ShowArray(x);文件,其扩展名为if(i=2)break;*/p ub l i c stati c v oi d Sh ow A r r ay(i n t b )f or(i n t i=0;i 99b 2 =5b 3 =63b 4 95b 5 =36b 6 2b 7 =69
14、b 8 =200b 9 =96b 0=42b l =5b 2=63b 3=95b 4=36b 5=2b 6=69b 7=99b 8=96b 9=200b 0=5b l =42b 2=63b 3=36b 4=2b 5=69b 6=95b 7=96b 8=99b 9=200排序后的数据序列:b 0=5b l =42b 2=63b 3=36b 4=2b 5=69b 6=95b 7=96b 8=99b 9=2002.请写下程序的输出结果:p ub l i c c l ass T est52(Str i n g str l=,H el l o,J av a w or l d!t”;Str i n g s
15、tr 2=,H el l o,stud en ts!,;p ub l i c stati c v oi d m ai n(Str i n g ar g s )(Sy stem,out.p r i n t(str l);Sy stem,out.p r i n tl n(str 2);)输出结果:3.请写下程序的输出结果:p ub l i c c l ass T 2_ 4 p ub l i c stati c v oi d m ai n(Str i n g ar g s)i n t i,j;c h ar c=*,;f or (i=0;i 5;i+)(f or(j=0;j y;Sy stem,out
16、.p r i n ti n(x y=+f l ag);f l ag=z w;Sy stem.out.p r i n ti n (,zz w=,z+f l ag);四、问答题:(每 题5分,)1.J av a的接口和C+的虚类的相同和不同处。由于J av a不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是p u b l i c s t at i c,所有方法默认情况下是p u b l
17、 i c.一个类可以实现多个接口。2 .垃圾回收的优点和原理。并考虑2种回收机制。J av a语言中一个显著的特点就是引入了垃圾回收机制,使C+程序员最头疼的存管理的问题迎刃而解,它使得J av a程序员在编写程序的时候不再需要考虑存管理。由于有个垃圾回收机制,J av a中的对象不再有 作用域”的概念,只有对象的引用才有“作用域垃圾回收可以有效的防止存泄露,有效的使用可以使用的存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和
18、标记垃圾回收,增量垃圾回收。3 ,谈谈 f i n al,f i n al l y,f i n al i z e 的区别。F i n al 一修 饰 符(关键字)如果一个类被声明为f i n al,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为ab s t r ac t的,又被声明 为f i n al的。将变量或方法声明为f i n al,可以保证它们在使用中不被改变。被声明为f i n al的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为f i n al的方法也同样只能使用,不能重载。F i n al l y 一再异常处理时提供f i n
19、al l y块来执行任何清除操作。如果抛出一个异常,那么相匹配的c at c h子句就会执行,然后控制就会进入f i n al l y块(如果有的话)。F i n al i z e 一方法名。J av a技术允许使用f i n al i z e()方法在垃圾收集器将对象从存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它 是 在O b jec t类中定义的,因此所有的类都继承了它。子 类 覆 盖f i n al i z e()方法以整理系统资源或者执行其他清理工作。f i n a l i zeO方法是在垃圾收集器删除对象之前对这个对象调用的。
20、4,数组有没有l e n g th ()这个方法?S tri n g 有没有l e n g th ()这个方法?举例说明使用方法?数组没有l e n g th ()这个方法,有 l e n g th 的属性。S tri n g 有有l e n g th ()这个方法。5.J a va 中的异常处理机制的简单原理和应用。当 J A V A 程序违反了 J A V A 的语义规则时,J A V A 虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2 种情况。一种是J A V A 类库置的语义检查。例如数组下标越界,会 引 发 In d e xO utO f B o un d sE xce p
21、 ti o n ;访 问 n ul l 的对象时会引发N ul l P o i n te rE xce p ti o n.另一一种情况就是J A V A 允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用th ro w关键字引发异常。所有的异常都是 j a va.l a n g.T h o wa b l e 的子类。五、程序设计:(每题1 1 分,共 3 3 分)1、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如我A B C 4,应该截为我A B ,输入“我 A B C 汉 D E F”,6,应该输出为我A
22、 B C 而不是我A B C+汉的半个2、编程求解:所有两位整数能被3 整除的数的和,以及不能被3整除的数的各位数字之和。3、设计一个程序求解e的值。精度达到1.0 e-6,4、请设计一个对N个数进行排序的程序一、选择题(每道题只有一个正确答案,每小题2 分,共 3 0 分)1 5 道题1、关于J a va 语言叙述错误的是:(C )A.J a va 语言具有跨平台性B.J a va 是一种面向对象的语言C.J a va 语言中的类可以多继承D.J a va 的垃圾收集机制自动回收程序已不再使用的对象2、以下叙述正确的是:(B )的确台aA.构造方法必须是p ub l i c方法B.m a i
23、 n 方法必须是p ub l i c方法C.J a va 应用程序的文件名可以是任意的D.构造方法应该声明为vo i d 类型3、关于J a va 中数据类型叙述正确的是:(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;y=2;z=3B.f o r (i n t x
24、=1 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.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的
25、私有属性B.子类只能继承父类的方法,不能继承父类的属性C.子类只能继承父类的非私有属性,不能继承父类的方法D.子类不能继承父类的私有属性9、下列属于容器的组件有:(B )A.JB u t t o nB.JPa n eC.C a n v a sD.JTe x t Ar e a1 0、v o i d 的含义:(C )A.方法体为空B.定义的方法没有形参C.定义的方法没有返回值D.方法的返回值不能参加算术运算1 1、关于Ja v a 中异常的叙述正确的是:(D )A.异常是程序编写过程中代码的语法错误B.异常是程序编写过程中代码的逻辑错误C.异常出现后程序的运行马上中止D.异常是可以捕获和处理的1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 语言程序设计 期末考试 试题 答案

限制150内