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