1 / 61

兴安盟广播电视大学

兴安盟广播电视大学. 《JAVA 语言和 WWW 技术 》 期末复习 主讲人:郎鸿雁 2008 年 12 月. 一、判断题. 1 .静态初始化器没有方法名、返回值和参数列表,静态初始化器是在它所属的类加载入内存时由系统自动调用。 2 .凡是 Java Applet 程序,必须加载 java.applet 包;凡是使用图形界面,必须加载 java.awt 包;凡是使用图形界面的事件处理,必须加载 java.awt.event 包。. √. √. 一、判断题.

mikaia
Download Presentation

兴安盟广播电视大学

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 兴安盟广播电视大学 《JAVA语言和WWW技术》 期末复习 主讲人:郎鸿雁 2008年12月

  2. 一、判断题 1.静态初始化器没有方法名、返回值和参数列表,静态初始化器是在它所属的类加载入内存时由系统自动调用。 2.凡是Java Applet程序,必须加载java.applet包;凡是使用图形界面,必须加载java.awt包;凡是使用图形界面的事件处理,必须加载java.awt.event包。 √ √

  3. 一、判断题 3.接口是一种特殊的类,接口中的域都是常量,接口中的方法都是抽象方法,因此接口中的域都应该由public static final修饰,接口中的方法都应该由public abstract修饰。 4.任何类都有构造函数,如果没有构造函数,就不能创建该类的对象。 × √

  4. 一、判断题 5.Java的事件处理机制中引入了委托事件模型,具体说来就是,所有事件类都有一个监听者接口与之相对应,而事件类中的每个具体事件类型都有一个具体的抽象方法与之对应。 6.所有已被private修饰符修饰的方法以及包含在final类中的方法,都是final方法。 × √

  5. 一、判断题 7.单行文本框TextField和多行文本区域TextArea都可以引发TextEvent类代表的TEXT_VALUE_CHANGED事件和ActionEvent类的ACTION_PERFORMED事件。 8.接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。 × √

  6. 一、判断题 9.设String对象s=”Hi”,则语句System.out.println(s.concat(”Yohoo!”))的输出是Hi Yohoo!。 10.创建Vector对象时可以指定该对象的扩展单位,如不指定系统将以Vector的初始容量为单位扩展这个对象。 √ √

  7. 一、判断题 11.Java Applet是由独立的解释器程序来解释运行的。 12.Java源程序是由类定义组成的,每个程序中只有一个类是主类,这个主类是指包含main方法的类。 × ×

  8. 一、判断题 13.数组是长度固定的数据结构,数组中的元素只能是简单数据类型;向量(Vector)对象中元素的个数是可变的,向量中的元素不能是简单数据类型 。 14.Java程序中,创建新的类对象用关键字new,回收无用的类对象使用关键字free。 × ×

  9. 一、判断题 15.抽象方法必须存在于抽象类之中,所以抽象类中的方法都必须是抽象方法。 16.抽象类中的抽象方法必须在该类的子类中具体实现。 × ×

  10. 一、判断题 17.如果p是父类Parent的对象,而c是子类Child的对象,则语句c=p是正确的。 18.某程序中的主类不是Thread的子类,也没有实现Runnable接口,则这个主类运行时不能控制主线程睡眠。 × ×

  11. 一、判断题 19.Java中的String类的对象既可以是字符串常量,也可以是字符串变量。 20.一个暂时终止运行的线程(如阻塞或睡眠)在排除了终止原因后直接运行。 × ×

  12. 二、单项选择题 1.Java Application程序中有且只能有一个main方法,该方法头的书写合法的是( )。A.public static void main()B.public static void main(String [] args)C.public static int main(String [] arg)D.public void main(String arg[]) 答案:B

  13. 二、单项选择题 2.Java的类库被划分为若干不同的包,每个包中都有若干个具有特定功能和相互关系的类和接口。以下缺省加载的包是( )。A.java.lang包 B.java.io包C.java.util包   D.java.awt包 答案:A

  14. 二、单项选择题 3.关于被私有保护访问控制符private protecte修饰的成员变量,以下说法正确的是( )。A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类。B.可以被两种类访问和引用:该类自身、该类的所有子类。C.只能被该类自身所访问和修改。D.只能被同一个包中的类访问。 答案:B

  15. 二、单项选择题 4.下列关于修饰符混用的说法,错误的是( )。A.abstract不能与final并列修饰同一个类。B.abstract类中不可以有private的成员。C.abstract方法必须在abstract类中。D.static方法中能处理非static的属性。 答案:D

  16. 二、单项选择题 5.容器Panel和Applet缺省使用的布局编辑策略是( )。A.BorderLayout B.FlowLayout C.GridLayout D.CardLayout 答案:B

  17. 二、单项选择题 6.一般来说,每个事件类都有一个监听者接口与之相对应,而事件类中的每个具体事件类型都有一个具体的抽象方法与之对应。以下事件类( )不对应具体的事件,所有没有监听者与之相对应。A.ActionEvent B.InputEventC.ItemEvent D.MouseEvent 答案:B

  18. 二、单项选择题 7.关于以下application的说明,正确的是( )。1. class StaticStuff2. {3. static int x=10;4. static { x+=5; }5. public static void main(String args[])6. {7. System.out.println(“x=”+x);8. }9. static {x/=3;}10. }A.4行和9行不能通过编译,因为缺少方法名和返回类型。B.9行不能通过编译,因为只能有一个静态初始化其器。C.编译通过,执行结果为:x=5D.编译通过,执行结果为:x=3 答案:C

  19. 二、单项选择题 8.关于以下程序代码的说明正确的是( )。1. class HasStatic{2. private static int x=100;3. public static void main(String args[]){4. HasStatic hs1=new HasStatic();5. hs1.x++;6. HasStatic hs2=new HasStatic();7. hs2.x++;8. hs1=new HasStatic();9. hs1.x++;10. HasStatic.x--;11. System.out.println(“x=”+x);12. }13. }A.5行不能通过编译,因为引用了私有静态变量。B.10行不能通过编译,因为x是私有静态变量。C.编译通过,输出结果为:x=103D.编译通过,输出结果为:x=102 答案:D

  20. 二、单项选择题 9.通过调用new List(10,false)创建一个列表,关于该列表的几个说法哪项是错误的( )。 A.该列表不支持复选 B.该列表有10个选项 C.根据需要该列表可能有垂直滚动条 D.该列表支持10个可见选项 答案:B

  21. 二、单项选择题 10.Java中的容器( )是可以拥有菜单的容器。 A.Applet B.Panel C.FileDialog D.Frame 答案:D

  22. 二、单项选择题 11.以下程序段代码哪一项是错误的( )。 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 Test{// do something...} D.import java.io.*; import java.awt.*; public class Test{// do something...} 答案:B

  23. 二、单项选择题 12.当Frame的大小被改变时Frame中的按钮的位置可能被改变时使用的是哪一个布局管理器( )。A.BorderLayout B.FlowLayout C.GridLayout D.CardLayout 答案:B

  24. 三、书写语句完成下面的功能 1.定义一个类,其名称为MyClass,它可以被所有的其他类访问。 答案:public class MyClass{}

  25. 三、书写语句完成下面的功能 2.调用对象Object1的方法method1,把返回值赋值给变量Hold。 答案:Hold=Object1.method1();

  26. 三、书写语句完成下面的功能 3.定义一个无形式参数无返回值的方法method2的方法头,使得通过类名作前缀就可以调用它。 答案:static void method2()

  27. 三、书写语句完成下面的功能 4.为类Class2编写构造函数的方法头,该构造函数接受两个整形形式参数。 答案:Class2(int c1,int c2)

  28. 三、书写语句完成下面的功能 5.声明并创建一个含有10个整形数据的数组,且每个数组元素的初值等于其相应的下标。 答案:int array[10]=new int[10]for(int i=0;i<array.length;i++) array[i]=i;或int array[10]={0,1,2,3,4,5,6,7,8,9};

  29. 三、书写语句完成下面的功能 6. 把二维数组TwoDimArray的每一行的第一个元素设置为零。 答案:for(int i=0;i<TwoDimArray.length;i++) TwoDimArray[i][0]=0;

  30. 三、书写语句完成下面的功能 7. 为HTML文件书写一个语句,嵌入一个名为MyApplet.class的Applet字节码文件,其宽度为300,高度为200。 答案: <applet code=”MyApplet.class” width=300 height=200>

  31. 三、书写语句完成下面的功能 8. 创建一个空白的TextField对象tf,其长度为10个字符。 答案:TextField tf=new TextField(10);

  32. 三、书写语句完成下面的功能 9. 某同学用语句drawOval(10,10,150,150)画出一个圆,请画出它的外接矩形。 答案:drawRect(10,10,150,150);

  33. 三、书写语句完成下面的功能 10. 创建一个FlowLayout,使应用该布局管理器的各个组件都向右对齐地排列。 答案: FlowLayout fl=new FlowLayout(FlowLayout.RIGHT);

  34. 三、书写语句完成下面的功能 11.创建一个下拉列表Choice对象size,并将其注册给ItemEvent类所代表的选择事件对应的监听者接口。 答案: Choice size=new Choice();size.addItemListener(this);

  35. 三、书写语句完成下面的功能 12. 在子类Child的一个构造函数中,要通过参数para1、para2和para3调用其父类Parent的构造函数,写出Child构造函数的第一个可执行语句。 答案: super(para1,para2,para3);

  36. 四、指出下列每题中的错误,并进行改正。 1.class MyClass { int var=100; static int getVar() { return var; } } 错误:静态方法getVar()不能访问非静态变量var。改正:将变量var标志为静态变量,或者将方法getVar()标志为非静态方法。

  37. 四、指出下列每题中的错误,并进行改正。 2.public class MyClass { int data; void MyClass(int d) { data=d; } } 错误:构造函数不能定义返回类型。改正:将void去掉。

  38. 四、指出下列每题中的错误,并进行改正。 3.class MyClass { int data1,data2; MyClass() { data1=-1; } MyClass(int d) { data2=d; this(); } } 错误:this和super调用构造函数必须是方法中的第一条语句。改正:将语句this();放在语句data2=d;之前。

  39. 四、指出下列每题中的错误,并进行改正。 4.public static void main(String args[]) { try { char ch=(char)System.in.read(); } catch(InterruptedException e) { System.err.println(e.toString()); } } 错误:catch块中的异常类型不对。改正:将异常类型InterruptedException改为IOException。

  40. 四、指出下列每题中的错误,并进行改正。 5.public class MyApplet extends Applet { Label MyLabel; public void init(String args[]) { MyLabel=new Label(“can you see me?”); add(MyLabel); } } 错误:方法init()不应该有参数,另外缺少import语句。改正:加上语句import java.applet.*;和import java.awt.*;,将方法init()的方法头改为public void init()。

  41. 五、写出下列程序运行后的结果。 1.源程序如下: import java.io.*; class FirstApplication { public static void main(String args[]) { int array[]={1,2,3,4,5}; printArray(array); could_modify(array); printArray(array); }

  42. 五、写出下列程序运行后的结果。 static void could_modify (int a[]) { for(int i=0;i<a.length;i++) a[i]*=i; } static void printArray(int a[]) { for(int i=0;i<a.length;i++) System.out.print(a[i]+"\t"); System.out.println(); } } 输出结果: 1 2 3 4 5 0 2 6 12 20

  43. 五、写出下列程序运行后的结果。 2.源程序如下: import java.awt.Button; import java.awt.Frame; import java.awt.FlowLayout; class ButtonFrame extends Frame { ButtonFrame(String s) { super(s); setSize(200,100); setLayout(new FlowLayout()); for(int i=0;i<6;i++) add(new Button("Button"+i)); setVisible(true); } }

  44. 五、写出下列程序运行后的结果。 class TestButtonFrame { public static void main(String[] args) { ButtonFrame buttonFrame=new ButtonFrame("Test5_2"); } } 输出结果:

  45. 五、写出下列程序运行后的结果。 3.源程序如下: import java.io.*; class Point { private double x, y; public Point(double a, double b){ x = a; y = b; } public double x() { return x; } public double y() { return y; } public boolean equals(Point p) { return (x == p.x && y == p.y); } public String toString() { return new String("(" + x + ", " + y + ")"); } public static void main(String args[]) { Point p = new Point(2,3); System.out.println("p.x() = " + p.x() + ", p.y() = " + p.y()); System.out.println("p = " + p.toString());

  46. 五、写出下列程序运行后的结果。 Point q = new Point(7,4); System.out.println("q = " + q.toString()); if (q.equals(p)) System.out.println("q equals p"); else System.out.println("q does not equal p"); q = new Point(2,3); System.out.println("q = " + q.toString()); if (q.equals(p)) System.out.println("q equals p"); else System.out.println("q does not equal p"); try { System.in.read(); } catch (Exception e) {} } }

  47. 五、写出下列程序运行后的结果。 输出结果: p.x() = 2.0, p.y() = 3.0 p = (2.0, 3.0) q = (7.0, 4.0) q does not equal p q = (2.0, 3.0) q equals p

  48. 六、以下是一个Java Application程序,用链表结构来进行队列的模拟,阅读程序后回答问题。 class Node //结点类 { private int elem; private Node next; Node(int data) { elem=data; ( A ); }

  49. 六、以下是一个Java Application程序,用链表结构来进行队列的模拟,阅读程序后回答问题。 Node(int data,Node next) { elem=data; this.next=next; } void setElem(int data) { elem=data; }

  50. 六、以下是一个Java Application程序,用链表结构来进行队列的模拟,阅读程序后回答问题。 int getElem() { return elem; } void setNext(Node next) { this.next=next; } Node getNext() { return next; } }

More Related