您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 初中教育 > Java期末考试题(附答案)
Java程序设计期末考试题一、选择题20分1、下列说法中,不正确的是(A)A)一个java源程序编译通过后,得到的结果文件数也只有一个。B)一个java源程序经过编译后,得到的文件的扩展名一定是.class。C)一个java源程序只能有一个publicclass类定义,且源文件的名字与publicclass的类名相同,扩展名必须是.java。D)一个java源程序可以包含多个class类。2、请问,以下哪些描述是正确的?请选择所有正确答案:(1)如果package语句存在,则必须出现在源文件的非空白首行。(2)如果import语句存在,则必须出现在源文件的非空白首行。(3)如果main()方法存在,则必须出现在源文件的非空白首行。(4)如果在源文件中声明了一个public接口,则其名称必须和源文件名一致。3、请问,以下哪些是Java中的合法标识符?请选择所有正确答案:(1)my-id(2)my_id(3)101ids(4)id1014、请问,以下哪些是合法的标识符?请选择所有正确答案:(1)%abcd(2)$abcd(3)1abcd(4)package(5)_a_long_name5、以下哪个不是Java的关键字?()A、FALSEB、constC、thisD、void6、以下哪个不是Java的关键字?()A、TRUEB、gotoC、thisD、void7、Java的字符类型采用的是Unicode编码方案,每个Unicode码占用()个比特位。A、8B、16C、32D、648、请问一下哪些修饰符用于声明一个常量?请选择一个正确答案:(1)static(2)final(3)abstract(4)public9、给出以下代码,该程序的运行结果是什么?publicclassExample{finalintx=0;Example(){x=1;}finalintaMethod(){returnx;}}请选择所有正确答案:(1)代码编译错误,因为非final类中存在final方法。(2)代码编译成功。(3)代码编译错误,因为代码中对一个final变量x有改变其值的操作。(4)代码编译错误,如果去掉变量x前的final修饰符,可使代码编译通过。(5)代码编译错误,因为final修饰符只能修饰方法不能修饰变量,因此语句finallintx=0错误.10、给出以下代码,请问该程序的运行结果是什么?1.publicclassExample{2.privatefinalinti=10;3.privatebytek=i;4.privatestaticvoidmain(Stringargs[]){5.System.out.println(k);6.}7.}请选择一个正确答案:(1)代码在第2行编译错误(2)代码在第3行编译时发出变量k不精确警告。报错是是因为k和i没有声明static,而不是不精确警告。(3)代码编译成功。(4)代码编译成功,但在运行期第5行抛出异常。11、给出以下代码,该程序的运行结果是什么?publicclassExample{finalintx=0;Example(){x=1;}finalintaMethod(){returnx;}}请选择所有正确答案:1.代码编译错误,因为非final类中存在final方法。2.代码编译成功。3.代码编译错误,因为代码中对一个final变量x有改变其值的操作。4.代码编译错误,如果去掉变量x前的final修饰符,可使代码编译通过。12、给出以下代码,请问该程序的运行结果是什么?classExample{publicstaticvoidmain(Stringargs[]){inta=5;System.out.println(cube(a));}intcube(inttheNum){returntheNum*theNum*theNum;}}请选择一个正确答案:(1)代码编译失败,因为方法cube()已经在java.lang.Math类上定义过。(2)代码编译失败,因为方法cube()不是static方法。(3)代码编译成功,但运行期抛出异常。(4)打印输出125。13、有代码如下,请补全:publicclassExample{publicenumColor{Red,Green,Blue};publicvoidfoo(){//在这里插入代码System.out.println(c);}}1.for(Colorc:Color.values())2.for(Colorc=RED;cBLUE;c++)3.for(Colorc:c.hasNext();c.next())4.for(Colorc:Color[0];cColor.BLUE;c++)14、请问,以下哪些修饰符用于修饰变量,可使该变量属于类而不属于类实例?请选择一个正确答案:(1)static(2)final(3)abstract(4)transient15、设有下面两个类的定义:classPerson{longid;//身份证号Stringname;//姓名}classStudentextendsPerson{intscore;//入学总分intgetScore(){returnscore;}}则类Person和类Student的关系是()。A、包含关系B、继承关系C、关联关系D、上述类定义有语法错误16、对于以下类:classA{}classBextendsA{}classCextendsA{}publicclassTest{publicstaticvoidmain(Stringargs[]){Ax=newA();By=newB();Cz=newC();//此处插入一条语句}}下面哪个语句可以放到插入行?()A)x=y;B)z=x;C)z=(C)y;D)y=(A)y;17、给出以下代码,请问插入以下哪些语句可以满足对插入语句的要求?publicclassT{intr;ints;T(intx,inty){r=x;s=y;}}classSextendsT{intt;publicS(intx,inty,intz){//插入代码处:要求插入代码实现r=x,s=yt=z;}}请选择一个正确答案:(1)T(x,y);(2)this(x,y);(3)super(x,y);(4)super(x,y,z);(5)以上均不对。18、请问以下哪些关于构造器的描述是正确的?请选择所有正确答案:(1)子类可以继承父类的构造器。(2)如果没有提供任何构造器,编译器自动为类提供一个无参的默认构造器。(3)构造器的返回类型均为void。(4)构造器可以抛出异常。---------------------------------------------------------------------19、请问,以下哪些是有关方法覆盖的正确描述?请选择所有正确的答案:1.覆盖的方法和被覆盖的方法具有相同方法名、参数列表和返回类型。2.覆盖的方法的访问范围声明不能比被覆盖的方法的访问范围小。3.覆盖的方法不能抛出被覆盖的方法不能抛出的异常。4.被覆盖的方法不能被private修饰。20、给出以下代码,请问该程序的运行结果是什么?1.classExample{2.publicstaticvoidmain(Stringargs[]){3.Objecto=newString(abcd);4.Strings=o;5.System.out.println(s);6.System.out.println(o);7.}8.}注意:第四行是错误的,必须将o强制转换成String类型abcdabcd请选择一个正确答案:(1)打印输出abcd和abcd(2)代码编译失败,第3行发生错误。(1)代码编译失败,第4行发生错误。(2)代码编译失败,第6行发生错误。三、判断题25分1.在Java中一个类不能同时继承一个类和实现一个接口。F2.Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。T3.构造方法是类的一种特殊方法,它的方法名必须与类名相同。T4.在一个Java源程序文件中,可以有多个public类。F5.Java语言含有指针。F6.Java程序编译之后所生成文件的扩展名为“.java”。F7.假设有一个Java源程序文件,它只定义了一个具有public属性的类Hello,那么编译该文件的命令是“javacHello”。F8.构造方法一般不允许返回任何值,但也不允许标注void。T9.抽象类可以实例化,但不能被继承;最终类不能实例化,可以被继承。F10.Java语言不含有指针与析构方法,所以Java程序只有在结束运行时,才能释放所占用的内存。F11.Java语言是不区分大小写的。F12.Java程序源文件的扩展名为“.jar”。F13.以//开始的是多行注释语句。F14.在Java语言中,每个ASCII码英文字符占用8个二进制位,而每个中文汉字字符则占用16个二进制位。F15.在Java中一个类只能实现一个接口。F16.在同一个类中,允许存在具有相同方法名和相同参数列表的方法,只要这些方法的返回类型不相同。F17.对于数组int[][]t={{1,2,3},{4,5,6}};来说,t.length等于3,t[0].length等于3.F18.抽象方法不能含有方法体,并且必须在抽象类中。F19.Math类中的方法round()的功能是返回与参数最近的整数即:四舍五入后取整。T20.已知intt=64000在语法上正确,则shorts=640000呢?F21.Java数组中可以放入任何类型的数据。T22.Java程序分成应用程序和小程序两类,一个Java程序有可能既是应用程序,又是小程序。T23.java.lang包是Java程序自动导入的,因此可以直接用其中的类和接口;位于类继承关系层次结构的根部的类Object就在此包中。T24.有时候为了避免引起混淆,构造方法名可以不与所属的类名同名。F25.以/*开始,*/结束的是单行注释。F四、填空题15分1.Java语言通过__垃圾回收__机制简化了程序的内存管理。2.String类和StringBuffer类都被定义为_最终类___,不能有子类。3.建立Java开发环境,一般需要设置环境变量:_path__和_classpath___.4.在Java程序中,每一行_//___之后的内容是程序的注释,另外介于__/*__和_*/___之间的内容也是注释。5.设有一个Java应用程序,其源程序文件名为J_Test.java,则编译该源程序的命令为___javac__,运行该应用程序的命令为__java___.6.接口中定义的常量默认具有_public____staticfinal的属性接口中定义的方法默认具有publicabstract的属性7.数组对象的长度在数组对象创建之后,就__不能___改变,数组元素的下标总是从__0__开始。已知数组a的定义是inta[]={1,2,3,4,5};则a[2]=__3__。已知数组b的定义是intb[]=newint[5];则b[2]=__0___;已知数组c的定义是Objectc[]=newObject[5];则c[2]=_null___。8.在Java语言中,字符串常量是用__双引号__括起来的字符序列,字符串不是字符数组,而是类__String___的实例对象。9.Java语言中,有一个类是所有类或接口的父类,这个类的名称是_Object____。10.在一个合法的Java源程序文件中定义了3个类,则其中属性为public的类可能有___1___个。11.编译一个定义了两个类和三个方法的Java源文件,总共会产生__2___个字节码文件,这些字节码文件的扩展名是____.class___.12.Java标识符是由字母、__$__、____下划线_和___数字__组成,其中__数字___不能放在开头13.Java字符采用的是ISO规定的_unicode___字符。14.面向对象程序
本文标题:Java期末考试题(附答案)
链接地址:https://www.777doc.com/doc-5704156 .html