Java面向对象程序设计模拟试题3及答案_第1页
Java面向对象程序设计模拟试题3及答案_第2页
Java面向对象程序设计模拟试题3及答案_第3页
Java面向对象程序设计模拟试题3及答案_第4页
Java面向对象程序设计模拟试题3及答案_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

Java面向对象程序设计模拟试题3一、单项选择题(本大题共15小题,每小题1分,共15分)1.JRE是指A.Java开发工具B.Java虚拟机C.Java运行环境D.Java编程接口2.开发Java程序必须安装的软件是A.JVMB.JDKC.JRED.API3.在Java中,short型变量所占的字节数是A.1B.2C.4D.84.下面代码段执行后,i、j的值分别为inti=1,j=10;do{if(i++>--j)continue;}while(i<5);System.out.println("i="+i+"j="+j);A.i=6j=5B.i=5j=5C.i=6j=4D.i=5j=65.给定下面代码段,程序运行结果是publicclassMyClass{privatestaticinta=100;publicstaticvoidmodify(inta){a=a+5;}publicstaticvoidmain(String[]args){modify(a);System.out.println(a);}}A.100B.105C.101D.956.执行下列程序段后foo的值为Stringfoo="blue";boolean[]bar=newboolean[1];if(bar[0]){foo="green";}System.out.println(foo);A.""B.nullC.blueD.green7.关于实例变量、静态变量、实例方法和静态方法,下面叙述不正确的是A.实例方法可以访问实例变量和静态变量B.静态方法不能访问实例变量C.实例变量和静态变量都可以通过类名访问D.静态方法只能访问静态变量 8.执行下列语句后输出的结果是Strings="COMPUTER";System.out.println(s.substring(3,6));A.COMB.MPUC.PUTD.TER9.下面程序运行结果为classAnimal{publicAnimal(){ System.out.println("Animal");}}//Bird类是Animal的子类publicclassBirdextendsAnimal{publicBird(){ System.out.println("Bird");}publicstaticvoidmain(String[]args){ Birdb=newBird();}}A.AnimalB.BirdC.AnimalD.BirdBirdAnimal10.下面代码在运行时会产生什么异常Strings="ABC";System.out.print(s.charAt(3));A.ArrayIndexOutOfBoundsExceptionB.IndexOutOfBoundsExceptionC.StringIndexOutOfBoundsExceptionD.NullPointerException11.下列程序的输出结果为importjava.io.IOException;publicclassTest{publicstaticvoidmethodA(){thrownewIOException();}publicstaticvoidmain(String[]args){try{methodA();}catch(IOExceptione){System.out.println("CaughtException");}}}A.代码有编译错误B.输出“CaughtException”C.输出“CaughtIOException”D.程序正常执行,没有任何输出12.有下列一段代码,执行后输出结果为。()TreeSet<String>mySet=newTreeSet<>();mySet.add("one");mySet.add("two");mySet.add("three");mySet.add("four");mySet.add("one");Iterator<String>it=mySet.iterator();while(it.hasNext()){System.out.println(it.next()+"");}A.onetwothreefourB.fourthreetwooneC.fouronethreetwoD.onetwothreefourone13.有下列一段代码,执行后输出结果为。()importjava.util.*;publicclassSortOf{publicstaticvoidmain(String[]args){ArrayList<String>a=newArrayList<>();a.add(1);a.add(5);a.add(3);Collections.sort(a);a.add(2);Collections.reverse(a);System.out.println(a);}}A.[1,2,3,5]B.[2,1,3,5]C.[2,5,3,1]D.[1,3,5,2]14.有如下类的定义,Inner类称为()。publicclassOuter{classInner{publicvoidgo(){System.out.print("hi");}}}A.匿名内部类B.局部内部类C.成员内部类D.静态内部类15.Runnable接口中定义的唯一方法是A.run()B.start()C.begin()D.sleep()二、多项选择题(本大题共5小题,每小题2分,共10分)16.下面选项哪些是合法的Java标识符A.longStringWithMeaninglessNameB.$intC.bytesD.finalistE.abstract17.下面选项哪些表达式的值为12A.33/2B.3<2C.3*4D.3<<2E.3*2^218.有下面的类定义,与aMethod()重载的方法有publicclassMyClass{publicfloataMethod(floata,floatb){return0;}}A.publicintaMethod(inta,intb){}B.publicfloataMethod(floatx,floaty){}C.publicfloataMethod(floata,floatb,intc){}D.publicfloataMethod(inta,intb,intc){}E.publicvoidaMethod(floata,floatb){}19.下面叙述哪些是正确的A.使用super可以在子类中调用父类被覆盖的方法B.Object类是所有类的根类C.抽象类中不可以定义非抽象方法D.一个类可以实现多个接口E.一个类可以继承多个类20.已知4个类之间的关系如图1所示,Shape表示形状、Circle类表示圆、Rectangle表示矩形、Cylinder表示圆柱,图中箭头表示类的继承关系。有下面Java代码:Rectanglert=newRectangle();Cylindercl=newCylinder();Shapesh=rt;ShapeShapeCircleRectangleCircleRectangleCylinderCylinder图1Shape类的层次结构图下列赋值语句中合法的有:A.cl=sh;B.sh=rt;C.rt=cl;D.cl=rt;E.sh=cl;三、填空题(本大题共10小题,每小题1分,共10分)21.Java语言的字符型数据在内存中占的字节数是。22.下面的if-else结构用条件运算符可写为___________________。if(age>=16)ticketPrice=20;elseticketPrice=10;23.若允许成员可以被这个类本身、同一个包中的类以及该类的子类访问,应使用修饰符__________________。24.要测试一个实例是否是某种类型的实例,使用运算符___________________。25.如果变量被赋值后不允许修改,定义变量时应使用关键字_____________。26.若要声明一个接口,使用的关键字是____________________。27.若将一个字符串转换为boolean型值,应该使用什么方法___________。28.如果需要将所定义的类保存在com.xxxy包中,应该使用的语句是_______________。29.要指定一个方法是父类方法的覆盖,应使用________________注解。30.要启动线程,应该调用线程对象的方法是___________________。四、简答题(本大题共3小题,每小题5分,共15分)31.什么是构造方法?它有什么特点?和普通方法之间的区别是什么?什么时候类将有一个默认构造方法?32.试说明super关键字和this关键字的含义及主要用途。33.试说明Java异常处理的基本方法,thow和throws关键字有何不同?五、程序分析题(本大题共4题,每小题5分,共20分)34.写出下列程序的运行结果。publicclassArrayDemo{publicstaticvoidmain(String[]args){int[]array={1,2,3,4,5};printArray(array);modify(array);printArray(array);}staticvoidmodify(int[]a){for(inti=0;i<a.length;i++)a[i]=a[i]*i;}staticvoidprintArray(int[]a){for(inti=0;i<a.length;i++)System.out.print(a[i]+"\t");System.out.println();}}35.有下列程序:publicclassCommandLineDemo{publicstaticvoidmain(String[]args){System.out.println("共有"+args.length+"个参数");for(inti=0;i<args.length;i++){System.out.println(i+":"+args[i]);}}}若使用下列命令执行程序,程序输出结果如何?javaCommandLineDemo/D102436.写出下列程序的运行结果。abstractclassAA{abstractvoidcallme();voidmetoo(){System.out.println("AA'smetoo().");}}classBBextendsAA{voidcallme(){System.out.println("BB'scallme().");}voidmetoo(){System.out.println("BB'smetoo().");}}publicclassAbstractTest{publicstaticvoidmain(String[]args){AAaa=newBB();aa.callme();aa.metoo();} }37.给出并分析下列程序的运行结果。publicclassTest{publicstaticStringoutput="";publicstaticvoidfoo(inti){try{if(i==1){thrownewException();}output+="1";}catch(Exceptione){output+="2";return;}finally{output+="3";}output+="4";}publicstaticvoidmain(String[]args){foo(0);foo(1);System.out.println("output="+output);}}六、编程题(本大题共3小题,第38,39题各8分,第40题14分,共30分)38.编写程序,计算下面级数之和:39.编写一个方法,合并给定的两个数组,方法的声明格式如下:publicstaticint[]arrayMerge(int[]a,int[]b)例如,一个数组是{16,13,15,18},另一个数组是{29,36,100},返回的数组应该是{16,13,15,18,29,36,100}。40.按照下面要求定义类和创建对象。(1)定义一个名为Person的类,其中含有一个String类型的成员变量name和一个int类型的成员变量age,为该类定义一个名为speak的方法,在其中输出其name和age的值。(2)为Person类定义一个带参数构造方法,通过给出姓名和年龄创建Person对象。定义默认构造方法,在该方法中调用有参数构造方法,将人的姓名设置为“张三”,年龄设置为20。(3)定义一个名为Employee类表示员工,它继承Person类,要求定义一个变量salary表示员工工资。定义computeSalary(doublehours,intrate)方法计算员工工资,这里hours表示员工工作时间,rate表示每小时工资。定义默认构造方法和带name、age和salary参数的构造方法。Java面向对象程序设计模拟试题3参考答案一、单项选择题(本大题共15小题,每小题1分,共15分)1.C2.B3.B4.D5.A6.C7.C8.C9.C10.C11.A12.C13.C14C15.A二、多项选择题(本大题共5小题,每小题2分,共10分)16.A,B,C,D17.C,D18.A,C,D19.A,B,D20.B,E三、填空题(本大题共.10小题,每小题1分,共10分)21.2个字节22.ticketPrice=(age>=16?20:10)23.protected24.instanceof25final26.interface27.Boolean.parseBoolean()28.packagecom.xxxy;29.@Override30.start或者start()四、简答题(本大题共3小题,每小题5分,共15分)31.参考答案:构造方法是类的一种特殊的成员方法,其方法名与类名相同。特点是:(1)没有返回值(2)用new运算符调用(3)一个类可定义多个构造方法。它与其他成员方法的不同:(1)作用不同(2)调用方式不同。32.参考答案:super可以用在子类中引用父类成员变量、成员方法及构造方法。用下列方式引用成员变量:super.成员变量名;引用父类成员方法:super.成员方法名();引用父类构造方法:super(参数表)。this表示当前对象,用它可引用当前对象的成员变量、成员方法和构造方法。this.成员变量名、this.方法名、this(参数表)。33.参考答案:Java异常处理基本方法是用try{}catch{}finally{}。try块中是要执行的代码,catch块中捕获和处理异常,finally是最后执行的代码。throw关键字用于明确抛出一个异常对象,它是一个语句。throws关键字用于声明方法抛出异常,使得异常可被调用方法处理。五、程序分析题(本大题共4题,每小题5分,共20分)34.答案:少一行扣1分1 2 3 4 5 0 2 6 12 20 35.答案:少一行扣1分共有2个参数0:/D1:102436.答案:BB’scallme()有一行给3分,若多一行扣1分。BB’smetoo()37.答案:output=13423缺少output=扣1分,结果中包含两个3给2分六、编程题(本大题共3小题,第38,39题各8分,第40题14分,共30分)38.本小题8分,参考答案如下:publicclassSeriesSum{publicstaticvoidmain(String[]args){intn=1;doublesum=0;while(n<99){//2分sum=sum+(double)n/(n+2);//

温馨提示

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

评论

0/150

提交评论