JAVA语言程序设计期末考试试题及答案_第1页
JAVA语言程序设计期末考试试题及答案_第2页
JAVA语言程序设计期末考试试题及答案_第3页
JAVA语言程序设计期末考试试题及答案_第4页
JAVA语言程序设计期末考试试题及答案_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、;.java 语言程序设计考试试题及部分答案一、单选题:(每题1 分)下列各题a)、 b)、 c)、 d)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。1下列语句序列执行后,k 的值是 ( b)。int m=3, n=6, k=0;while( (m+) ( - n) ) +k;a) 0b) 1c) 2d) 32设 i 、j 为 int型变量名,a 为 int型数组名,以下选项中,正确的赋值语句是 ( b ) 。a) i = i + 2b) a0 = 7;c) i+ - -j;d) a(0) = 66;3 java 语言的类间的继承关系是( b )。a) 多重的 b)

2、单重的 c)线程的 d)不能继承4设有定义 int i = 6 ;,则执行以下语句后, i的值为 ( c ) 。i += 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 ;其中 0k3,则对 x 数组元素错误的引用是 ( c ) 。a) x5-3 b) xk c) xk+5 d) x07下列语句序列执行后,ch1 的值是 ( b )。char ch1=a,ch2=w;if(ch1

3、 + 2 j ) i-; else j-;a) 15 b) 16 c) 7 d) 8;.;.9下列语句序列执行后,k 的值是 ( c ) 。int 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=1; j y | x zb) x != yc) z ( y + x )d) x y & ! ( x 3 );a) 16 b) 8 c) 4 d) 213以下

4、由 for语句构成的循环执行的次数是( b )。for ( int i = 0; true ; i+) ;a) 有语法错,不能执行b)无限次c) 执行 1 次 d) 一次也不执行14定义类头时能使用的修饰符是(c)。a) private b) static c) abstract d) protected15设 int型变量 a 、b,float型变量 x 、 y,char型变量 ch均已正确定义并赋值,正确的 switch 语句是 d ) 。a) switch (x + y) b) switch ( ch + 1 );.;. . . c) switch chd) switch ( a + b

5、 ); . . 16. 下列最终属性 i 的定义中,正确的是 ( ) 。a) static final int i=100; b) final int i=1.2;c) final i=w; d) final char i;17. 下列类定义中,不正确的是(c)。a) class x . b) class x extends y . c) static class x implements y1,y2 . d) public class x extends applet . 18. 设 x 、 y 为已定义的类名,下列声明x 类的对象 x1 的语句中正确的是 ()。a) static x x1

6、; b) public x x1=new x(int 123);c) y x1; d) x x1=x( );19. 设 i 、j 、k 为类 x 中定义的 int 型变量名,下列类 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) int x( ) .ret

7、urn 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_while语句;.;.23. 下列程序段执行后 b3 的结果是 ( d ) 。boolean

8、b1=true, b2, b3;24= b1 ? b1 : b2;a) 0 b) 1 c) true d) false25 下面数据结构中,属于非线性的是( b )。a) 线性表 b) 树 c) 队列 d) 堆栈11. 设有定义 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. 创建类对象的

9、运算符是 _ new。4. 当整型变量 n 的值不能被 13 除尽时,其值为 false 的 java 语言表达式是_n%13=0_。5. 在 java 语言中,所有的数组都有一个 lenght 属性,这个属性存储了该数组的 _元素个数。6. 定义类就是定义一种抽象的 _父类 _,它是所有具有一定共性的对象的抽象描述。7. 在 java 语言中,使用 _平台无关 _、_java 虚拟机 _等技术,实现软件重用。8. 表达式 3/6 * 5 的计算结果是 _0_ 。9. 下面是一个类的定义 :public class _intmyclass_int x, y;myclass ( int i, _

10、=0_) /构造函数x=i;y=j;.;.10. 下面是一个 java application的主类的定义,其功能是输出所有命令行参数。import java.io.*;public class myclasspublic static void main(string args )if( args.length !=_0_)for(int i=0; i args.length; i+)system.out.println(_i=+i_);else system.out.println(没有命令行参数 );11 下面是一个小程序的主类myprogram的定义 ,其中 a、b 是该主类所在源程序

11、中已定义的另两个类的类名 :import java awt.*;import java applet.*;public class myprogram extends applet/定义小程序的主类a a; b b;public _ myprogram _ init( ) a=new a( ) ; b=_new_ b( ); 12. java 的复合数据类型有 : 类、数组和 _接口 _等。java 的简单数据类型有 :数值类型(整形和浮点类型) ,自负类型和布尔类型13.表达式 3/6 * 5的计算结果是 _0_ 。14.定义初值 为 10的 10 次方 的长整型 变量 lvar的 语句 是

12、: _longlvar=1*e10_ 。15. 顺序结构、分支结构 ( 或称选择结构 ) 、_循环结构 _是结构化程序设计的三种基本流程控制结构。;.;.16. 以下方法 m 的功能是求两参数之积的整数部分。int m ( float x, float y ) _k=(int)x*y_; 17. java源程序文件编译后产生的文件称为_字节码 _文件 , 其扩展名为_.class_。18java 和 c+ 都是面向对象的程序设计语言。三、程序分析:(每题 4 分)1.下面是一个排序的程序 :import java.io.*;public class test56_sortpublic stat

13、ic void main(string args )int a=42,99,5,63,95,36,2,69,200,96;system.out.println(排序前的数据序列 :);showarray(a);sort(a);system.out.println(排序后的数据序列 :);showarray(a);public static void sort(int x)int w;for(int i=1; ix.length; i+)for(int j=0; jxj+1) w=xj; xj=xj+1; xj+1=w; /* if(i=1|i=2) showarray(x); if(i=2)

14、break; */;.;.public static void showarray(int b)for(int i=0; ib.length; i+)system.out.print(bi+i+= +bi);system.out.println( );问题: 如果将方法 sort() 中的一对注释符( /* */ )去掉,程序输出的结果是什么?排序前的数据序列 :b0=42b1=99b2=5b3=63b4=95b5=36b6=2b7=69b8=200b9=96b0=42b1=5b2=63b3=95b4=36b5=2b6=69b7=99b8=96b9=200b0=5b1=42b2=63b3=36

15、b4=2b5=69b6=95b7=96b8=99b9=200排序后的数据序列 :b0=5b1=42b2=63b3=36b4=2b5=69b6=95b7=96b8=99b9=2002. 请写下程序的输出结果:public class test52string str1=hello, java world! t;string str2=hello, students! ;public static void main(string args)system.out.print(str1);system.out.println(str2);输出结果:3. 请写下程序的输出结果:public class

16、 t2_4 ;.;.public static void main(string args)int i,j;char c=*;for(i=0;i5;i+)for(j=0;jy;system.out.println(xy=+flag);flag=zw;system.out.println(zw=+flag);.;.四、问答题:(每题 5 分,)1. java 的接口和 c+的虚类的相同和不同处。由于 java 不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性, 现有的单继承机制就不能满足要求。 与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。 当一个类实现了

17、接口以后, 该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是 public static ,所有方法默认情况下是 public. 一个类可以实现多个接口。2. 垃圾回收的优点和原理。并考虑 2 种回收机制。java 语言中一个显著的特点就是引入了垃圾回收机制, 使 c+程序员最头疼的内存管理的问题迎刃而解,它使得 java 程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制, java 中的对象不再有 作用域 的概念,只有对象的引用才有 作用域 。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行, 不

18、可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收, 程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。 回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。3,谈谈 final, finally, finalize的区别。final 修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为 final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为 final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为 fi

19、nal的方法也同样只能使用,不能重载。finally再异常处理时提供finally块来执行任何清除操作。 如果抛出一个异常,那么相匹配的 catch子句就会执行, 然后控制就会进入finally块(如果有的话)。finalize 方法名。 java 技术允许使用 finalize ()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。 这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。 它是在 object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize () 方法以整理系统资源或者执行其他清理工作。 finalize;.;.()方法是在垃圾收集器删除

20、对象之前对这个对象调用的。4,数组有没有 length ()这个方法? string有没有 length ()这个方法?举例说明使用方法?数组没有 length ()这个方法,有length的属性。string有有 length ()这个方法。5. java 中的异常处理机制的简单原理和应用。当 java程序违反了 java的语义规则时, java虚拟机就会将发生的错误表示为一个异常。违反语义规则包括 2 种情况。一种是 java类库内置的语义检查。例如数组下标越界,会引发 indexoutofboundsexception ;访问 null 的对象时会引发 nullpointerexcept

21、ion. 另一种情况就是 java允许程序员扩展这种语义检查, 程序员可以创建自己的异常,并自由选择在何时用 throw 关键字引发异常。所有的异常都是 java.lang.thowable 的子类。五、程序设计:(每题 11 分,共 33 分)1、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如 我 abc4,应该截为 我 ab,输入 我 abc汉 def,6,应该输出为 我 abc而不是 我 abc+汉的半个 。2、编程求解:所有两位整数能被3 整除的数的和,以及不能被3 整除的数的各位数字之和。3、设计一个程序求解e 的值。

22、精度达到1.0e-6,4、请设计一个对n个数进行排序的程序一、选择题(每道题只有一个正确答案,每小题2 分,共 30 分) 15 道题1、关于 java 语言叙述错误的是:( c )a java 语言具有跨平台性b java 是一种面向对象的语言cjava 语言中的类可以多继承djava 的垃圾收集机制自动回收程序已不再使用的对象2、以下叙述正确的是:( b )的确台 aa 构造方法必须是public方法b main 方法必须是 public方法cjava 应用程序的文件名可以是任意的;.;.d构造方法应该声明为void 类型3、关于 java 中数据类型叙述正确的是: ( b )a 、整型数

23、据在不同平台下长度不同b boolean 类型数据只有 2 个值, true 和 falsec 数组属于简单数据类型djava 中的指针类型和c 语言的一样4、设 int x=1,float y=2,则表达式 x / y的值是:( d )a 0b 1c 2d 以上都不是5、以下语句有语法错的是: ( a )a int x=1;y=2;z=3b for (int x=10,y=0;x0; x+);c while (x5);d for(; ;);6、关于类和对象的叙述正确的是: ( a )a java 的类分为两大部分:系统定义的类和用户自定义的类b 类的静态属性和全局变量的概念完全一样,只是表达

24、形式不同c类的成员至少有一个属性和一个方法d类是对象的实例化7、以下有关构造方法的说法,正确的是:( a )a 一个类的构造方法可以有多个b 构造方法在类定义时被调用c 构造方法只能由对象中的其它方法调用d 构造方法可以和类同名,也可以和类名不同8、以下有关类的继承的叙述中,正确的是:( d )a 子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性b 子类只能继承父类的方法,不能继承父类的属性c 子类只能继承父类的非私有属性,不能继承父类的方法;.;.d 子类不能继承父类的私有属性9、下列属于容器的组件有: ( b )a jbuttonb jpanec canvasd jtex

25、tarea10、void的含义:( c )a 方法体为空b 定义的方法没有形参c 定义的方法没有返回值d 方法的返回值不能参加算术运算11、关于 java 中异常的叙述正确的是: ( d )a 异常是程序编写过程中代码的语法错误b 异常是程序编写过程中代码的逻辑错误c 异常出现后程序的运行马上中止d 异常是可以捕获和处理的12、所有的异常类皆继承哪一个类?(c )a java.io.exceptionb java.lang.throwablec java.lang.exceptiond java.lang.error13、下面哪个不是java 语言中的关键字?(b )a longb sizeo

26、fc instanceofd const14、为实现进程之间的通信,需要使用下列那种流才合适?(d)a data streamb file streamc buffered stream;.;.d piped stream15、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?(d)a actionlistenerb mouselistenerc mousemotionlisternd itemlistener二、填空题(每空1 分,共 20 分)1、面向对象程序设计所具有的基本特征是:_抽象性 _,_封装性 _,_继承性 _,_多态性 _2、数组 x 定义如下int x =n

27、ew int32则 x.length的值为 _3_,x0.length的值为 _2_。3、 java 中实现多线程一般使用两种方法,一是_继承 thread 类_,二是_实现 runnable 方法 _4、java 的图形用户界面设计中,有很多布局管理器用来摆放组件的位置,一般用到的布局管理器有(列出四种即可)_flowlayout_ , _gridlayout_ ,_borderlayout_ , _cardlayout_5、 applet 常用的方法是: _init()_、_run () _、_stop()_ 和 destroy()。三、阅读程序,写出程序的输出结果(每题5 分,共 20

28、分)1、 class aprivate int privatevar;a(int _privatevar)privatevar=_privatevar;boolean isequalto(a anothera)if(this.privatevar = anothera.privatevar)return true;elsereturn false;.;.public class bpublic static void main(string args)a a = new a(1);a b = new a(2);system.out.println(a.isequalto(b);程序的输出结果为

29、: _false_2 、class a double f(double x, double y) return x * y;class b extends a double f(double x, double y) return x + y;public class test public static void main(string args) b obj = new b();system.out.println(the program output is + obj.f(4, 6);程序的输出结果为: _ the program output is 10_ 3、 public class unchecked public static void main(string args) try ;.;.method(); catch (exception e) system.out.println(a); finally system.out.println(b);static void method() try wrench();system.out.println(c); catch (arithmeticexception e) system.out.println(d);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论