卓越⼯程师JAVA试题含答案_卓越⼯程师Java试题含答案.doc 卓越⼯程师Java基础考试试卷
⼀、选择题(每题1分,共20分)
1.⽤Java虚拟机执⾏类名为Hello的应⽤程序的正确命令是( )。D
A.java Hello.class
B.Hello.class
C.java Hello.java
D.java Hello
2.编译⼀个Java程序Hello.java的正确命令形式是( )。C
A.javac Hello
B.Javac Hello
C.javac Hello.java
D.javac hello
3.设Hello.html⽂件嵌⼊⼀个Applet类Hello,运⾏或查看这个Applet的命令是( )。A
A.appletviewer Hello.html
B.单击Hello.class
C.appletviewer Hello.class
D.单击Hello.java
4.设有如下程序段。
int i=1,j=10;
do{
if(i>j) continue;
j--;
}while(++i<6)
这段代码结束后i和j的值是什么?( )A
A.i=6,j=5
B.i=5,j=5
C.i=6,j=4
D.i=5,j=6
5.执⾏下列代码后,哪个结论是正确的?( )B
String[] s=new String[10];
A.s[10]为””
B.s[9]为null
C.s[0]为未定义
D.s.length()为10
6.下⾯对methoda()⽅法的哪⼀种声明是包中的类可访问的,并且访问时不需要建⽴methoda()⽅法所在类的实例?( )C
A.abstract public void methoda();
B.public abstract double methoda();
C.static void methoda(double dl){}
D.public native double methoda(){}
7.下⾯哪⼀种声明的⽅法迫使它的⼦类去实现它?( )D
A.public double method();
B.static void method(double dl){}
C.public native double method();
D.abstract public void method();
8.下⾯的说法正确的是( )。C
A.Java语⾔⾥的线程不是对象
B.Java中任何可执⾏的类都需要main⽅法
C.Java语⾔的类都是java.lang.Object的⼦类
D.double是Java语⾔的合法标识符
9.下述哪个事件表明在⼀个java.awt.Component构件上有⼀个按键被按下?( )A
A.KeyEvent
B.KeyDownEvent
C.KeyPressEvent
D.KeyTypedEvent
10.怎样创建⼀个监听类,当⿏标移动时,它可以接收事件?( )D
A.通过继承MouseListener接⼝
B.通过实现MouseListener接⼝
C.通过继承MouseMotionListener接⼝
D.通过实现MouseMotionListener接⼝
11.下述哪些语句为真?( )A
A.⼀个GridLayout布局管理器可以将多个构件定位在多⾏或多列上
B.⼀个BorderLayout布局管理器的North位置是放置⼀个Frame的菜单栏的恰当位置
C.构件在⼀个GridLayout布局管理器中可以改变单元的⼤⼩,可以在单元格中居中摆放
D.⼀个BorderLayout布局管理器⽤于定位⼀个构件时,当容器改变⼤⼩时可以保持该构件的⼤⼩不变
12.下述哪个选项为真?( )D
A.Error类是⼀个RuntimeException异常
B.任何抛出⼀个RuntimeException异常的语句必须包含在try块之内
C.任何抛出⼀个Error对象的语句必须包含在try块之内
D.任何抛出⼀个Exception异常的语句必须包含在try块之内
13.下列关于Java线程的说法哪些是正确的?( )D
A.每⼀个Java线程可以看成由代码、⼀个真实的CPU以及数据3部分组成
B.创建线程的两种⽅法中,从Thread类中继承的创建⽅式可以防⽌出现多⽗类问题
C.Thread类属于java.util程序包
D.以上说法⽆⼀正确
14.有如下程序。
public class Foo{
public static void main(String args[]){
try{return;}
finally{System.out.println(“Finally”);}
}
}
该程序的执⾏结果是( )。B
A.程序⽆输出
B.程序输出“Finally”
C.代码可以通过编译,但执⾏时产⽣异常
D.因为缺少catch块,所以编译出错
15.下⾯的说法正确的是( )。D
A.应⽤程序中可以使⽤的所有语句都可以在Applet中使⽤
B.Applet程序中可以使⽤的所有语句都可以再应⽤程序中使⽤
C.Applet程序都可以当作应⽤程序使⽤
it(0)不能在Applet中使⽤
16.当浏览器从另⼀个URL返回包含⼀个Applet对象的页⾯时,应调⽤如下哪个⽅法?( )B
A.init()
B.start()
C.stop()
D.destroy()
17.下⾯哪些类⽤于实现TCP/IP客户端和服务器?( )C
A.ServerSocket,DatagramSocket
B.Server,Socker
C.Socket,ServerSocket
D.DatagramPacket,DatagramSocket
18.下⾯正确的创建Socket的语句是( )。B
A.Socket a=new Socket(80);
B.Socket b=new Socket(“130.3.4.5”,80);
C.ServerSocket c=new Socket(80);
D.ServerSocket d=new Socket(“130.3.4.5”,80);
19.下⾯的描述中错误的是( )。B
A.Statement的executeQuery()⽅法会返回⼀个结果集
B.Statement的executeUpdate()⽅法会返回是否更新成功的boolean值
C.使⽤ResultSet中getString()⽅法可以获得⼀个对应于数据库中char类型的值
D.ResultSet中的next()⽅法会使结果集中的下⼀⾏成为当前⾏
20.如果数据库中某个字段为numberic型,可以通过结果集中的哪个⽅法获取?( )B
C.setNumberic()
D.setDouble()
⼆、填空题(每空1分,共20分)
1.main⽅法的声明修饰符包括________________________。public static void
2.缩写JDK代表________________________。Java开发⼯具。
3.执⾏下列代码后的结果是a=________、b=________、c=________、x=________。
int x,a=2,b=3,c=4;
x=++a+b+++c++;
3、4、5、10
4.Java中类成员的访问修饰符有以下3种,:private、public、____________,再加上____________也属于⼀种限定范围。其中,限定的范围最⼤的是____________。protected、⽆修饰符、public
5.________________布局管理器使⽤的是组件的最佳尺⼨。
FlowLayout
6.如果有⼀个类MyFrame是Frame的⼦类,能够被不同包中的类所使⽤,同时⼜能够为线程提供运⾏代码(run()⽅法),请写出该类的声明头部:____________________________________________________________________。
public class MyFrame extends Frame implements Runnable
7.完成下⾯程序中需要填⼊的内容。
import java.awt.______________;
import java.______________.Applet;
public class Hello extends Applet{ //⼀个Applet
public voin paint(Graphics g){
g.drawString(“Hello world!”,20,20);
}
}
Graphics、applet
8.JDBC中ResultSet对象的____________⽅法可以使游标指向结果集的下⼀条记录,________________⽅法可以以布尔值的形式获取结果集的某⼀列的值。
next()、getBoolean()
9.JDBC中获取Connection对象需要调⽤________________类的________________⽅法(只需写出⽅法名)。这个⽅法的⼀种形式带有3个字符串参数,这3个参数的含义分别为____________________、
____________________、____________________。
DriverManager、getConnection、数据库URL标识、访问数据库的⽤户名、访问数据库的密码
三、简答题(每题5分,共30分)
1. 什么是访问控制符?有哪些访问控制符?哪些可以⽤来修饰类?哪些⽤来修饰域和⽅法?
答:访问控制符是⼀组限定类、域或⽅法是否可以被程序内和程序之外的部分访问或调⽤的修饰符。具体的说,类及其属性和⽅法的访问控制符规定了程序内的其他部分和程序之外其他部分是否有权访问和调⽤它们。其中程序⾥的其他部分是指程序中的该类之外的其他类或⽅法。
类的访问控制符只有⼀个public。
域和⽅法的访问控制符有public、private、protected。另外还有⼀种没有定义专门的访问控制符的情况,即默认情况。
2. 什么是域的隐藏?什么是⽅法的覆盖?⽅法的覆盖与域的隐藏有何不同?
答:⼦类重新定义⼀个与从⽗类继承来的域变量完全相同的变量,称为域的隐藏。即⼦类中定义了与⽗类同名的域变量,就是⼦类变量对同名⽗类变量的隐藏。
java接口有没有构造方法
⽅法的覆盖是指⼦类重定义从⽗类继承来的⼀个同名⽅法,此时⼦类将清除⽗类⽅法的影响。⼦类可以通过重新定义与⽗类同名的⽅法,实现⾃⾝的⾏为。
⽅法的覆盖与域的隐藏的不同之处在于:⼦类隐藏⽗类的域只是使之不可见,⽗类的同名域仍然占有⾃⼰独⽴的内存空间;⽽⼦类⽅法对⽗类同名⽅法的覆盖将清除⽗类⽅法占⽤的内存空间,从⽽使⽗类⽅法在⼦类对象中不复存在。
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 Runnable{
Thread thread;
Font font=new Font(“Monospaced”,Font.BOLD,18);
int hour,minute,second;
Clock(){
if(thread==null){
thread=new Thread(this);
thread.start();
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论