版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java 面向对象程序设计复习题一、选择题1、下列哪个是 Java 中的关键字( C )。A、runB 、 IntegerC、 defaultD、 implement2、下面关于 Java.applet.Applet 和其祖先类的描述语句哪个不对( B )。A 、 Applet 是 Container 的一种 B 、 Applet 是 Window 的一种C、Applet 是 Component 的一种D 、 Applet 是 Panel 的一种3、下列类 DataOutputStream 的构造方法正确的是( A )。A 、 new dataOutputStream(new FileOutp
2、utStream( “ out.txt ” );B、new dataOutputStream( “ out.txt” );C、new dataOutputStream(new writer( “ out.txt ”);D、new dataOutputStream(new FileWriter( “ out.txt ”);4、在 switch (表达式)语句中,表达式的类型不能为(C )。A 、 byteB、 charC、 longD、int5、在接口 MouseMotionListener 中方法正确的是( A )。A 、 Public void mouseDragged(MouseEvent
3、)B 、Public boolean mouseDragged(MouseEvent)C、 Public void mouseDragged(MouseMotionEvent)D、 Public boolean MouseDragged(MouseMotionEvent) 6、下面是一些异常类的层次关系Java.lang.ExceptionJava.lang.RuntimeException Java.lang.IndexOutOfBoundsException Java.lang.ArrayIndexOutOfBoundsExceptionJava.lang.StringIndexOutOf
4、BoundsException假设有一个方法 X ,能够抛出两个异常, Array Index 和 String Index 异常,假定方法 X 中没 有 try catch 语句,下面哪个答案是正确的。 ( B )A 、方法 X 应该声明抛弃 ArrayIndexOutOfBoundsException 和 StringIndexOutOfBounds Exception 。B 、如果调用 X 的方法捕获 IndexOutOfBoundsException ,则 ArrayIndexOutOfBounds Exception 和 StringIndexOutOfBoundsException
5、 都可以被捕获。C、 如果方法 X声明抛弃IndexOutOfBoundsException,则调用X的方法必须用 Try-catch 语句捕获。D、方法X不能声明抛弃异常。7、 现有一变量声明为boolean aa;下面赋值语句中正确的是(D )。A、aa=0 B、 aa=TrueC、 aa=trueD、 aa=false8、 某类Example的main()方法参数为 args,当输入数据 Java Example cat时,args0的值为 ( A )。A、cat B、 Java C、 exampleD、 null9、String s1=new String( “Java”);Strin
6、g s2=new String(s1) 则下列哪个说法是正确的( C )。A、表达式s1=s2为真B 、 s1 和 s2 是同一个对象C、表达式s1.equals(s2)为真D 、以上均不对10、类定义如下class Foopublic static void main(String args)String s;System.out.println(s=+s);则下列结论正确的是( C )。A、有输出结果,且为空B、没有输出结果C、编译错误D、有输出结果,且不为空11 、下列哪个不是 Java 的保留字( D )。A 、 floatB 、 class C、 extendsD、 virtual1
7、2、 下列符号中不能作为Java 标识符的是 ( D )。A、abc B、 $str1 C、 _pore D、 45six13、方法 methodA 定义如下:returnType methodA(byte x,double y)return (short)x/y*2;则返回值 returnType 为( C )。A、 byteB、 doubleC、 shortD、 int14、 如果 float f=4.2F;Float g=new Float(4.2F); Double d=new Double(4.2);则下列选项正确的是 ( B )。A 、 f=gB 、 f=g.floatValue(
8、)C、 d=fD 、 d.equals(f)15、下列二维数组定义中错误的是(A)。A 、 int a=new int;B 、 int a=new int1010;C、 int a=new int1010;D 、 int a=new int1010;16、关于下列语句哪个答案是正确的(D )。System.out.println(4|7);A、 4B、 5C、 6D、 717、下面哪一个 AWT 组件可以有菜单栏MenuBar( A ) 。A、 Java.awt.FrameB、Java.awt.WindowC、Java.awt.AppletD、Java.awt.Panel18、下列哪个方法用于
9、创建并开始一个新的线程(B )。A 、 run(); B 、 start();C、execute();D、run(Runnable r);19、如果有 Boolean a=new Boolean( “yes”),贝U a.booleanValue()值为(D )。A、 yesB、“ yes”C、 trueD、 false20、以下类 DataOutputStream 的构造方法正确的是( C )。A、new dataInputStream( “in.txt ” );B、new dataInputStream(new file( “in.txt” );C、new dataInputStream(
10、new FileInputStream( “in.txt ” );D、new dataInputStream(new FileWriter( “in.txt ” );21 、编译 Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展 名为 ( B )。A、 .Java B、 .classC、 .htmlD、 .exe22、 设 x = 1 , y = 2 , z = 3,则表达式y+= z/+ + x 的值是(A )。A、 3 B、 3.5C、 4 D、 523、在 Applet 表面输出文字时,可以选择不同的颜色,但是忘记了设置颜色的方法,应该 首先在哪个
11、类里面寻找( D )。A、Java .awt.AppletB、Java.awt.PanelC、Java.applet.AppletD、Java.awt.Component24、类 Cycle 的 main() 方法为:public static void main(String args)System.out.println(args0);则运行时如果命令行语句为Java Cycle one two three,则输出结果为(B )。A、 Cycle25、下面哪一个是A 、 start()26、关于下列语句哪个答案是正确的(B、one C、 twoD、 threeThread类中的静态方法(D
12、 )。B、stop() C、 run()D、 sleep(long m)A )。if(5&7&5|2)System.out.println(A、不能编译成功C、可以编译成功,但无输出true” );B、可以编译成功,输出trueD 、以上均不对27、声明公用的 abstract方法的正确格式是( C )。A 、 public abstract void add() B、 public abstract add();C、public abstract void add();D、public virtual add();28、下列程序结果正确的是(B )。public class Test pub
13、lic static void main (String args ) Ad a1=new Ad(); System.out.println(a1.add(1); Ad a2=new Ad(); System.out.println(a2.add(2);class Adstatic int total = 10;public int add(int i) total=total+i; return total;A 、 11,12B、11,13C、11,11D、 12,1229、基于 Java.awt.Frame 的一个程序中包含一个 Panel,Panel 其中包含一个 Label ,在 Fr
14、ame 和 Panel 中分别有下面的一些语句 ,/Frame 里面的语句 setFont( new Font( Serif, Font. ITALIC, 18 ); setBackground( Color. cyan );/Panel 中的语句setBackground( Color. white ); setForeground( Color. magenta );请问 Label 用什么颜色和字体显示( A )。A 、 Background=white;foreground=magenta;font=Serif Italic style,18 pointB 、 Background=c
15、yan;foreground=black;font=Serif Italic style,18 pointC、Background=cyan;foreground=black;font=system default style for labelsD 、 Background=white;foreground=magenta;font=system default style for labels30、语句 for(int x=0,y=0;(y!=0)&(x4);x+) 的执行次数是( B )。A、无限次B、一次也不执行C、执行4次D、执行3次二、判断题1、 abstract 是抽象修饰符,可
16、以用来修饰类及其属性和方法。( 对 )2、Java 支持多线程机制。 ( 对 )3、一个 Java 源程序文件中允许有多个公共类。 ( 错 )4、 重载的方法可以通过它们的返回值类型的不同来区分。( 错 )5、 子类要调用父类的方法,必须使用super 关键字。( 错 )6、子类拥有的成员数目一定大于等于父类拥有的成员数目。( 错 )7、 一个 catch 块也可以区分处理多个不同类型的异常,只要它们是该catch 语句块异常参数 的子类或其本身。 ( 对 )8、程序中一旦执行了 catch 语句块,则不会执行 finally 语句块。( 错 )9、新建一个 Frame 对象,则其将立即显示在
17、屏幕上。 ( 错 )10、 一个正在执行的线程使用yield() 方法将处理器让给其它同优先级的其它线程。( 对 )11、Java 中的的字符使用的是 16 位的 Unicode 编码。 ( 对 )12、for 语句中的循环体不能为空。 ( 错 )13、Java 仅支持类间的单重继承。 ( 对 )14接口是由常量和抽象方法组成的特殊类。( 对 )15、构造函数的方法名可由编程人员任意命名。 ( 错 )16、使用静态属性必须以类名做前缀。 ( 错 )17、类的私有属性和私有方法可以被其子类访问。 ( 错 )18、使用了 FlowLayout 布局管理器,不能改变组件的高度。 ( 对 )19、 J
18、ava.lang.RuntimeException 及其子类的异常可以不捕获。 ( 对 )20、当用户在 TextField 中改变光标的位置时,会产生一个 TextEvent 事件。( 错 )31、 Java程序是由若干类定义组成的,类定义包括定义类头和定义类体。(对)32、 类 Class1 中的属性被 private 修饰符修饰为私有变量,所以方法不能访问它。( 错 )34、 引用一个类的属性或调用其方法,必须以这个类的对象为前缀。( 错 )35、 与未加访问控制符的缺省情况相比,public 和 protected 修饰符扩大了类及其属性和方法 的被访问范围, private 修饰符则
19、缩小了这种范围。 ( 对 )36、 子类要调用父类的方法,必须使用super 关键字。( 错 )37、因为Java不支持多重继承,所以定义类时implements关键字后面只能说明一个接口名。( 错 )38、 挂起、阻塞或等待的线程都能恢复执行,但停止的线程不能复生。( 对 )39、 如果一个方法在运行过程中产生异常,则方法会终止,但整个应用不一定终止。( 对 )40、接口 Java.lang.runnable 中只有一个 run ()方法。(对)三、程序阅读题1阅读下面的程序代码,并回答问题。String s1 = new String(abcde);String s2 = new Stri
20、ng(abcde);boolean b1= s1.equals(s2);boolean b2 = s1 = = s2;System.out.print(b1+ +b2);(1) 程序段执行后,在命令行的输出结果如何?(2) 解释输出 (1)的结果的原因?(1) true false(2 )equals 方法比较两个字符串的内容是否相等;运算符“ =”判断两个对象是 否指向同一个引用,即是否为同一个对象。2.阅读下面的程序代码,并回答问题。import java.io.*;public class Test public static void main(String args) throws
21、IOException BufferedReader buf=new BufferedReader(new InputStreamReader(System.in);while(true) String str = buf.readLine();if(str.equals(quit)break;int x=Integer.parseInt(str);System.out.println(x*x); 编译运行上面的程序:(1)从键盘输入 10,回车后输出的结果如何?(2)从键盘输入 exit ,回车后程序能正确执行吗?为什么?(1)100(2)不能;因为方法Integer.parselnt(st
22、r不能将字符串“ exit”转化为整数,抛出异 常。3. 阅读下面的程序代码import java.io.* ;public class Testpublic static void main(String args )int i , s=0;int a = 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 ,90;for( i=0 ; ia.length;i+)if ( ai%3=0 ) continue;s+=ai ;System.out.println(s=+s);程序执行后,在命令行的输出结果是什么?2704. 阅读下面的程序代码import java.uti
23、l.*;public class Example9_14 public static void main(String args) String s=市话费:28.89元,长途话费:128.87元,上网费:298元。String delim = 市话长途话上网费元 :,。 ;StringTokenizer fenxi=new StringTokenizer(s,delim);/ 用 delim 中的字符的任意组合作为 分隔标记double totalMoney=0;while(fenxi.hasMoreTokens() double money=Double.parseDouble(fenxi
24、.nextToken();System.out.println(money); totalMoney += money;System.out.println( 总费用: +totalMoney+ 元); 程序执行后,在命令行的输出结果是什么?市话费 :28.89 元长途话费 :128.87 元,上网费 :298 元。总费用 :455.76 元5. 阅读下面的程序代码import java.util.*;class Student implements Comparable int english=0;String name;Student(int english,String name) th
25、=name; this.english=english; public int compareTo(Object b) Student st=(Student)b;return (this.english - st.english);public class Example13_8 public static void main(String args) TreeSet mytree=new TreeSet();Student st1,st2,st3,st4;st仁new Student(90,赵一 ”);st2=new Student(66,钱二);st3=new Studen
26、t(86,孙三);st4=new Student(76,李四);mytree.add(st1);mytree.add(st2);mytree.add(st3);mytree.add(st4);Iterator te=mytree.iterator();while(te.hasNext() Student stu=te.next();System.out.println(++ +stu.english);程序执行后,在命令行的输出结果是什么?钱二 66李四 76孙三 86赵一 906. 写出下面的程序编译、运行后的结果。public class Testpublic static
27、 void main(String args) new Student(Tom, m, 90, 88);new Student(Jack, m, 66, 89);new Student(Mary, f, 76, 86);System.out.println(nametsextchinesetenglish);Student.print();class Student protectedStringname;protectedcharsex;protectedintchinese;protectedintenglish;protected Stude ntn ext;static Stude n
28、t list;Stude nt (Stri ng n ame, char sex, int chi nese, int en glish)this .n ame=n ame;this.sex=sex;this.ch in ese=ch in ese;this.e nglish=e nglish;this. next=list;list=this;static void prin t() Stude nt frien d=list;if (friend=n ull)System.out.println(The list is empty.);else doSystem.out.pri ntln
29、(frien d.toStri ng();frien d=frie nd.n ext;while(frie nd!=n ull);public Stri ng toStri ng()return new String(name+t+sex+t+chinese+t+english);Tom m 9088答解namesexchincscenslishMaryf7686Jackm66897.写出以下程序的功能import java.io.*;public class TestFilepublic static void main(String args) throws ExceptionBuffer
30、edReader br = new BufferedReader(new In putStreamReader(System.i n);BufferedWriter bw = new BufferedWriter( new FileWriter( in put.txt);Stri ng s;while (true)System.out.pri nt(请输入一个字符串:);System.out.flush();s=br.readL in e();if (s.len gth()=0) break;bw.write(s);bw. newLi ne();bw.close();功能:从键盘逐一输入字符串
31、,逐一输出Sinput.txt文件中,直至输入空行8阅读以下程序,写出输出结果。class Animal Ani mal() System.out.pri nt (A nimal );public class Dog extends Animal Dog() System.out.pri nt (Dog );public static void main( Stri ng args) Dog snoppy= new Dog(); 输出结果:Animal Dog四、程序填空题1以下程序是一个算术测试小软件,用来训练小学生的算术能力。程序有3个类组成,其中Teacher对象充当监视器,负责给出算术
32、题目,并判断回答者的答案是否正确。ComputerFrame对象负责为算术题目提供视图,比如用户可以通过ComputerFrame对象提供的GUI界面看到题目,并通过该GUI界面给出题目的答案;MailClass是软件的主类。程序运行效果如下图所示。仔细阅读程序代码,请按模板要求,在【代码】处填写合适的Java程序代码。MainClass.javapublic class Main Class public static void main(String args) ComputerFrame frame;frame=new ComputerFrame。;frame.setTitle(” 算术
33、测试);frame.setBou nds(100,100,650,180);ComputerFrame.javaimport java.awt.*;import java.awt.eve nt.*;import javax.swi ng.*;public class ComputerFrame exte nds JFrame JMe nuBar menu bar;JMe nu choiceGrade; /选择级别的菜单JMe nultem grade1,grade2;JTextField text On e,textTwo,textResult;JButt on getProblem,give
34、A nwser;JLabel operatorLabel,message;Teacher teacherZha ng;ComputerFrame() teacherZha ng=new Teacher();teacherZha ng.setMax In teger(20);setLayout(【代码 1】_new FlowLayout(); /设置 ComputerFrame 的布局为 FlowLayout 布局menubar = new JMenuBar(); choiceGrade = new JMenu( 选择级别 ); grade1 = new JMenuItem( 幼儿级别 ); g
35、rade2 = new JMenuItem( 儿童级别 ); grade1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) teacherZhang.setMaxInteger(10););grade2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) teacherZhang.setMaxInteger(50););choiceGrade.add(grade1);c
36、hoiceGrade.add(grade2);menubar.add(choiceGrade); setJMenuBar(menubar);【代码 1】 _ textOne=new JTextField(5); /创建 textOne, 其可见字符长是 5textTwo=new JTextField(5); textResult=new JTextField(5); operatorLabel=new JLabel(+); operatorLabel.setFont(new Font(Arial,Font.BOLD,20);message=new JLabel(你还没有回答呢”); getPr
37、oblem=new JButton( 获取题目 ); giveAnwser=new JButton( 确认答案 ); add(getProblem); add(textOne); add(operatorLabel); add(textTwo); add(new JLabel(=); add(textResult); add(giveAnwser); add(message);textResult.requestFocus();textOne.setEditable(false);textTwo.setEditable(false); getProblem.setActionCommand(g
38、etProblem); textResult.setActionCommand(answer); giveAnwser.setActionCommand(answer); teacherZhang.setJTextField(textOne,textTwo,textResult); teacherZhang.setJLabel(operatorLabel,message);【代码 2】 getProblem.addActionListener( teacherZhang); /将teacherZhang注册为 getProblem 的 ActionEvent 事件监视器【代码 3】 giveA
39、nwser.addActionListener(teacherZhang);/将teacherZhang注册为 giveAnwser 的 ActionEvent 事件监视器【代码 4】textResult.addActionListener(teacherZhang); _/将 teacherZhang注册为textResult的ActionEvent事件监视器setVisible(true);validate();setDefaultCloseOperation(DISPOSE_ON_CLOSE);Teacher.javaimport java.util.Random;import java
40、.awt.event.*;import javax.swing.*;public class Teacher implements ActionListener int numberOne,numberTwo;String operator=;boolean isRight;Random random; /用于给出随机数int maxInteger; /题目中最大的整数JTextField textOne,textTwo,textResult;JLabel operatorLabel,message;Teacher() random = new Random();public void set
41、MaxInteger(int n) maxInteger=n;public void actionPerformed(ActionEvent e) String str = e.getActionCommand();if(str.equals(getProblem) nu mberO ne = ran dom. nextl nt(maxl nteger)+1;/1 至 max In teger 之间的随机数 ; numberTwo=random.nextInt(maxInteger)+1;double d=Math.random(); / 获取(0,1)之间的随机数if(d=0.5)opera
42、tor=+;elseoperator=-;textOne.setText(+numberOne);textTwo.setText(+numberTwo);operatorLabel.setText(operator);message.setText(”请回答);textResult.setText(null);else if(str.equals(answer) String answer=textResult.getText();try int result=Integer.parseInt(answer);if(operator.equals(+)if(result= =numberOne
43、+numberTwo)message.setText(你回答正确”); elsemessage.setText(你回答错误”);else if(operator.equals(-)if(result= =numberOne-numberTwo)message.setText(你回答正确”);elsemessage.setText(你回答错误”);catch(NumberFormatException ex) message.setText(请输入数字字符”);public void setJTextField(JTextField . t) textOne=t0;textTwo=t1; tex
44、tResult=t2;public void setJLabel(JLabel .label) operatorLabel=label0;message=label1;2. 有如下java源程序,程序的功能是在数组中查找键盘键入的整数。如果找到则 输出该整数在数组中的序号,否则输出“ not found ”。例如,运行程序,输入99,程序输出: 99在数组中的序号是 5;输入 59,程序输出: not found 。仔细阅读程序代码,请按模板要求,在【代码】处填写合适的Java程序代码。(注意:不改动程序的结构,不得增行或删行)。import java.io.*;import java.uti
45、l.Scanner;public class J_Test public static void main(String args) throws IOException int 【代码 1】 a_ = 83,75,92,67,55,99,78,61;Scanner in = new Scanner( 【代码 2】 _System.in);int x = Integer.parseInt( 【代码 3】 in.readLine();int index = -1;for(int i = 0; 【代码 4】 _i=a.Length; +i) if(ai = x) in dex = i;break;
46、if(【代码 5】index=-1)System.out.pri ntln (” not foun d);elseSystem.out.println(x + 在数组中的序号是 ” + index);3. 下面程序的运行结果如下图。单击“Close ”按钮关闭窗口。1 T RictOkClose请阅读程序,在(1)和(2)处补充相应的内容,使整个程序能够正常运行。import java.awt.*;import java.awt.eve nt.*;import javax.swi ng.*;public class J_Test private JFrame f;private JButton
47、 butt on1, butt on2, butto n3;public void go() f = new JFrame(Test);f.setLayout (new FlowLayout();butt on1 = new JButt on (Ok);butt on2 = new JButt on (Ope n);butt on3 = new JButt on (Close);f.add(butto n1);f.add(butto n2);f.add(butto n3);button3.addActionListener(new Monitor(); _ f.setSize(160, 106
48、);f.setVisible(true);public static void main(String args) J_Test t = new J_Test();t.go();class Mon itor impleme nts Action Liste ner public void acti on Performed(Act ion Eve nt e)_ System.exit(O);An swer:(1) button3.addActionListener(new Monitor();(2) public void acti on Performed(Act ion Eve nt e)
49、五、编程题1.编写一个计算图形面积的程序,程序应当能够计算并输出矩形、圆的面积。考虑到程序的未来扩展,设计一个图形抽象类:Shape,在此基础上派生出图形类Rectangle类和 Circle类。(1) Rectangle类基本信息:宽度、高度。(2) Cirlce类基本信息:圆心坐标、半径。(3) 每个图形类有多个构造方法:默认构造方法、带参数的构造方法;成员变量为private 属性,成员方法为 public属性。(4) 每个图形类有计算图形面积getArea()方法,显示图形的基本信息toString()方法,以及访问方法 set/getoabstract Shape (public abstract double get/rea();ul 俯 Reccanp le ester ds Shape |private double width;private double height;public Rec tangle (double w;. double h) |width 耳 w:height - h;public Rectangle() fthisfO, 0);1public double geurea()(return width * height:public double get Width 0 return width:1public void set
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年建筑施工合同执行细则
- 劳务派遣补充合同范本2024年
- 2024专业版代理操盘合同
- 2024装修协议合同范本
- 2024设备转让合同范本设备购买合同范本2
- 南京银行学生贷款合同
- 城市轨道工程施工借款合同
- 2024苏州市全日制劳动合同
- 2024小卖部承包合同
- 2024自费养老合同范文
- 2024年二手物品寄售合同
- 2023年辽阳宏伟区龙鼎山社区卫生服务中心招聘工作人员考试真题
- 三年级数学(上)计算题专项练习附答案集锦
- 高一期中家长会班级基本情况打算和措施模板
- 历史期中复习课件七年级上册复习课件(部编版2024)
- 专题7.2 空间点、直线、平面之间的位置关系(举一反三)(新高考专用)(学生版) 2025年高考数学一轮复习专练(新高考专用)
- 7.2.2 先天性行为和学习行为练习 同步练习
- 2024-2025学年八年级物理上册 4.2光的反射说课稿(新版)新人教版
- 《现代管理原理》章节测试参考答案
- 2024秋期国家开放大学专科《高等数学基础》一平台在线形考(形考任务一至四)试题及答案
- TPO26听力题目及答案
评论
0/150
提交评论