您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 习题/试题 > JAVA语言程序设计期末考试试题及答案
1234124JAVA语言程序设计考试试题及部分答案一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。1.下列语句序列执行后,k的值是(B)。intm=3,n=6,k=0;while((m++)(--n))++k;A)0B)1C)2D)32.设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是(B)。A)i=i+2B)a[0]=7;C)i++---j;D)a(0)=66;3.Java语言的类间的继承关系是(B)。A)多重的B)单重的C)线程的D)不能继承4.设有定义inti=6;,则执行以下语句后,i的值为(C)。i+=i-1;A)10B)121C)11D)1005.下列选项中,用于在定义子类时声明父类名的关键字是(C)。A)interfaceB)packageC)extendsD)class6.若已定义byte[]x={11,22,33,-66};其中0≤k≤3,则对x数组元素错误的引用是(C)。A)x[5-3]B)x[k]C)x[k+5]D)x[0]7.下列语句序列执行后,ch1的值是(B)。charch1='A',ch2='W';if(ch1+2ch2)++ch1;A)'A'B)'B'C)'C'D)B8.下列语句序列执行后,i的值是(D)。inti=8,j=16;if(i-1j)i--;elsej--;A)15B)16C)7D)89.下列语句序列执行后,k的值是(C)。inti=10,j=18,k=30;switch(j-i){case8:k++;case9:k+=2;case10:k+=3;default:k/=j;}A)31B)32C)2D)3310.下面语句执行后,i的值是(B)。for(inti=0,j=1;j5;j+=3)i=i+j;A)4B)5C)6D)711.设有定义floatx=3.5f,y=4.6f,z=5.7f;则以下的表达式中,值为true的是(B)。A)xy||xzB)x!=yC)z(y+x)D)xy&!(xz)12.下列语句序列执行后,i的值是(D)。inti=16;do{i/=2;}while(i3);A)16B)8C)4D)213.以下由for语句构成的循环执行的次数是(B)。for(inti=0;true;i++);A)有语法错,不能执行B)无限次C)执行1次D)一次也不执行14.定义类头时能使用的修饰符是(C)。A)privateB)staticC)abstractD)protected15.设int型变量a、b,float型变量x、y,char型变量ch均已正确定义并赋值,正确的switch语句是D)。A)switch(x+y)B)switch(ch+1){......}{......}C)switchchD)switch(a+b);{......}{......}16.下列最终属性i的定义中,正确的是()。A)staticfinalinti=100;B)finalinti=1.2;C)finali='w';D)finalchari;17.下列类定义中,不正确的是(C)。A)classx{....}B)classxextendsy{....}C)staticclassximplementsy1,y2{....}D)publicclassxextendsApplet{....}18.设x、y为已定义的类名,下列声明x类的对象x1的语句中正确的是()。A)staticxx1;B)publicxx1=newx(int123);C)yx1;D)xx1=x();19.设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是(B)。A)x(intm){...}B)voidx(intm){...}C)x(intm,intn){...}D)x(inth,intm,intn){...}20.下列方法定义中,正确的是(A)。A)intx(){charch='a';return(int)ch;}B)voidx(){...returntrue;}C)intx(){...returntrue;}D)intx(inta,b){returna+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)。booleanb1=true,b2,b3;24=b1?b1:b2;A)0B)1C)trueD)false25下面数据结构中,属于非线性的是(B)。A)线性表B)树C)队列D)堆栈11.设有定义inti=123;longj=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.下面是一个类的定义:publicclass_intMyclass___________{intx,y;Myclass(inti,___=0____)//构造函数{x=i;y=j;}}10.下面是一个JavaApplication的主类的定义,其功能是输出所有命令行参数。importjava.io.*;publicclassMyClass{publicstaticvoidmain(Stringargs[]){if(args.length!=_0__)for(inti=0;iargs.length;i++)System.out.println(_i=+i__________);elseSystem.out.println(没有命令行参数);}}11下面是一个小程序的主类myprogram的定义,其中A、B是该主类所在源程序中已定义的另两个类的类名:importjavaawt.*;importjavaapplet.*;publicclassmyprogramextendsApplet//定义小程序的主类{Aa;Bb;public_____myprogram___init(){a=newA();b=___new__B();}}12.Java的复合数据类型有:类、数组和___接口____等。Java的简单数据类型有:数值类型(整形和浮点类型),自负类型和布尔类型13.表达式3/6*5的计算结果是_0_______。14.定义初值为10的10次方的长整型变量lvar的语句是:_______longlvar=1*e10___________________。15.顺序结构、分支结构(或称选择结构)、__循环结构__________是结构化程序设计的三种基本流程控制结构。16.以下方法m的功能是求两参数之积的整数部分。intm(floatx,floaty){_______k=(int)x*y___________;}17.Java源程序文件编译后产生的文件称为____字节码____文件,其扩展名为___.class_______。18.Java和c++都是面向对象的程序设计语言。四、问答题:(每题5分,)1.Java的接口和C++的虚类的相同和不同处。由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是publicstatic,所有方法默认情况下是public.一个类可以实现多个接口。2.垃圾回收的优点和原理。并考虑2种回收机制。Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有作用域的概念,只有对象的引用才有作用域。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。3,谈谈final,finally,finalize的区别。Final-修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。Finally-再异常处理时提供finally块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块(如果有的话)。Finalize-方法名。Java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object类中定义的,因此所有的类都继承了它。子类覆盖finalize()方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。4,数组有没有length()这个方法?String有没有length()这个方法?举例说明使用方法?数组没有length()这个方法,有length的属性。String有有length()这个方法。5.Java中的异常处理机制的简单原理和应用。当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException.另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是java.lang.Thowable的子类。1、关于Java语言叙述错误的是:(C)A.Java语言具有跨平台性B.Java是一种面向对象的语言C.Java语言中的类可以多继承D.Java的垃圾收集机制自动回收程序已不再使用的对象2、以下叙述正确的是:(B)的确台aA.构造方法必须是public方法B.main方法必须是public方法C.Java应用程序的文件名可以是任意的D.构造方法应该声明为void类型3、关于Java中数据类型叙述正确的是:(B)A、整型数据在不同平台下长度不同B.boolean类型数据只有2个值,true和fals
本文标题:JAVA语言程序设计期末考试试题及答案
链接地址:https://www.777doc.com/doc-6283343 .html