B、MouseClick事件 C、MouseEvent事件 D、ItemEvent事件
24、Runnable接口只有一个方法,这个方法是( B ) A、start() B、run() C、init() D、begin()
25、启动线程,即使线程从新建状态转入就绪状态并进入就绪队列排队的方法是( A ) A、start() B、run() C、init() D、begin() 26、线程的sleep方法的功能是( B ) A、使线程死亡
B、线程暂时放弃CPU资源
C、线程休息一会,但不放弃CPU资源 D、线程结束
27、当多个线程调用同一方法时,为使线程同步,该方法应使用修饰关键字( C ) A、protected B、void C、synchronized D、public 28、当创建一个URL对象url后,完成定位到这个url的方法是( D ) A、getAppletContext( ) B、URL(url)
C、showDocument().getAppletContext() D、getAppletContext().showDocument() 29、建立客户端套接字的构造方法名是( A )
A、Socket() B、ServerSocket() C、UrlSocket() D、UdpSocket() 30、建立服务器端套接字的构造方法名是( B )
A、Socket() B、ServerSocket() C、UrlSocket() D、UdpSocket()
31、创建一个数据库连接对象con后,con调用( B )方法创建一个SQL语句对象。 A、create( ) B、createStatement() C、Statement() D、creatSql()
- 11 -
三、判断题
1、如果类里定义了一个或多个构造方法,那么Java不提供默认的构造方法。(√) 2、如果定义的类中没有给出构造方法,系统也不会提供构造方法。(╳) 系统给出与类同名的构造方法。 3、可以通过类名直接访问类变量。(√)
4、实例方法既能被对象调用,又能用类名直接调用。(╳) 实例方法只能通过对象来调用。
5、类方法既能被对象调用,又能用类名直接调用。(√) 6、一个类的所有对象共享类变量。(√)
7、类体的内容由两部分组成,一部分是变量的定义,一部分是方法的定义。(√) 8、方法的定义由两部分组成,方法的声明和方法体。(√) 9、Java类的继承允许一个子类可以有多个父类。(╳) Java只允许单重继承。
10、多态性就是指父类的某个方法被其子类重写时,可以各自产生自己的功能行为。(√) 11、Java不允许使用int型变量指定数组的大小。(╳)
与C语言不同,Java允许使用int型变量指定数组的大小。
12、容器本身也是一个组件,因此,可以把一个容器添加到另一个容器中实现容器的嵌套。(√) 13、Java Applet小程序必须由浏览器来运行。(√)
14、文本框(TextField类的对象)和文本区(textArea类的对象)的不同之处是二者对事件的处理不同。(╳) 二者的文本处理方式与方法也不同。
15、文本区(textArea类)的方法setText(String s)和append(String s)的功能是相同的。(╳)
SetText(String s)方法将在文本区中重写文本s并覆盖原先的文本,而append(String s)只是在文本区尾部追加文本s。
16、标签的功能只是显示文本,不能动态地编辑文本。(√) 17、Panel类的实例及它的子类的实例都是容器。(√) 18、Canvas类的实例及它的子类的实例都是容器。(╳) Canvas画布,可在其中绘画,不是容器类。
19、一个容器设置布局的方法是setLayout(布局对象)。(√) 20、BorderLayout布局是将容器设置成上、中、下三个区域。(╳) 该布局是将容器设置成东、南、西、北、中五个区域。
21、用GridLayout布局的容器调用add方法将组件加入到容器中时,可以直接设定在某个网格单元中添加组件。(╳)
只能按网格顺序添加组件。
22、Java Applet小程序类及其子类所创建的对象默认的布局是BorderLayout。(╳) 是FlowLayout布局。
23、Panel类及其子类所创建的对象默认的布局是FlowLayout。(√) 24、Frame类及其子类所创建的对象默认的布局是BorderLayout。(√) 25、Dialog类及其子类所创建的对象默认的布局是FlowLayout。(╳) 是BorderLayout布局。
26、选择框Checkbox类的方法setState(boolean b)只能将选择框设置成选中状态。(╳) 参数b为false为未选中状态。 27、下拉列表Choice类的方法select(int index)可以把下拉列表中索引值是index的选项设置成选中状态。(√)
28、组件调用方法setSize(int w,int h)可以设置组件的大小。(√)
29、组件调用方法setLocation(int x,int y)可以设置组件在容器中的位置。(√)
- 12 -
30、组件调用方法setBounds(int x,int y,int w,int h)可以设置组件在容器中的位置和组件的大小。(√) 31、组件调用方法setBackground(Color c)可以设置组件上的字体的颜色。(╳) 是设置组件背景颜色。
32、组件调用repaint()方法时,会自动调用update()方法,而update()方法的功能是清除paint()以前所画的内容。(√)
33、将菜单条放在窗口上的方法是setMenuBar(MenuBar bar)。(√) 34、菜单放在菜单条里,菜单项放在菜单里。(√) 35、Menu 是MenuItem的子类。(√)
36、对话框必须要依赖于某个窗口或组件。(√)
37、有模式对话框处于激活状态时,程序仍能激活它所依赖的窗口或组件。(╳) 按有模式对话框定义,不能激活其依赖的窗口。 38、进程是程序的一次动态执行过程。(√)
39、一个进程在其执行过程中,可以产生多个线程。(√)
40、Java中编程实现多线程应用有两个途径:一种是用Thread类的子类创建线程,另一种是用Thread类创建线程。(√)
41、用Thread类创建线程时,创建目标对象的类必须实现Runnable方法。(√) 42、FileInputStream使用字节流读取文件,而FileReader使用字符流读取文件。(√) 43、RandomAccessFile类创建的流既可以作为源也可以作为目地的。(√) 44、客户端和服务器端呼叫的端口号必须相同。(√)
45、Java程序是由若干类定义组成的,类定义包括定义类头和定义类体。(√) 46、一个Java类可以有一个父类,并实现多个接口。(√)
47、如果try块中没有语句产生异常,则在执行完try块中的全部语句后,再进入try块后面的catch块。(╳) 不产生异常就不进入catch块。
48个try块都必须有至少一个catch块与之对应,当一个try块有多个catch块与之对应时,应该把参数为父类异常对象的catch块排在后面。(√)
49、Java中画圆和画椭圆使用的是相同的方法。(√)
50、调用画矩形方法需要给出的是矩形左上角和右下角的坐标。(╳) 给出左上角座标及矩形有长度和宽度。
51、在Applet中,绘制图形的语句不一定写在paint方法里,但是需要paint方法把其Graphics对象参数g传递给这个用户自己的绘图方法。(√)
52、在Applet中显示一幅图像,首先要把它调入内存,保存在一个Image对象中,然后调用drawImage()方法画出这个图像。(√)
53、用setVisible(false)方法可以使组件隐藏不可见,但是一旦隐藏便不能恢复显示。(╳) 可用setVisible(true)恢复可见。
54、Label、TextField和TextArea对象都拥有方法setText(),用来设置其中的文本内容。(√) 55、对于一个Button对象,可以调用方法getLabel()获取其上的标签,从而判断是哪个按钮。(√) 56、一个Checkbox对象既可以作为一个复选按钮,也可以作为一个单选按钮组中的一个按钮。(√) 57、一个复选按钮实现的是“二选一”的结构,一个单选按钮组实现的是“多选一”的结构。(√) 58、List对象可以实现“多选一”结构,也可以实现“多选多”结构,完全由创建List对象时的参数确定。(√) 59、所有的鼠标事件都由实现了MouseListener监听接口的监听者来处理。(╳) 鼠标移动等由MouseMotionListener接口监听处理。
60、当用户鼠标移入Applet的区域范围时触发mouseEnter()方法,当用户鼠标移出Applet的区域范围时触发mouseExit()方法。(√)
61、调用KeyEvent对象的方法getKeyChar()可以获得用户操作的键盘按键的字符值,调用getKeyText()可以获得用户操作的一些特殊字符,例如“F3”等。(√)
62、鼠标点击在屏幕上任何位置处,都可以激活mouseClicked()方法。(╳)
- 13 -
只在对鼠标事件监听的区域内可以。
63、使用BorderLayout的容器最多只能放置5个组件,如果要放置更多的组件,则需要使用多层容器。(√) 64、使用BorderLayout和GridLayout布局策略的容器,其中的所有空间都被组件占满,没有任何空隙。(╳) 组件间可以设置横向和纵向空隙。
65、使用GridLayout布局策略的容器中,所有的组件都有相同大小。(√) 66、一个容器中可以混合使用多种布局策略。(√)
67、可以使用append()方法把一个字符串添加到一个TextField中原有字符串的后面。(√)
68、Canvas对象外观类似于Panel对象,也可以产生鼠标事件;但是它不是容器,不能在其中添加其它的组件;它拥有paint(Graphics g)方法,所以可以在其上画图。(√) 69、新创建的Frame窗框对象,会自动显示在屏幕上。(╳) 必须用setVisible(true)方法才能显示在屏幕上。
70、使用add()方法可以向容器中添加组件,使用remove()方法可以将组件从容器中移出。(√) 71、Menu对象中只能加入MenuItem对象。(╳) 还可以加入Menu对象,以便设置子菜单。
72、设一个窗口中包含一个按钮,当用户点击该按钮时会弹出一个无模式对话框,则当窗口关闭时该对话框也随之关闭。(√)
73、MenuItem也可以添加到MenuBar上。(╳) 只能添加到Menu上。
74、利用File对象不但可以判断一个文件或目录是否存在、是否可读可写、是否是文件、是否是目录,而且可以执行创建子目录、列举目录中的文件、获得文件长度、删除文件、修改文件名字等操作。(√) 75、打开一个文件输入输出流不需使用try-catch结构。(╳) 打开文件必须使用try-catch结构。
76、一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run0方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run() 方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。(√)
77、下面的语句将线程对象mt的优先级设置为12:mt.setPriority(12);(√) 78、某程序中的主类不是Thread的子类,也没有实现Runnable接口,则这个主类运行时不能控制主线程睡眠。(╳)
79、sleep()和wait()方法都使当前运行线程放弃处理器和它所占用的同步资源管理。(╳) sleep()方法是,而wait()方法不是。
80、挂起、阻塞或等待的线程都能够恢复运行,但是停止运行的线程将不可能再复生。(√)
- 14 -
四、写出下列程序或程序片段的运行结果
1、
public class E1 {
public static void main(String args[]) {
int sum=0;
for(int k=1;k<=10;k++) {
sum=sum+k; }
System.out.println(“sum=”+sum); } }
答:运行结果是 sum=55 2、
import java.awt.*; public class E2 {
public static void main(String args[]) {
int p=1;
for(int k=1;k<=5;k++) {
p=p*k; }
System.out,println(“p=”+p); } }
答:运行结果是 p=120 3、
public class Class1 {
public static void main (String[] args) {
int a[]={23,67,11,40,15}; int b[]={47,23,29,10,15}; int c[]={1,1,1,1,1};
for(int i=0;i
- 15 -