当前位置:文档之家› JAVA语言程序设计期末考试试题及答案

JAVA语言程序设计期末考试试题及答案

1234124JAVA语言程序设计考试试题及部分答案一、单选题:(每题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) a[0] = 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.下列选项中,用于在定义子类时声明父类名的关键字是( C ) 。

A) interface B) package C) extends D) class6.若已定义byte[ ] x= {11,22,33,-66} ;其中O W k<3,则对x数组元素错误的引用是(C )。

A) x[5-3] B) x[k] C) x[k+5] D) x[0]7.下列语句序列执行后, ch1 的值是( B ) 。

char ch1='A',ch2='W';if(ch1 + 2 < ch2 ) ++ch1;A) 'A' B) 'B' C) 'C' D) B8.下列语句序列执行后,i 的值是( D ) 。

int i=8, j=16;if( i-1 > 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) 33 10.下面语句执行后,i 的值是( B ) 。

for( int i=0, j=1; j < 5; j+=3 ) i=i+j;A) 4 B) 5 C) 6 D) 711.设有定义float x=, y=, z= ;则以下的表达式中,值为true 的是( B ) A) x > y || x > z B) x != yC) z > ( y + x ) D) x < y & ! ( x < z )12.下列语句序列执行后,i 的值是( D ) 。

int i=16;do { i/=2; } while( i > 3 );A) 16 B) 8 C) 4 D) 213.以下由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 ch D) switch ( a + b );{ .. } { ....... }16.下列最终属性i 的定义中,正确的是( ) 。

A) static final int i=100; B) final int i=;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; 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( ){ ...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__while 语句23.下列程序段执行后b3 的结果是( D ) 。

boolean 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.创建类对象的运算符是__ new。

4.当整型变量n 的值不能被13 除尽时,其值为false 的Java 语言表达式是__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 ) 面是一个Java Application 的主类的定义,其功能是输出所有命令行参数。

import .*;public class MyClass{public static void main(String args[ ]){if( !=_0__) for(int i=0; i < ; i++)"i="+i __________ );else 没有命令行参数);}}11下面是一个小程序的主类myprogram的定义,其中A B是该主类所在源程序中已定义的另两个类的类名:import java awt.* ;import java applet.* ;public class myprogram extends AppletJava 的复合数据类型有: 类、数组和___接口 _________ 等。

Java 的简单数据类型有: 数值类型(整形和浮点类型),自负类型和布尔类型13.表达式3/6 * 5 的计算结果是_0 ________ 。

14.定义初值为10 的10 次方的长整型变量lvar 的语句是:__________ long lvar=1*e10 _____________________ 。

15.顺序结构、分支结构(或称选择结构)、__循环结构________ 是结构化程序设计的三种基本流程控制结构。

16.以下方法m 的功能是求两参数之积的整数部分。

int m ( float x, float y ){ _______ k=(int)x*y ________ ; }17.Java 源程序文件编译后产生的文件称为 _____ 字节码____ 文件, 其扩展名为。

18.Java 和c++ 都是面向对象的程序设计语言。

四、问答题:(每题 5 分,)1.Java的接口和C+啲虚类的相同和不同处。

由于Java 不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。

与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。

当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是public static ,所有方法默认情况下是public. 一个类可以实现多个接口。

2.垃圾回收的优点和原理。

并考虑 2 种回收机制。

Java语言中一个显著的特点就是引入了垃圾回收机制,使C++程序员最头疼的内存管理的问题迎刃而解,它使得Java 程序员在编写程序的时候不再需要考虑内存管理。

由于有个垃圾回收机制,Java 中的对象不再有"作用域"的概念,只有对象的引用才有"作用域"。

垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。

垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。

回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。

相关主题