复习题4一、选择题1.在面向对象的方法中,一个对象请求另一个对象为其服务的方式是通过发送(D)A、调用语句B、命令C、口令D、消息2.Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点:(B)A、安全性B、多线程C、跨平台D、可移值3.编写和运行Javaapplet程序与编写和运行Javaapplication程序不同的步骤是:(B)A、编写源代码B、编写HTML文件调用该小程序,以.html为扩展名存入相同文件夹C、编译过程D、解释执行4.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用____个比特位。(B)A、8B、16C、32D、645.关于下列程序段的输出结果,说法正确的是:(D)publicclassMyClass{staticinti;publicstaticvoidmain(Stringargv[]){System.out.println(i);}}A、有错误,变量i没有初始化。B、nullC、1D、06.下列代码的执行结果是:(B)publicclassTest3{publicstaticvoidmain(Stringargs[]){System.out.print(100%3);System.out.print(,);System.out.println(100%3.0);}}A、1,1B、1,1.0C、1.0,1D、1.0,1.07.下列程序段的输出结果是:(B)voidcomplicatedexpression_r(){intx=20,y=30;booleanb;b=x50&&y60||x50&&y-60||x-50&&y60||x-50&&y-60;System.out.println(b);}A、trueB、falseC、1D、08.给出下列代码片段:(D)if(x0){System.out.println(first);}elseif(x-3){System.out.println(second);}else{System.out.println(third);}请问x处于什么范围时将打印字符串“second”?A、x0B、x-3C、x=-3D、x=0&x-39.若要把变量声名为暂时性变量,应使用如下哪种修饰符?(C)A、protectedB、provateC、transientD、volatile10.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同,这种面向对象程序特性称为:(C)A、隐藏B、覆盖C、重载D、Java不支持此特性11.如要抛出异常,应用下列哪种子句?(B)A、catchB、throwC、tryD、finally12.在使用interface声明一个接口时,只可以使用____修饰符修饰该接口。(D)A、privateB、protectedC、privateprotectedD、public13.下列代码的输出结果是:(A)classParent{voidprintMe(){System.out.println(parent);}}classChildextendsParent{voidprintMe(){System.out.println(child);}voidprintall(){super.printMe();this.printMe();printMe();}}publicclassTest_this{publicstaticvoidmain(Stringargs[]){ChildmyC=newChild();myC.printall();}}A、parentchildchildB、parentchildparentC、parentchildD、编译错误14.为读取的内容进行处理后再输出,需要使用下列哪种流?(D)A、FilestreamB、PipestreamC、RandomstreamD、Filterstream15.为实现多线程之间的通信,需要使用下列哪种流才合适?(D)A、FilterstreamB、FilestreamC、RandomaccessstreamD、Pipedstream16.Swing与aWT的区别不包括:(D)A、Swing是由纯Java实现的轻量级构件B、Swing没有本地代码C、Swing不依赖操作系统的支持D、Swing支持图形用户界面17.在编写Javaapplet程序时,若需要对发生事件作出响应和处理,一般需要在程序的开头写上____语句。(C)A、importjava.awt.*;B、importjava.applet.*;C、importjava.io.*;D、importjava.awt.event.*;18.注释的基本原则不包括:(D)A、注释应该增加代码的清晰度B、注释要简洁C、在写代码之前写注释D、尽量给每一条语句加注释19.java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分类,按功能分为:(C)A、输入流和输出流B、字节流和字符流C、节点流和处理流20.以下程序的运行结果为(B)publicclassIfTest{publicstaticvoidmain(Stringargs[]){intx=3;inty=1;if(x==y)System.out.println(Notequal);elseSystem.out.println(Equal);}}A)NotequalB)EqualC)无输出D)编译出错二.填空题1.java.io包中的_____ObjectinputStream_______和____ObjectOutputStream_________类主要用于对对象(Object)的读写。2.在编写异常处理的Java程序中,每个catch语句块都应该与___try____语句块对应,使得用该语句块来启动Java的异常处理机制。3.顺序执行以下两个语句的输出结果是:__10__。Strings=我喜欢学习Java!;System.out.println(s.length());4.Java语言通过接口支持_多重___继承,使类继承具有更灵活的扩展性。5.实例化对象:就是创建一个对象。用___new____运算符来实现对象的实例化。6.我们用____int___来定义一个整数,用__char_____来定义一个字符类型,称为原始数据类型。7.当用户在TextField中输入一行文字后,按回车,实现___ActionListner_____接口可实现对事件的响应。8.包含Swing构件的Applet(小应用程序)应该是__applet____类的子类。三、写出下列程序的运行结果1.下列程序的输出结果为:publicclassTestApple{inti=0;Apple(inti){this.i=i;}Appleincreament(){i++;returnthis;}voidprint(){System.out.println(i=+i);}publicstaticvoidmain(String[]args){Appleredapple=newApple(1000);redapple.increament().increament().print();}1.结果为:i=10022.下列程序的输出结果为:classSuperClass{privateintn;SuperClass(){System.out.println(SuperClass());}SuperClass(intn){System.out.println(SuperClass(+n+));}}classSubClassextendsSuperClass{privateintn;SubClass(intn){super();System.out.println(SubClass(+n+));this.n=n;}SubClass(){super(300);System.out.println(SubClass());}}publicclassTestSuperSub{publicstaticvoidmain(Stringargs[]){SubClasssc=newSubClass(400);}}2.结果为:SuperClass()SubClass(400)3.下列程序的输出结果为:classFatherClass{publicintvalue;publicvoidf(){value=100;System.out.println(FatherClass.value=+value);}}classChildClassextendsFatherClass{publicintvalue;publicvoidf(){super.f();value=200;System.out.println(ChildClassvalue=+value);System.out.println(value);System.out.println(super.value);}}publicclassTestInherit{publicstaticvoidmain(String[]args){ChildClasscc=newChildClass();cc.f();}}3.输出结果是:FatherClass.value=100ChildClassvalue=200200100四、程序设计1.编写一个“Student”类,该类拥有属性:校名、学号、性别、出生日期。方法包含设置姓名和成绩(setName(),setScore())。再编写“Student”类的子类:Undergraduate(大学生)。Undergraduate类除拥有父类属性和方法外,还有其自己的属性和方法:附加属性包括系(department)、专业(major);方法包含设置系别和专业。(setDepartment(),setMajor())。1.classStudent{Stringname=湖南****学院;intsNum=888888;Stringsex=男;Stringbirth=1988/08/08;Stringsname;intScore;voidsetName(Stringa){sname=a;}voidsetScore(intb){Score=b;}voidshow(){System.out.println(所在学校:+name);System.out.println(学号:+sNum);System.out.println(性别:+sex);System.out.println(生日:+birth);System.out.println(姓名:+sname);System.out.println(成绩:+Score);}}classUndergraduateextendsStudent{Stringdepartment;Stringmajor;voidsetDeparment(Stringc){department=c;}voidsetMajor(Stringd){major=d;}voidshow1(){super.show();System.out.println(系部:+department);System.out.println(专业:+major);}}classStudent{publicstaticvoidmain(Stringarg[]){StudentA=newStudent();UndergraduateB=newUndergraduate();B.setName(许翼);B.setScore(95);B.setDeparment(信息工程系);B.setMajor(计算机网络);B.show1();}}2.从键盘或者命令行输入3个数,求这三个数的最大值。2.importjavax.swing