《Java期末复习题2(11页).doc》由会员分享,可在线阅读,更多相关《Java期末复习题2(11页).doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-Java期末复习题2-第 11 页JAVA复习题2一、 选择1.MAX_LENGTH是int型public成员变量, 变量值保持为常量100,用简短语句定义这个变量。 A public int MAX_LENGTH=100; B final int MAX_LENGTH=100; C final public int MAX_LENGTH=100; D public final int MAX_LENGTH=100. 2.给出下面代码: 1) class Parent 2) private String name; 3) public Parent() 4) 5) public class
2、Child extends Parent 6) private String department; 7) public Child() 8) public String getValue() return name; 9) public static void main(String arg) 10) Parent p = new Parent(); 11) 12) 那些行将引起错误? A 第3行 B 第6行 C 第7行 D 第8行3.类Teacher和Student是类Person的子类; Person p; Teacher t; Student s; /p, t and s are al
3、l non-null. if(t instanceof Person) s = (Student)t; 最后一句语句的结果是: A 将构造一个Student对象; B 表达式是合法的; C 表达式是错误的; D 编译时正确,但运行时错误。 4.给出下面代码段 1) public class Test 2) int m, n; 3) public Test() 4) public Test(int a) m=a; 5) public static void main(String arg) 6) Test t1,t2; 7) int j,k; 8) j=0; k=0; 9) t1=new Tes
4、t(); 10) t2=new Test(j,k); 11) 12) 哪行将引起一个编译时错误? A line 3 B line 5 C line 6 D line 10 5.对于下列代码: 1) class Person 2) public void printValue(int i, int j) /. 3) public void printValue(int i)/. 4) 5) public class Teacher extends Person 6) public void printValue() /. 7) public void printValue(int i) /. 8
5、) public static void main(String args) 9) Person t = new Teacher(); 10) t.printValue(10); 11) 第10行语句将调用哪行语句?? A line 2 B line 3 C line 6 D line 76.哪个关键字可以抛出异常? A transient B finally C throw D static 7.Main()方法的返回类型是: A int B void C boolean D static 8.System类在哪个包中? A java.util B java.io C java.awt D
6、java.lang9.对于下列代码: public class Parent public int addValue( int a, int b) int s; s = a+b; return s; class Child extends Parent 下述哪些方法可以加入类Child? A int addValue( int a, int b )/ do something. B public void addValue (int a, int b )/ do something. C public int addValue( int a )/ do something. D public
7、int addValue( int a, int b )throws MyException /do something. 10.给出下面代码: public class test static int a = new a10; public static void main(String args) System.out.println(arr10); 那个选项是正确的? A 编译时将产生错误; B 编译时正确,运行时将产生错误; C 输出零; D 输出空。 11.下面哪些选项是正确的main方法说明? A public main(String args) B public static v
8、oid main(String args) C private static void main(String args) D void main() 二、多项选择1.下面哪些代码段是正确的Java源程序? A. package testpackage; public class Test/do something. B. import java.io.*; package testpackage; public class Test/ do something. C. import java.io.*; class Person/ do something. public class Tes
9、t/ do something. D. import java.io.*; import java.awt.*; public class Test/ do something.2. public class parent int change() class Child extends Parent 哪些方法可加入类Child中? A public int change() B int chang(int i) C private int change() D abstract int chang() 3. String s = hello; String t = hello; char c
10、 = h,e,l,l,o ; 下列哪些表达式返回true? A s.equals(t); B t.equals(c); C s=t; D t.equals(new String(hello); 4.给出下面代码段: 1) switch(m) 2) case 0: System.out.println(case 0); 3) case 1: System.out.println(case 1); break; 4) case 2: 5) default: System.out.println(default); 6) 下列m的哪些值将引起default的输出? A 0 B 1 C 2 D 3 5
11、.下列哪些说法是正确的? A Java 语言只允许单一继承 B Java 语言只允许实现一个接口 C Java 语言不允许同时继承一个类并实现一个接口 D Java 语言的单一继承使得代码更加可靠 6.下列关于的运算,哪些是正确的? A 0000 0100 0000 0000 0000 0000 0000 00005 的运行结果是 1000 0000 0000 0000 0000 0000 0000 0000 B 0000 0100 0000 0000 0000 0000 0000 00005的运行结果是 1111 1110 0000 0000 0000 0000 0000 0000 D 11
12、00 0000 0000 0000 0000 0000 0000 00005的运行结果是 0000 0110 0000 0000 0000 0000 0000 0000 7.下述哪些说法是正确的? A 实例变量是类的成员变量 B 实例变量是用static关键字声明的 C 方法变量在方法执行时创建 D 方法变量在使用之前必须初始化 8.对于下列代码: public class Sample long length; public Sample(long l) length = l; public static void main(String arg) Sample s1, s2, s3; s1
13、 = new Sample(21L); s2 = new Sample(21L); s3 = s2; long m = 21L; 下列哪些表达式返回值为true? A s1 = = s2; B s2 = = s3; C m = = s1; D s1.equals(m)9.下面说法哪些是正确的? A Applet可以访问本地文件 B 对static方法的调用不需要类实例 C socket类在java.lang中 D 127.0.0.1地址代表本机 10.下列说法正确的是: A java语言里的线程是没有优先级的 B String类在java.lang包中 C java语言支持类的序列化 D 能序
14、列化的类必须实现java.io.Serializable接口11.关于awt和swing说法正确的是: A awt在不同操作系统中显示相同的风格。 B swing在不同的操作系统中显示相同的风格 C java.awt的子类 D awt和swing都支持事件模型 12.关于Float,下列说法正确的是 A Float是一个类 B Float在java.lang包中 C Float a=1.0是正确的赋值方法 D Float a= new Float(1.0)是正确的赋值方法 13.下述哪些说法是正确的? A java语言中的类只能有一个构造函数 B 程序员可以自己定义自己的异常 C java语言
15、允许多继承 D socket在包中14.下列哪些说法是正确的? A IOException必须被捕获或抛出 B java语言会自动初始化变量的值 C java 语言不允许同时继承一个类并实现一个接口 D java语言会自动回收内存中的垃圾三、 填空题1.Collection的四种主要接口是 、 、 、 Collection,List,Map,Set2. 运行下列程序第 行出错。 1class Outer 2private int size=5; 3public Object makeInner(final int finalLocalVar) 4int LocalVar=6; 5class I
16、nner 6public String toString() 7return (#); 8return new Inner(); 9 10 public class OuterTest 11 public static void main(String args) 12 Outer outer=new Outer (); 13 Object obj=outer.makeInner(56); 14 System.out.println(The object is +obj.toString(); 3. 下列代码不能编译的原因是 Class A Private int x; Public stat
17、ic void main(String args) new B(); class B B()System.out.println(x); 因为在A的main方法中,还没有A的实例就要试图生成内部类的实例4. 写出下列程序的运行结果。public class Test1 private static StringmemberStr= hello;public static void changeStr(String paraStr) paraStr = welcome;memberStr = you;public static void main(String args) String main
18、Str = Java;changeStr(mainStr);System.out.println(mainStr);changeStr(memberStr);System.out.println(memberStr);memberStr=C+;System.out.println(memberStr);四、 编程题1. 构造一个类来描述屏幕上的一个点,该类的构成包括点的x和y两个坐标,以及一些对点进行的操作,包括:取得点的坐标值,对点的坐标进行赋值,编写应用程序生成该类的对象并对其进行操作。importjava.io.*;publicclassPointintx,y;publicPoint(i
19、ntx,inty)this.x=x; this.y=y;publicPointgetPoint()PointtempPoint=newPoint(x,y); returntempPoint;publicvoidsetPoint(Pointpoint)this.x=point.x;this.y=point.y;publicstaticvoidmain(Stringargs)PointPoint1=newPoint(3,4);System.out.println(Point1:+(+Point1.x+,+Point1.y+);PointPoint2=Point1.getPoint();System
20、.out.println(Point2:+(+Point2.x+,+Point2.y+);PointPoint3=newPoint(5,6);Point1.setPoint(Point3);System.out.println(Point1:+(+Point1.x+,+Point1.y+);2. 编写一个应用程序,完成文件的拷贝功能,文件名从命令行得到。 importjava.io.*;classFileCopypublicstaticvoidmain(Stringargs)FileInputStreamin;FileOutputStreamout; if(args.length2)Syste
21、m.out.println(Usage:javacopysrcfiledestfile);System.exit(-1);tryin=newFileInputStream(args0);out=newFileOutputStream(args1);copyFile(in,out);catch(Exceptione)System.out.println(e);privatestaticvoidcopyFile(FileInputStreamin,FileOutputStreamout)intlength;bytebuf=newbyte1024;trywhile(length=in.read(bu
22、f,0,1024)!=-1)out.write(buf,0,length);catch(Exceptione)System.out.println(Error:+e);System.exit(-1);3. Student类的定义如下,请完整实现ObjectIODemo类。ObjectIODemo类中有三个方法,writeObj()方法、readObj()方法和main()方法。根据main()方法中的调用情况,完成readObj()方法体的实现。class Student implements Serializable String no;String name;char gender;sho
23、rt age;float score;public Student(String no, String name, char gender, short age, float score) this.no = no;this.name = name;this.gender = gender;this.age = age;this.score = score;public class ObjectIODemo / 根据调用情况,写出writeObj()方法并实现之/根据调用情况,实现read()方法public static void main(String args) throws Excep
24、tionStudent s = new Student(101,张三,男,(short)19, 83F);Student t=null;writeObj(s, stu.dat);t=(Student)readObj(stu.dat);System.out.println(学号:+t.no);System.out.println(姓名:+t.name);System.out.println(性别:+t.gender);System.out.println(年龄:+t.age);System.out.println(分数:+t.score);4. 利用所学的Java语言知识,完成一个实现秒表功能的
25、Applet程序。它的GUI界面如下所示: 利用所学的Java语言知识,完成一个实现秒表功能的Applet程序。它的GUI界面如下所示: 要求该程序能够完成以下功能: (1) 在界面上方的文本框中,按照小时:分钟:秒的顺序实时显示系统时间; (2) 当按下界面中间的Current Time:按钮时,当前系统时间能够在界面下方的文本框中显示出来。 提示:可以通过调用java.util.Data类的方法,获得系统时间。Data类的接口如下所示, public class Date / 返回当前系统时间的小时值 public String getHours( ) / 返回当前系统时间的分钟值 pub
26、lic String getMintues( ) / 返回当前系统时间的秒钟值 public String getSeconds( ) importjava.awt.*;importjava.awt.event.*;importjava.applet.*;importjava.util.*;publicclassTimeViewerextendsAppletimplementsActionListener,RunnableThreadtimer;TextFieldin,out;Buttonbb;Panelp1,p2,p3;booleanstate;publicvoidinit()in=newT
27、extField(20);out=newTextField(20);bb=newButton(CurrentTime:);p1=newPanel();p2=newPanel();p3=newPanel();setLayout(newGridLayout(3,1);setSize(200,100); p1.add(in);p2.add(bb);p3.add(out); add(p1);add(p2);add(p3);bb.addActionListener(this);timer=newThread(this);state=true;timer.start();publicvoidactionPerformed(ActionEvente)/out.setText(in.getText();out.setText(currentTime();publicvoidrun()while(true)trytimer.sleep(1000);catch(InterruptedExceptione)in.setText(currentTime();StringcurrentTime()Datenow=newDate();Stringstr=now.getHours()+:+now.getMinutes()+:+now.getSeconds(); returnstr;
限制150内