java复习题库-.pdf
万维试题库系统第 1 页计算机语言Java 模拟题 1 一、单项选择题 (每题2分,共20分)1.定义类中可以用来修饰类名的修饰符是(B)A.private B.abstract C.native D.protected 2.下列不属于 Swing的顶层容器的一项的是(C)。A.JApplet B.JDialog C.JTree D.JFrame 3.MouseListener 接口不能处理的鼠标事件是(D)A按下鼠标左键B点击鼠标右键C鼠标进入D鼠标移动4.在Java 中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为(C )。A、隐藏 B、覆盖C、重载D、Java不支持此特性5.下面不属于 Java语言实现机制的是(A)。A并行机制B Java虚拟机C垃圾回收机制D代码安全检测6.在编写 Java Applet 程序时,一定要引入(import)(B)包。Ajava.awt.*Bjava.applet.*Cjava.io.*Djava.awt.event.*7.一般的绘图程序要定义一个JPanel子类。在 JPanel子类中还要重定义一个方法,在这个方法中调用绘图方法,绘制各种图形。要重定义的方法是(B)A.paint()B.paintComponent()C.repaint()D.update()8.下面对于 Java和C+的区别,描述不正确的是(C)。AJava没有指针而 C+有BJava具有跨平台性而C+没有CJava支持多继承而 C+只支持单继承DJava提供内存自动管理而C+不能9.线程是 Java程序的(D)机制。A.检查B.解释执行C.并行D.并发10.下列不属于 JComponent(D)。A.边框设置B.键盘导航C.提示信息D.调用本地图形系统二、填空题 (每空2分,共20分)1.Java源程序文件和字节码文件的扩展名分别为.java 和.class。万维试题库系统第 2 页2.Java中,异常分为_未检查异常 _和_已检查异常 _两类。3.在java程序里,在一个类内部嵌套定义的类称为内部类.4.Java程序的字节码文件的扩展名是_.class_。5.某程序想为一个long型整数文件构造随机读写对象,支持这个要求的类是_ RandomAccessFile。6.Java的编译程序先将Java源程序翻译成与机器无关的_。7.Applet 实例运行的起始点是_ Init()t_。8.设有数组 a和b的定义如下:inta=1,2,3;intb=4,5,6 执行以下代码“a=b;”,除了完成赋值操作之外,引起系统额外要做的工作是垃圾回收 _。三、判断题 (每题2分,共20分)1.Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。(对)2.在异常处理中总是将可能产生异常的语句放在try块中,用 catch子句去处理异常,而且一个try块之后只能对应一个 catch语句。(错)3.在Swing用户界面的程序设计中,容器可以被添加到其它容器中去。(对)4.一个 Applet 编译后的类名是Test.class,运行此小程序的命令是Java Test。(错)5.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(对)6.类A和类 B位于同一个包中,则除了私有成员,类A可以访问类 B的所有其他成员(对)7.实现一个接口,则在类中一定要实现接口中的所有方法.(错)8.一个方法最多能有一个return 语句 (对 )9.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(错)10.接口中的所有方法都没有实现.,(对)四、程序阅读题 (每空5分,共20分)1.阅读下列程序,请写出该程序的输出结果。class A int x,y;A(int a,int b)x=a;y=b;public class sample public static void main(String args)A pl,p2;p2=new A(12,15);p1=p2;p2.x+;System.out.println(p1.x=+p1.x);万维试题库系统第 3 页 p1.x=132.以下程序段的输出结果为5 6 7 8 9。public class TestArray public static void main(String args)int i,j;int a =5,9,6,8,7;for(i=0;i a.length-1;i+)int k=i;for(j=i;j a.length;j+)if(ajak)k=j;int temp=ai;ai=ak;ak=temp;for(i=0;ia.length;i+)System.out.print(ai+);System.out.println();3.以下定义的类ShareData用于管理多个线程共享数据data。一个线程生成data,另一个线程使用data。约定,新生成的 data只有被另一个线程使用后,才能生成下一个data。反之,一个 data被使用后,也不能再继续使用。所以,生成和使用data的线程之间需要互斥和同步。以下是管理上述使用方式的类,类内有要管理的共享数据,以及对共享数据的存操作putData()和取操作 getData()。class ShareData int data;共享数据boolean newData=false;有最近新生成data的标志synchronized int getData()while(!newData)try _ wait()_;catch(InterruptedExceptipn e)System.out.println(因错误,而中断!);newData=false;notify();万维试题库系统第 4 页return data;synchronized void putData(int n)while(newData)trywait();catch(InterruptedException e)System.out.println(因错误,而中断!);data=n;_ newData=true _;notify();return;4.以下程序创建了一个窗口,然后在窗口内显示Hello,World!。import javax.swing.*;import java awt*;public class HelloWorld public static void main(String ares)TextFrame frame=new TextFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame._ setVisable(true)_;class TextFrame extends JFrame public TextFrame()setTitle(HelloWorld);setSize(WIDTH,HEIGHT);TextPanel panel=new TextPanel();Container contentPane=getContentPane();contentPane add(panel);public static final int WIDTH=300;public static final int HEIGHT=200;class TextPanel extends JPanel public void paintComponent(Graphics g)万维试题库系统第 5 页super._ paintComponent(g)_;g.drawString(Hello,World!,x,y);public int x=100;public int y=100;五、编程题1.编写一个完整的Java Application 程序。该程序包含类Person、Student、TestStudent,具体要求如下:类 Person 属性name:String对象,表示一个人姓名sex:char类型,用来表示性别id:String对象,表示身份证号phone:String对象,表示联系电话email:String对象,表示 E-mail 地址方法Person(Name name,char sex,String id):构造函数String getId():获得身份证号void setEmail(String email):设置 E-mail 地址void setPhone(String phone):设置联系电话public String toString():返回个人的各项信息,包括姓名、性别等上述属性类 Student 从Person类派生,增加了以下属性和方法:属性sNo:long类型,表示学生的学号sClass:String对象,表示学生的班级方法Student(long sNo,String name,char sex,String id):构造函数setClass(String sClass):设置学生的班级信息public String toString():返回学生的各项信息,包括学号、班级、姓名等上述属性(3)类TestStudent作为主类要完成测试功能2.一个 Java小应用程序,界面有三个文本框和两个按钮,前两个文本框用于输入整数,第三个文本框用于输出结果。两个按钮分别表示加和减运算。当前两个文本框输入整数后,点击相应按钮,程序就将计算结果输出在第三个文本框中。以下是程序的大部分,其中监视按钮事件的方法未给出,试编写处理按钮事件的方法。注:这里是给定部分的程序,你要编写的是actionPerformed(ActionEvent e)方法。import java.applet.*;import javax.swing.*;import java.awt.*;import java.awt.event.*;class Panel1 extends JPanel JTextField text1,text2,text3;JButton addButton,subButton;万维试题库系统第 6 页Panel1()text1=new JTextField(10);text2=new JTextField(10);text3=new JTextField(10);setLayout(new GridLayout(5,1);addButton=new JButton(加);subButton=new JButton(减);add(text1);add(text2);add(text3);add(addButton);add(subButton);public class Classl extends Applet implements ActionListener Pane1 panel;public void init()setSize(100,200);panel=new Panel1();add(panel);(panel.addButton).addActionListener(this);(panel.subButton).addActionListener(this);public void actionPerformed(ActionEvent e)/这里是你要编写的代码