java模拟试卷及答案及解析4.doc
复习题4 一、选择题1.在面向对象的方法中,一个对象请求另一个对象为其服务的方式是通过发送 ( D )A、调用语句B、命令C、口令D、消息2.Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点:( B )A、安全性B、多线程C、跨平台D、可移值3.编写和运行Java applet程序与编写和运行Java application程序不同的步骤是 :( B )A、编写源代码B、编写HTML文件调用该小程序,以.html为扩展名存入相同文件夹C、编译过程D、解释执行4.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用_个比特位。( B )A、8B、16C、32D、645.关于下列程序段的输出结果,说法正确的是 :( D )public class MyClassstatic int i;public static void main(String argv)System.out.println(i);A、有错误,变量i没有初始化。B、nullC、1D、06.下列代码的执行结果是: ( B )public class Test3public static void main(String args)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 )void complicatedexpression_r()int x=20, y=30;boolean b;b=x>50&&y>60|x>50&&y<-60|x<-50&&y>60|x<-50&&y<-60;System.out.println(b);A、trueB、falseC、1D、08.给出下列代码片段:( D )if(x>0)System.out.println("first");else if(x>-3) System.out.println("second");else System.out.println("third");请问x处于什么范围时将打印字符串“second”?A、x>0B、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、private protectedD、public13.下列代码的输出结果是 : ( A )class Parent void printMe() System.out.println("parent"); class Child extends Parent void printMe() System.out.println("child"); void printall() super.printMe(); this.printMe(); printMe(); public class Test_this public static void main(String args) Child myC=new Child(); myC.printall(); A、parent child childB、parent child parentC、parent childD、编译错误14.为读取的内容进行处理后再输出,需要使用下列哪种流? ( D )A、File streamB、Pipe streamC、Random streamD、Filter stream15.为实现多线程之间的通信,需要使用下列哪种流才合适?( D )A、Filter streamB、File streamC、Random access streamD、Piped stream16.Swing与aWT的区别不包括 :( D )A、Swing是由纯Java实现的轻量级构件B、Swing没有本地代码C、Swing不依赖操作系统的支持D、Swing支持图形用户界面17.在编写Java applet程序时,若需要对发生事件作出响应和处理,一般需要在程序的开头写上_语句。 ( C )A、import java.awt.*;B、import java.applet.*;C、import java.io.*;D、import java.awt.event.*;18.注释的基本原则不包括 :( D )A、注释应该增加代码的清晰度B、注释要简洁C、在写代码之前写注释D、尽量给每一条语句加注释19.java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分类,按功能分为:( C )A、输入流和输出流B、字节流和字符流C、节点流和处理流20. 以下程序的运行结果为( B )public class IfTestpublic static void main(String args)int x=3;int y=1;if(x=y)System.out.println("Not equal");elseSystem.out.println("Equal");A)Not equal B)Equal C)无输出 D)编译出错 二填空题1.java.io包中的_ObjectinputStream_和_ ObjectOutputStream_类主要用于对对象(Object)的读写。2.在编写异常处理的Java程序中,每个catch语句块都应该与_try_语句块对应,使得用该语句块来启动Java的异常处理机制。3. 顺序执行以下两个语句的输出结果是:_10_。String s="我喜欢学习Java!"System.out.println(s.length();4. Java语言通过接口支持_多重_继承,使类继承具有更灵活的扩展性。5. 实例化对象:就是创建一个对象。用_new_运算符来实现对象的实例化。6.我们用_int_来定义一个整数,用_char_来定义一个字符类型,称为原始数据类型。7. 当用户在TextField中输入一行文字后,按回车,实现_ActionListner_接口可实现对事件的响应。8. 包含Swing构件的Applet(小应用程序)应该是_applet_类的子类。三、写出下列程序的运行结果1下列程序的输出结果为:public class TestApple int i=0; Apple(int i) this.i=i; Apple increament() i+; return this; void print() System.out.println("i="+i); public static void main(String args) Apple redapple=new Apple(1000); redapple.increament().increament().print(); 1. 结果为:i=10022. 下列程序的输出结果为:class SuperClass private int n; SuperClass() System.out.println("SuperClass()"); SuperClass(int n) System.out.println("SuperClass("+n+")"); class SubClass extends SuperClass private int n; SubClass(int n) super(); System.out.println("SubClass("+n+")"); this.n=n; SubClass() super(300); System.out.println("SubClass()"); public class TestSuperSub public static void main(String args) SubClass sc=new SubClass(400); 2. 结果为:SuperClass()SubClass(400) 3. 下列程序的输出结果为:class FatherClass public int value; public void f() value=100; System.out.println("FatherClass.value="+value); class ChildClass extends FatherClass public int value; public void f() super.f(); value=200; System.out.println("ChildClass value="+value); System.out.println(value); System.out.println(super.value); public class TestInherit public static void main(String args) ChildClass cc=new ChildClass(); cc.f(); 3. 输出结果是:FatherClass.value=100ChildClass value=200200100 四、程序设计1.编写一个“Student”类,该类拥有属性:校名、学号、性别、出生日期。方法包含设置姓名和成绩(setName(),setScore())。 再编写“Student”类的子类:Undergraduate(大学生)。Undergraduate类除拥有父类属性和方法外,还有其自己的属性和方 法:附加属性包括系(department)、专业(major);方法包含设置系别和专业。 (setDepartment(),setMajor()。1. class Student String name="湖南*学院" int sNum=888888; String sex="男" String birth="1988/08/08" String sname; int Score; void setName(String a) sname=a; void setScore(int b) Score=b; void show() System.out.println("所在学校:"+name); System.out.println("学号:"+sNum); System.out.println("性别:"+sex); System.out.println("生日:"+birth); System.out.println("姓名:"+sname); System.out.println("成绩:"+Score); class Undergraduate extends Student String department; String major; void setDeparment(String c) department=c; void setMajor(String d) major=d; void show1() super.show(); System.out.println("系部:"+department); System.out.println("专业:"+major); class Student public static void main(String arg) Student A=new Student(); Undergraduate B=new Undergraduate(); B.setName("许翼"); B.setScore(95); B.setDeparment("信息工程系"); B.setMajor("计算机网络"); B.show1(); 2.从键盘或者命令行输入3个数,求这三个数的最大值。2. import javax.swing.JOptionPane;public class MaxNum public static String sum(int a,int b,int c,int d) if(a>b) d=a; if(b>d) d=b; if(c>d) d=c; return "你输入的三个数字中,最大的数是"+d; public static void main(String args) int number1,number2,number3; try number1=Integer.parseInt(JOptionPane.showInputDialog("Enter the first Number: "); number2=Integer.parseInt(JOptionPane.showInputDialog("Enter the second Number: "); number3=Integer.parseInt(JOptionPane.showInputDialog("Enter the third Number: "); System.out.println(sum(number1,number2,number3,0); catch(NumberFormatException ne) System.out.println(ne.toString(); System.exit(0); 3.设计一个含有Panel的自定义的Frame类,形式如下所示:3. import java.awt.*;public class TestCenterPanel public static void main(String args) new MyFrame3(300,300,600,400,Color.BLUE); class MyFrame3 extends Frame /private Panel p; MyFrame3(int x,int y,int w,int h,Color c) super("FrameWithPanel"); setLayout(null); setBounds(x,y,w,h); setBackground(c); Panel p = new Panel(null); p.setBounds(w/4,h/4,w/2,h/2); p.setBackground(Color.pink); add(p); setVisible(true); 29 ) )( ) ( ) , /( .) )( ), ) )" ( ) , , , , ) 000 0 * 示下形 义的 一 择; ) . . ) ), ) ( )" ) ( ( +数大数三输 >( 消 令、调 送发式务其一请个,方对 言;= 多 优 点 选 中 哪 映 )> 程) 运移、台、程、性全) (点行 与 写 ;行 . . 值大数这 , 入令盘序键 执释程 件同名为 以程该文 编 源、 是的 的 络类机( 的 )程 息( 案 每 列 、 特_占 许 码、 、。初 ,错 ; . ) :的正,输的 行 是 = ) ( = " :( ( 列. . , 0 、, . ( . )" . %( ) "部序 输 果 列、 、 ) . -& <| &<| & & 0= (_ ( 把-> < - >、? 串印时什 请; " ( > " 0 :片 = 、 、 (饰修用使变时声 ) 中 一 可 要特此不 、 隐 为序向这相以值传不序型类的形的,方多定 , 应 哪 子 在 、 、 、 声 个 , 可 ;用 :"_ 饰. 该 口) (名姓 .) ) " 生" :" . 号" 列 、 .的 输 "校" 取错编 、 ) ( ) ( . ) " " " . ) :是 内 处 ( 再 输 ; 实 ) ?哪用需) (线 的= ) 释* . ; 、* ; . 。语_头的在般理应出生要,程 写界户形支 支系依 代有 、件量现 纯 (括别 与 、 、 (合种哪用, 本 不 : /0 =) "释= 该 注加条量尽注之写 洁注晰码"*" 和 为按分进度不以功输现型个了包 出 )( ,) 。业系含;) 专 括属附方属己还外性类除 。学大 类” 写再。 ) (和设含期出、学校属有类 一设序000= 0= . 是出 ) ) = ) ( ) . ) = " 0 = ) )( ) = . " 0 ) 为结输列00 ( 为结 )0 = ) )" . )0( ) = )"( " )( ) ( )" " ( ) ) " . ) 为结的列下0 :为 ) . )0( ) " )( +) = ) 0 为结的列结结程列类类_ 该序应( 含应应对实接_ 现实,字行 当型型原称类一义_ _整一来 _化化对实算_ _。个创:对性展灵更类,_支口言 .) . 流 . 符 ; 习喜= _0_是输句个以制理异 动块语使应句_ _块语 中 常编写读) 象于要_ _ _的 空出编 无 ) . ) . = ) 结的下 理流