卓越工程师Java试题含答案.doc_第1页
卓越工程师Java试题含答案.doc_第2页
卓越工程师Java试题含答案.doc_第3页
卓越工程师Java试题含答案.doc_第4页
卓越工程师Java试题含答案.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

卓越工程师Java基础考试试卷一、选择题(每题1分,共20分)1.用Java虚拟机执行类名为Hello的应用程序的正确命令是( )。DA.java Hello.classB.Hello.classC.java Hello.javaD.java Hello2.编译一个Java程序Hello.java的正确命令形式是( )。CA.javac HelloB.Javac HelloC.javac Hello.javaD.javac hello3.设Hello.html文件嵌入一个Applet类Hello,运行或查看这个Applet的命令是( )。AA.appletviewer Hello.htmlB.单击Hello.classC.appletviewer Hello.classD.单击Hello.java4.设有如下程序段。int i=1,j=10;doif(ij) continue;j-;while(+i6)这段代码结束后i和j的值是什么?( )AA.i=6,j=5B.i=5,j=5C.i=6,j=4D.i=5,j=65.执行下列代码后,哪个结论是正确的?( )BString s=new String10;A.s10为”B.s9为nullC.s0为未定义D.s.length()为106.下面对methoda()方法的哪一种声明是包中的类可访问的,并且访问时不需要建立methoda()方法所在类的实例?( )CA.abstract public void methoda();B.public abstract double methoda();C.static void methoda(double dl)D.public native double methoda()7.下面哪一种声明的方法迫使它的子类去实现它?( )DA.public double method();B.static void method(double dl)C.public native double method();D.abstract public void method();8.下面的说法正确的是( )。CA.Java语言里的线程不是对象B.Java中任何可执行的类都需要main方法C.Java语言的类都是java.lang.Object的子类D.double是Java语言的合法标识符9.下述哪个事件表明在一个java.awt.Component构件上有一个按键被按下?( )AA.KeyEventB.KeyDownEventC.KeyPressEventD.KeyTypedEvent10.怎样创建一个监听类,当鼠标移动时,它可以接收事件?( )DA.通过继承MouseListener接口B.通过实现MouseListener接口C.通过继承MouseMotionListener接口D.通过实现MouseMotionListener接口11.下述哪些语句为真?( )AA.一个GridLayout布局管理器可以将多个构件定位在多行或多列上B.一个BorderLayout布局管理器的North位置是放置一个Frame的菜单栏的恰当位置C.构件在一个GridLayout布局管理器中可以改变单元的大小,可以在单元格中居中摆放D.一个BorderLayout布局管理器用于定位一个构件时,当容器改变大小时可以保持该构件的大小不变12.下述哪个选项为真?( )DA.Error类是一个RuntimeException异常B.任何抛出一个RuntimeException异常的语句必须包含在try块之内C.任何抛出一个Error对象的语句必须包含在try块之内D.任何抛出一个Exception异常的语句必须包含在try块之内13.下列关于Java线程的说法哪些是正确的?( )DA.每一个Java线程可以看成由代码、一个真实的CPU以及数据3部分组成B.创建线程的两种方法中,从Thread类中继承的创建方式可以防止出现多父类问题C.Thread类属于java.util程序包D.以上说法无一正确14.有如下程序。public class Foopublic static void main(String args)tryreturn;finallySystem.out.println(“Finally”);该程序的执行结果是( )。BA.程序无输出B.程序输出“Finally”C.代码可以通过编译,但执行时产生异常D.因为缺少catch块,所以编译出错15.下面的说法正确的是( )。DA.应用程序中可以使用的所有语句都可以在Applet中使用B.Applet程序中可以使用的所有语句都可以再应用程序中使用C.Applet程序都可以当作应用程序使用D.System.exit(0)不能在Applet中使用16.当浏览器从另一个URL返回包含一个Applet对象的页面时,应调用如下哪个方法?( )BA.init()B.start()C.stop()D.destroy()17.下面哪些类用于实现TCP/IP客户端和服务器?( )CA.ServerSocket,DatagramSocketB.Server,SockerC.Socket,ServerSocketD.DatagramPacket,DatagramSocket18.下面正确的创建Socket的语句是( )。BA.Socket a=new Socket(80);B.Socket b=new Socket(“”,80);C.ServerSocket c=new Socket(80);D.ServerSocket d=new Socket(“”,80);19.下面的描述中错误的是( )。BA.Statement的executeQuery()方法会返回一个结果集B.Statement的executeUpdate()方法会返回是否更新成功的boolean值C.使用ResultSet中getString()方法可以获得一个对应于数据库中char类型的值D.ResultSet中的next()方法会使结果集中的下一行成为当前行20.如果数据库中某个字段为numberic型,可以通过结果集中的哪个方法获取?( )BA.getNumberic()B.getDouble()C.setNumberic()D.setDouble()二、填空题(每空1分,共20分)1.main方法的声明修饰符包括_。public static void2.缩写JDK代表_。Java开发工具。3.执行下列代码后的结果是a=_、b=_、c=_、x=_。int x,a=2,b=3,c=4;x=+a+b+c+;3、4、5、104.Java中类成员的访问修饰符有以下3种,:private、public、_,再加上_也属于一种限定范围。其中,限定的范围最大的是_。protected、无修饰符、public5._布局管理器使用的是组件的最佳尺寸。FlowLayout6.如果有一个类MyFrame是Frame的子类,能够被不同包中的类所使用,同时又能够为线程提供运行代码(run()方法),请写出该类的声明头部:_。public class MyFrame extends Frame implements Runnable7.完成下面程序中需要填入的内容。/import java.awt._;import java._.Applet;public class Hello extends Applet /一个Appletpublic voin paint(Graphics g)g.drawString(“Hello world!”,20,20);Graphics、applet8.JDBC中ResultSet对象的_方法可以使游标指向结果集的下一条记录,_方法可以以布尔值的形式获取结果集的某一列的值。next()、getBoolean()9.JDBC中获取Connection对象需要调用_类的_方法(只需写出方法名)。这个方法的一种形式带有3个字符串参数,这3个参数的含义分别为_、_、_。DriverManager、getConnection、数据库URL标识、访问数据库的用户名、访问数据库的密码三、简答题(每题5分,共30分)1. 什么是访问控制符?有哪些访问控制符?哪些可以用来修饰类?哪些用来修饰域和方法?答:访问控制符是一组限定类、域或方法是否可以被程序内和程序之外的部分访问或调用的修饰符。具体的说,类及其属性和方法的访问控制符规定了程序内的其他部分和程序之外其他部分是否有权访问和调用它们。其中程序里的其他部分是指程序中的该类之外的其他类或方法。类的访问控制符只有一个public。域和方法的访问控制符有public、private、protected。另外还有一种没有定义专门的访问控制符的情况,即默认情况。2. 什么是域的隐藏?什么是方法的覆盖?方法的覆盖与域的隐藏有何不同?答:子类重新定义一个与从父类继承来的域变量完全相同的变量,称为域的隐藏。即子类中定义了与父类同名的域变量,就是子类变量对同名父类变量的隐藏。方法的覆盖是指子类重定义从父类继承来的一个同名方法,此时子类将清除父类方法的影响。子类可以通过重新定义与父类同名的方法,实现自身的行为。方法的覆盖与域的隐藏的不同之处在于:子类隐藏父类的域只是使之不可见,父类的同名域仍然占有自己独立的内存空间;而子类方法对父类同名方法的覆盖将清除父类方法占用的内存空间,从而使父类方法在子类对象中不复存在。3. 构造方法的继承原则有哪些?继承方式下子类的构造方法如何设计?答:子类可以继承父类的构造方法,构造方法的继承遵循以下的原则。l 子类无条件地继承父类的无参数的构造方法。l 如果子类没有定义构造方法,则它将继承父类的无参数构造方法作为自己的构造方法;如果子类定义了构造方法,则在创建新对象时,将先执行继承自父类的无参数构造方法,然后再执行自己的构造方法。l 对于父类的带参数构造方法,子类可以通过在自己的构造方法中使用super关键字来调用它,但这个调用语句必须是子类构造方法的第一个可执行语句。设计子类的构造方法可选择如下方式。l 仅调用父类的无参数构造方法。l 定义自己的一个(或多个)构造方法并调用父类的带参数的构造方法。4. 简述Java的异常处理机制。答:Java采取“抛出捕获”的方式,一旦一个异常现象产生了,Runtime环境和应用程序抛出各种标准类型和自定义的异常,系统就可以捕获这些异常,并一定有相应的机制来处理它,确保不会产生死机、死循环或其他对操作系统的损害,从而保证了整个程序运行的安全性。5. 写出使用多线程方法使得一个服务器同时为多个客户端程序服务的基本过程。答:创建多个客户服务器的过程为:创建两个类,第一个类等待连接,并且一旦建立连接就把一个活跃连接传送到第二个类的一个对象;第二个类扩展Thread,并且与某个客户进行通信。其具体步骤如下:(1)第一个类在一个特定的端口创建一个新的ServerSocket对象,它的accept方法应该嵌入到一个无限循环中。如果建立起一个连接,则这个类将accept方法返回的Socket传递到扩展Thread的第二个类的一个新的对象中,一个新对象对应一个客户。(2)第二个类即线程类,在实例化过程中使用Socket作为输入参数。并在与客户的连接上建立输入和输出流。然后在run()内部按照一个的协议用输入输出流处理所有的通信。6. 归纳一下使用JDBC进行数据库连接的完整过程。答:(1)加载数据库驱动程序。(2)建立与SQL数据库的连接。(3)传送一个SQL命令。(4)获得执行结果。四、编程题(每题10分,共30分)1.编写一个用线程实现数字时钟的应用程序。import java.awt.*;import java.util.Calendar;public class Clock extends Frame implements RunnableThread thread;Font font=new Font(“Monospaced”,Font.BOLD,18);int hour,minute,second;Clock()if(thread=null)thread=new Thread(this);thread.start();setSize(200,100);setVisible(true);public void run()while(true)Calendar time=Calendar.getInstance();hour=time.get(Calendar.HOUR);minute=time.get(Calendar.MINUTE);second=time.get(Calendar.SECOND);trythread.sleep(1000);catch(Exception e)repaint(1000);public void paint(Graphics g)g.setFont(font);String time=String.valueOf(hour)+”:”+String.valueOf(minute)+”:”+String.valueOf(second);g.drawString(time,50,50);public static void main(String args)Clock c=new Clock();2.使用Socket编写一个服务器端程序,服务器端程序在端口8888监听,如果它接到客户端发来的“hello”请求,会回应一个“hello”,对客户端的其他请求不响应。import java.io.*;import .*;public class HelloServerpublic static void main(String args) throws IOExceptionServerSocket server=null;server=new ServerSocket(8888);Socket ClientSocket=null;ClientSocket=server.accept();String line;BufferedReader br=new BufferedReader(new InputStreamReader(ClientSocket.getInputStream(); PrintWriter pw=new PrintWriter(ClientSocket.getOutputStream();while(true)line=br.readLine();

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论