JAVA期末复习资料2.docx
- 文档编号:8175892
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:33
- 大小:32.16KB
JAVA期末复习资料2.docx
《JAVA期末复习资料2.docx》由会员分享,可在线阅读,更多相关《JAVA期末复习资料2.docx(33页珍藏版)》请在冰豆网上搜索。
JAVA期末复习资料2
一、判断题
1、在Java程序中发生异常时,JVM会找到每个符合条件的catch都执行一次。
(F)
2、在Java程序中异常分为运行时异常和非运行时异常,非运行异常必须进行处理(F)
3、异常处理的try-catch块后必须有finally块。
(F)
4、异常处理器的排列次序影响处理异常的方法。
(T)
5、用catch(Exceptionexception)语句可以捕获所有异常和错误。
(F)
6、启动多线程必须调用start()方法,如果调用run()方法则没有启动新的线程(T)
7、run()方法是运行线程的主体,若run方法运行结束,线程就消亡了。
(T)
8、线程可以用yield()方法使同优先级的线程运行。
(T)
9、一个线程创建并启动后,它将执行自己的run()方法。
(T)
10、线程可以用yield()方法使较低优先级的线程运行。
(F)
11、每个Java线程的优先级都设置在常数1~12之间,默认的优先级设置为常数6。
(F)1~10,默认5
12、JFrame,JPanel,JApplet和JButton四种组件都属于容器组件。
(F)
13、BorderLayout是面板(JPanel)的缺省布局管理器。
(F)
14、BorderLayout最多可以使用5个组件。
(T)
15、一个面板(JPanel)不能被加入另一个面板(JPanel)中。
(F)
16、菜单需要一个JMenuBar对象,以使他们能被添加到JFrame。
(T)
17、标签(JLabel)可以在屏幕上显示一个字符或一幅图片。
(T)
18、BorderLayout是容器javax.swing.JFrame默认的布局管理器。
(T)
19、JTextArea可以用来接收多行文本的输入。
(T)
20、在Java坐标系统中,X值从左向右增加。
(T)
21、BorderLayout布局管理器把组件排列在北、南、东、西和中间区域。
(T)
22、边界布局管理器(BorderLayout)把容器分成5个区域,每个区域只能放一个组件。
(T)
23、一个组件可以注册一个或多个事件监听器。
(T)
24、通过类.URL中的成员方法可获得网络资源定位器的相关信息(T)
25、Socket的实例对象调用其成员方法getInputStream来获得该Socket所对应的输入流。
(T)
26、数据报(DatagramPacket)传输是不可靠的,无法保证包按顺序到达。
(T)
27、当Socket连接上面的传输结束后,服务器执行Socket的shutdown方法来关闭连接。
(F)
二、选择题
1、下说法中错误的一项是(A)。
A、线程一旦创建,则立即自动进行
B、线程创建后需要调用start()方法,将线程置于可运行状态
C、调用线程的start()方法后,线程也不一定能立即执行
D、线程处于可运行状态,意味着它可以被调度
2、下列说法中不正确的一项是(A)。
A、Thread类中没有定义run()方法B、可通过继承Thread类来创建线程
C、Runnable接口中定义了run()方法D、可以通过实现Runnable接口来创建线程
3、下列说法中,正确的一项是(C)
A、线程可以不运行于程序中B、一个程序中只能有一个线程
C、线程必须运行于程序中D、线程本身就是程序
4、线程开始运行时,是从下列哪一个方法开始执行的(B)
A、main()B、start()C、run()D、init()
5、Runnable接口中定义的方法是(C)
A、start()B、init()C、run()D、Runnable()
6、下列说法中不正确的一项是(B)。
A、多线程并发执行时,各个线程中语句的执行顺序是确定的
B、多线程并发执行时,线程之间的相对执行顺序是确定的
C、线程执行顺序的不确定性会导致执行结果的不确定性
D、线程执行顺序的不确定性会破坏共享数据的一致性
7、下列是继承Thread类后得到的子类,请选择正确的一项。
(C)
A、classA4extendsThreadB、classA4implementsThread
{{
voidrun()publicvoidrun()
{{
//…..//…..
}}
}}
C、classA4extendsThreadD、classA4extendsThread
{{
publicvoidrun()run()
{{
//…//…
}}
}}
8、下面那一个函数是线程的入口函数?
(B)
A)privatevoidrun()B)publicvoidrun()
C)publicvoidstart()D)publicvoidbegin()
9、下列方法中可以用来创建一个新线程的是__C__。
A)实现java.lang.Runnable接口并重写start()方法
B)实现java.lang.Runnable接口并重写run()方法
C)继承java.lang.Thread类并重写run()方法
D)实现java.lang.Thread类并实现start()方法
10、Thread类中能运行线程体的方法是(D)
A)start() B)resume()
C)init() D)run()
11、在java程序中,下列关于线程的说法错误的是(D)
A、线程启动调用start方法B、线程的主体是run方法
C、线程运行中调用sleep方法可以进入阻塞状态
D、在java中,优先级的数值为1的线程可以抢占优先级为5的线程的资源
12、若编译和运行下列代码,出现的结果将是(A)
publicclassMyAddextendsThread{
staticinttotal=10;
intn;
publicMyAdd(intn)
{this.n=n;}
publicvoidrun(){
try{
sleep(n);
total=total+n;
System.out.println(total);
}
catch(Exceptione){
System.out.println(“EXCEPTION!
”);
}
}
publicstaticvoidmain(String[]args) {
MyAddt1=newMyAdd(3000);
MyAddt2=newMyAdd(1000);
t1.start();
t2.start();
}
}
A、1010,4010B、3010,4010
C、1010,3010D、3010,1010
13、若编译和运行下列代码,出现的结果将是___D_____
publicclassMyThreadimplementsRunnable{
StringmyString="Yes";
publicvoidrun(){
this.myString="No";
}
publicstaticvoidmain(String[]args) {
MyThreadt=newMyThread();
newThread(t).start();
for(inti=0;i<10;i++)
System.out.print(t.myString);
}
}
A、打印yesyesyesyesyesyesyesyesyesyesB、打印nononononononononono
C、打印yesnoyesnoyesnoyesnoyesnoD、打印结果无法确定
14、下面关于Java中线程的说法不正确的是(C)?
A)调用join()方法可能抛出异常InterruptedException。
B)sleep()方法是Thread类的静态方法。
C)调用Thread类的sleep()方法可终止一个线程对象。
D)线程启动后执行的代码放在其run方法中。
15、下列关于try和catch子句的描述中,错误的一项是(A)。
A、不同的catch代码段是不同的作用域,但是可以访问相互之间定义的局部变量
B、如果没有异常产生,则所有的catch代码段都被略过不执行
C、try代码段后跟有一个或多个catch代码段
D、异常总是由距离产生异常最近的匹配catch代码段处理
16、下列关于抛出异常的描述中,错误的一项是(C)。
A、异常可以由try代码段中的语句抛出
B、异常可以从被try代码段中调用的方法中抛出
C、异常的抛出并不影响代码段的执行顺序
D、异常还可能产生于数组下标越界及Java虚拟机内部的错误等
17、下列描述中,正确的一项是(D)。
A、异常机制可以用于流程控制
B、finally代码段在发生异常时不一定必须执行
C、在catch代码段中可以使用return语句来返回到异常抛出点
D、可以把catch到的异常对象再次抛出,使上层try—catch结构继续处理该异常事件
18、下列描述中,哪一项不属于finally语句应该执行的功能(C)
A、释放资源B、关闭文件C、分配资源D、关闭数据库
19、如果一个程序段中有多个catch,则程序会按如下哪种情况执行?
(C)
A、找到合适的异常类型后继续执行后面的catch
B、找到每个符合条件的catch都执行一次
C、找到合适的异常类型后就不再执行后面的catch
D、对每个catch都执行一次
20、对于异常处理语句try…catch,下面那句话不正确?
(A)
A、一个符合条件的catch的处理语句中没有break语句,则执行后会继续执行后续catch
B、不管有没有捕获异常,finally部分都会被执行
C、找到合适的异常类型后就不再执行后面的catch
D、应该先处理子异常类,再处理父异常类。
21、下列哪种操作不会抛出异常?
(B)
A)浮点数除0B)浮点数乘0
C)打开不存在的文件D)用负数索引访问数组
22、程序员将可能发生异常的代码放在()块中,后面紧跟着一个或多个()块。
(B)
A、catch、tryB、try、catch
C、try、exceptionD、exception、try
23、异常包含下列那些内容?
(C)
A)程序中的语法错误B)程序的编译错误
C)程序执行过程中遇到的事先没有预料到的情况
D)程序事先定义好的可能出现的意外情况
24、有下列程序
classTestException
{
classMyExceptionextendsException{}
publicvoidtestMethod()throwsMyException{}
publicvoidtest()
{
testMethod();
}
}
在publicvoidtest()后加上哪一句可以使编译不出错。
(B)
A、throwMyException
B、throwsMyException
C、thrownewMyException()
D、throwsnewMyException()
25、设有以下程序段
classTestException
{
publicstaticvoidmain(String[]args)
{
try{
return;
}finally{
System.out.println("finally");
}
}
}
程序编译并执行,其结果将是(B)
A、程序执行,但没有任何输出
B、程序输出finally
C、程序编译时出错,提示缺少catch
D、程序编译时出错,提示finally语句无法访问到。
26、用文件字节输出流对文件进行写操作时,需要先创建文件输出流对象,文件输出数据流的构造方法是publicFileOutputStream(Stringname,Booleanappend)throwsFileNotFoundException,当参数append的值为true时,表示(B)
A、创建一个新文件
B、在原文件的尾部添加数据
C、覆盖原文件的内容
D、在原文件的指定位置添加数据
27、编译和运行下面的应用程序,并在命令行界面输入12345,则回车后屏幕输出的结果是(A)。
publicclassA{
publicstaticvoidmain(Stringargs[])throwsIOException{
BufferedReaderbuf=newBufferedReader(
newInputStreamReader(System.in));
Stringstr=buf.readLine();
intx=Integer.parseInt(str);
System.out.println(x%1000);
}
}
A)345B)5C)123D)12345
28、下列说法中,错误的一项是(D)。
A、Java系统的标准输入对象是System.inB、打开一个文件时不可能产生IOException
C、使用File对象可以判断一个文件是否存在D、使用File对象可以判断一个目录是否存在
29、下面的程序段的功能是(A)。
Filefile1=newFile("e:
\\xxx\\yyy");
file1.mkdir();
A)在当前目录下生成子目录:
\xxx\yyyB)生成目录:
e:
\xxx\yyy
C)在当前目录下生成文件xxx.yyyD)以上说法都不对
30、下列叙述中,错误的是(B)
A)File类能够存储文件
B)File类能够读写文件
C)File类能够建立文件
D)File类能够获取文件目录信息
31、下列哪个是JAVA程序和数据库连接的一种机制(B)
A)URLB)JDBCC)SOCKETD)RMI
32、关于JDBC访问数据库的说法错误的是:
(D)
A)建立数据库连接时,必须加载驱动程序,可采用Class.forName()实现
B)用于建立与某个数据源的连接可采用DriverManager类的getConnection方法
C)建立数据库连接时,必须要进行异常处理
D)JDBC中查询语句的执行方法必须采用Statement类实现
33、定义Java.Applet程序时,必须有的import语句是(C)。
A、importjava.awt.event;B、importjava.util.*;
C、importjava.applet.Applet;D、importjava.1ang.*;
34、以下哪个方法不属于Applet小程序生命周期中的方法?
(B)
A、initB、mainC、destroyD、stop
35、下列说法中,错误的一项是(C)。
A、使用FlowLayout在容器中放置组件的策略是:
从上到下、从左到右
B、使用FlowLayout进行布局管理时,组件的大小采用的是其最佳尺寸
C、使用FlowLayout进行布局管理时,不能调节组件之间的距离
D、用FlowLayout管理的组件随容器大小变化的变化规律是:
组件大小不变,组件之间的相对位置改变
36、在类中若要处理ActionEvent事件,则该类需要实现的接口是(A)。
A、ActionListenerB、RunnableC、SerializableD、Event
37、下列说法中,错误的一项是(C)。
A、内部类是被定义于另一个类中的类
B、使用内部类实现监听器,在编程时比较容易实现
C、内部类对象可以访问外部类的成员方法和变量,包括私有成员
D、由于内部类定义于另一个类,因此不适用于AWT的事件处理机制
38、选择正确的语句填入下列程序的横线处。
(C)
importjavax.swing.*;
publicclassex28
{
publicstaticvoidmain(String[]args)
{
JFramef=newJFrame(“ex28”);
JMenuBarmb=newJMenuBar();
_________________________
JMenuml=newJMenu(“menul”);
JMenum2=newJMenu(“menu2”);
mb.add(m1);
mb.add(m2);
f.setSize(300,100);
f.setVisible(true);
}
A、setMenuBar(mB);B、mb.setMenuBar();
C、f.setMenuBar(mB);D、mb.setMenuBar(f);
39、下列说法哪个是不正确的?
(B)
A、一个组件可以注册多个事件监听器
B、一个监听器只能监听一个组件
C、一个组件可以引发多种事件
D、一个监听器可以监听处理多种事件
40、下面说法错误的是(D)
A)单击CheckBox(复选框)产生ItemEvent事件,并由ItemListener处理。
B)处理JButton和JTextField事件监听器接口都是ActionListener。
C)一个面板(JPanel) 可以加入到另一个面板(JPanel)中。
D)在BorderLayout中,添加到NORTH区的两个按钮将并排显示。
41、下面说法错误的是:
(C)
A)单击JCheckBox(复选框)产生ItemEvent事件,并由ItemListener处理。
B)处理JButton和JTextField事件监听器接口都是ActionListener。
C)处理鼠标事件的事件监听器接口只有MouseListener。
D)在JTextField和JPasswordField中输入数据后按Enter键会激发一个事件。
42、下列说法哪个是不正确的?
(B)
A)一个面板(Jpanel) 能被加入到另一个面板(Jpanel)中
B)一个监听器只能监听一个组件
C)Frame,Panel,Applet都属于容器组件。
D)Button和TextField都可用ActionListener接口实现事件处理
43、常规菜单是由()、()和菜单项组成。
(D)
A)JMenuItem、JCheckBoxMenuItem
B)JButton、JRadioButton
C)JPopupMenu、JMenuItem
D)JMenuBar、JMenu
44、下列哪一个方法是自动调整窗口的大小(C)
A、setSize()
B、setDefaultClose()
C、pack()
D、setVisible()
45、下列哪个布局管理器使容器中各个构件呈网格布局,并且平均占据容器的空间?
(A)
A)GridLayout
B)CardLayout
C)BorderLayout
D)FlowLayout
46、在AWT组建中用复选框组构件CheckboxGroup实现单选框的功能,但在Swing中,JAVA语言直接提供了一个单选框,它是(C)
A)JButtonB)JComboBoxC)JRadioButtonD)JCheckBox
47、下列叙述中,不符合JAVA语言特点的选项是(C)
A、可移植性和跨平台的特点
B、多线程的并发机制
C、编译器将JAVA源程序转换成机器码
D、Applet是JAVA的特殊应用程序,它嵌入到HTML中,随主页发布到互联网上
48、JPanel和Applet的默认布局管理器是(B)
A)CardLayout
B)FlowLayout
C)BorderLayout
D)GridLayout
49下列语句错误的是:
(D)
A、ServerSocketsvrsoc=newServerSocket(8000);
B、URLurlBase=newURL(“http:
//www.;
C、FileinFile=newFile(“C:
/test.txt”);
D、BufferedReaderbr=newBufferedReader(“C:
/test.txt”);
三、程序填空题
1、通过TCP协议方式,定义一个服务器端,端口为5000,要求可以同时连接多个客户端,并且每个客户端在休眠10秒钟之后退出连接;将下面的程序补齐:
Import.*;
Importjava.io.*;
publicclassServerExampleimplements
(1)_Runnable_______{
privateSocketm_socket;
privateintm_id;
public
(2)_ServerExample_(Sockets,intid){
m_socket=s;m_id=id;
}
publicvoid(3)___run()____{
try{(4)____Thread___.sleep(10000);
System.out.println("Socket["+m_id+"]isclosing.");
m_socket.close();
}catch(Exceptione){}
}
publicstaticvoidmain(Stringargs[]){
intn=1;
_(5)___ServerSocker______server=null;
try{
server=new(6)___ServerSocker_________(5000);
System.out.println("Serverstart.");
}
catch(IOExceptione){}
while(true){
try{
System.out.println("WaitNO."+n+"connection.");
(7)_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 期末 复习资料
![提示](https://static.bdocx.com/images/bang_tan.gif)