《Java程序设计》练习题Word下载.docx
《《Java程序设计》练习题Word下载.docx》由会员分享,可在线阅读,更多相关《《Java程序设计》练习题Word下载.docx(108页珍藏版)》请在冰豆网上搜索。
![《Java程序设计》练习题Word下载.docx](https://file1.bdocx.com/fileroot1/2023-1/5/05084175-bd8b-481b-8568-7ed8b5a20da6/05084175-bd8b-481b-8568-7ed8b5a20da61.gif)
21、启动多线程必须调用start()方法,如果调用run方法则没有启动新的线程(对)
22、run方法是运行线程的主体,若run方法运行结束,线程就消亡了。
(对)
23、利用File对象可以判断一个文件或目录是否存在。
24、JFrame,JPanel,JApplet和JButton四种组件都属于容器组件。
25、BorderLayout是面板的缺省布局管理器。
26、BorderLayout最多可以使用5个组件。
27、一个面板(JPanel)不能被加入另一个面板(JPanel)中。
28、菜单需要一个JMenuBar对象,以使他们能被添加到JFrame。
(对)
29、线程可以用yield使同优先级的线程运行。
30、System.in是标准输入流,能用read方法读取键盘的输入。
31、数据流就是数据通信通道,指在计算机的输入输出之间运动的数据序列。
32、标签(JLabel)可以在屏幕上显示一个字符或一幅画。
33、BorderLayout是容器javax.swing.JFrame默认的布局管理器。
34、编写小应用程序(Applet)一般需要编写两种类型的文件,即Java源文件和Html文件。
35、要在程序中实现多线程,必须在源程序前面使用import语句显示的导入Thread类。
(错)
36、通过类.URL中的成员方法可获得网络资源定位器的相关信息(对)
37、catch块后必须有finally块。
(错)
38、JTextArea可以用来接收多行文本的输入。
(对)
39、一个线程创建并启动后,它将执行自己的run()方法。
40、Socket的实例对象调用其成员方法getInputStream来获得该Socket所对应的输入流。
(对)
41、在Java坐标系统中,X值从左向右增加。
42、BorderLayout布局管理器把组件排列在北、南、东、西和中间区域。
43、JTextArea是提供操作单行文本的区域。
(错)
44、异常处理器的排列次序影响处理异常的方法。
45、线程可以用yield方法使较低优先级的线程运行。
46、随机存取文件中的记录必须等长。
47、数据报(DatagramPacket)传输是不可靠的,无法保证包按顺序到达。
48、用catch(Exceptionexception)语句可以捕获所有异常和错误。
49、每个Java线程的优先级都设置在常数1~12之间,默认的优先级设置为常数6。
(错)
50、当Socket连接上面的传输结束后,服务器执行Socket的shutdown方法来关闭连接。
二、填空题
1、javac,java,jar,appletview
2、0.0f,false,基本,引用
3、6,248
4、false,3
5、MyPrg.java
6、Interger,parseInt()
7、2
8、抽象(或abstract),final
9、“abc”
10、引用(或复合),arraycopy
11、packageMyPackage,第一行
12、implements
13、new,protected
14、继承,接口
15、对象,interface
16、abstract,提供了一个基本类,实现代码或算法的重用
17、Object,importjava.util.*
;
18、Error和Exception
19、finally,throw,throws
20、InputStream,OutputStream,字节,字符
1、在JDK操作命令中,编译命令(或编译器)是___javac__________,运行命令(或解释器)是____java_______,Java类文件归档命令是__________jar______________,使Applet应用小程序脱离Web浏览器环境进行运行和调试的命令是___________appletview______。
2、在Java基本数据类型中,float的缺省值是______0.0f_______,boolean的缺省值是__________________。
Java的变量类型分为____基本___数据类型和_____引用______数据类型。
3、已知intx=123,则表达式x/100+x%100/10+x%10的值为__6________,表达式++x+x++的值为_____248__________。
4、设intx=12,y=5;
执行语句(x%y==0)&
&
(x>
y)的值为__false______,执行语句x=x++/--y后x的值为3。
5、某Java源程序中有一个类的定义为:
publicclassMyPrg,则该源程序的文件名应该为:
MyPrg.java。
6、将一个字符串s转换为int型整数,需要用到包装类___Interger的__parseInt()_方法。
7、语句Strings=newString("
xyz"
);
创建了2个String对象。
8、抽象方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
final方法是不能被当前类的子类重新定义的方法。
9、定义字符串:
Strings=newStringBuffer().append("
a"
).append("
b"
c"
).toString();
,
则s的值是_____。
10、数组在Java语言中是一种_______引用(或复合)___________形式的数据类型,它存储的是数组的地址,而不是数组的元素值,System类里的_________arraycopy_________方法是复制数组的一种方法,它可指定需要复制元素和存放目标数组的位置。
11、创建一个名为MyPackage的包的语句是packageMyPackage,
该语句应该放在程序的位置为:
第一行。
12、在java源程序的类头中使用关键字_____implements___声明该类实现某个接口。
13、对象是用________new________关键字实例化类之后的结果,______protected________访问修饰符所声明的类成员,仅能被同包(同路径)或具有继承关系的相关类使用。
14、当一个类获取另一个类中所有的非私有的数据和操作作为它自己的部分或全部成分时,就称为这两个类之间具有_____继承_关系。
________接口________是用来实现类间多重继承功能的结构。
15、用new关键字实例化类之后的结果是_____对象_____,接口是指利用_____interface______关键字来声明,其中不包含任何实现语句,仅建立抽象成员方法的一种类。
16、抽象类用关键字_____abstract______修饰,抽象类的目的是____提供了一个基本类,实现代码或算法的重用__。
17、Java中所有类都是类Object的子类。
引用ArrayList和Vector都要加载的语句是__________importjava.util.*
____________________。
18、Throwable的直接子类是____Error和Exception______。
19、java通过五个关键字来管理异常处理:
try,catch,_finally,throw,throws___。
20、输入流和输出流在Java中对应两个抽象类____InputStream和OutputStream____。
InputStream及其子类读取__字节___流数据。
Reader及其子类用于读取字符流数据。
21、IOException,ArrayIndexOutOfBoundsException
22、newFileInputStream(“c:
\\test.txt”),readLine()
23、RandomAcessFileraf=newRandomAcessFile(“c:
\\test.txt”,“rw”);
i=raf.readInt();
24、GridLayout、CardLayout
25、轻量级,getContentPane(),setLayout
26、JFrame,JWindow,JDialog
27、Applet,MyApplet.java
28、init(),destroy()
29、add,GUI
30、Thread,Runnable
31、start,run
32、synchronized,
从全局考虑获得锁的顺序,并且在整个程序中都遵守这个顺序;
释放锁时,要按加锁的反序释放。
33、sleep,setPriority()
34、Runnable,publicvoidrun(),newThread(rt),myThread.start()
35、TCP,UDP
36、getPort(),getLength()
37、ServerSocket,Socket
38、ServerSocket,Socket
39、accept(),receive()
40、accept(),receive()
21、输入输出异常类的类名是:
、数组下标越界异常类的类名是:
。
22、用FileInputStream类创建文件(c:
\test.txt)对象的语句是____________________________________________,DataInputStream对象提供___________________方法可以按行读取文件内容。
23、创建以读写方式打开文件(c:
\test.txt)的RandomAcessFile对象,并使得raf成为该对象的应用变量的语句是;
之后,从c:
\test.txt文件中读取一个int型整数到变量i中可以使用语句:
24、在编写Java界面程序时,常用的布局管理器包括流式布局管理器FlowLayout、边界布局管理器BorderLayout、_____________________和__________________。
25、相对于AWT的组件来说,swing中的组件被称作,JFrame是swing中的顶层容器组件,不能直接在它上面放置其他组件,而必须将组件放置在它内容面板上,获得其内容面板容器的方法是:
容器组件的布局管理器决定放置在它上面的各组件的大小和位置,可以用方法设置容器组件的布局管理器。
26、在SwingGUI层次体系中的顶层容器主要包括javax.swing.、javax.swing.和javax.swing.。
27、如果一个JavaApplet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是类的子类并且存储该源程序文件的文件名为。
28、当小应用程序被调用时,类Applet成员方法被首先调用,当关闭小应用程序时,类Applet成员方法被最后调用。
29、Container的________方法可以将_______组件加入容器。
30、编写一个线程可以用继承类和实现接口来实现。
31、在执行Java线程的程序中,程序通过调用_______方法启动线程,随后又调用________方法。
32、如果几个并发线程对相同的数据对象进行存取,可能导致数据不一致,为避免发生这种情况,需要编程实现线程同步,在执行访问共享数据的代码时对数据加互斥锁,加锁语句的关键字是__________________,如果编程时不注意,加锁可能导致死锁,避免死锁的一般做法是。
33、Java线程程序可以调用____________方法,使线程进入睡眠状态,可以通过调用___________________方法设置线程的优先级。
34、通过实现接口可以创建一个包含线程体的类,该接口只申明了一个方法:
,假定一个线程体对象为rt,则可以用ThreadmyThread=语句来创建一个线程对象,并用语句启动myThread线程对象。
35、Java提供两种套接字,其中使用_______协议的被成为流套接字,使用____协议的被称为数据报套接字。
36、DatagramPacket类的________方法返回一个整数,它指定DatagramPacket的端口;
DatagramPacket类的_________方法返回一个整数,它代表DatagramPacket中的字节数。
37、在TCP协议下建立通信程序,在服务器端首先要创建类的实例对象;
在客户端,创建类实例对象。
38、中提供了两个类_________________和_______________,分别用于服务器端和客户端的Socket通信。
39、用Java实现网络编程时,在有连接的Socket通信机制中,服务器端阻塞用Socket对象的_________________方法,而在无连接的Socket通信机制中,服务器端阻塞用DatagramSocket对象的_____________________方法。
40、基于TCP的Java网络编程中,服务器端阻塞用Socket对象的方法。
基于UDP的Java网络编程中,服务器端阻塞用DatagramSocket对象的方法。
三、选择题
1-10BCCBADCCAA
11-20BABCDBABBC
21-30CDBCBDADBC
31-40CABBDACCAA
1、编译Java源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为()
A).javaB).class
C).htmlD).exe
2、Java编译程序的文件名是()
A)java.exeB)javadoc.exe
C)javac.exeD)jar.exe
3、下述那一个保留字不是类及类成员的访问控制符()
A)publicB)private
C)staticD)protected
4、下列变量定义合法的是()
A)booleanflag=False;
B)intk=1+‘1’;
C)charc=“b”;
D)floatradius=1.2;
5、下面哪个是不合法的变量名称?
()
A)2DB)TrueC)_nameD)T1
6、下面哪个定义变量的语句不合规范?
A、intretireAge=60;
B、finalintRETIREAGE=60;
C、staticintretireAge=60;
D、privateintRETIREAGE=60;
7、下列数组的定义不合法的是:
A)charc[][]=newchar[2][3];
B)charc[][]=newchar[6][];
C)char[][]c=newchar[][4];
D)int[]a[]=newint[10][10];
8、下列数组的定义合法的是()
A)inta=(1,2,3);
B)intd[]=(1…3);
C)int[]a[]=newint[3][];
D)char[][]c=newchar[][4];
9、下述哪个说法是不正确的?
()
A)局部变量在使用之前无需初始化,因为有该变量类型的默认值
B)类成员变量由系统自动进行初始化,也无需初始化
C)参数的作用域就是所在的方法
D)for语句中定义的变量,当for语句执行完时,该变量就消亡了
10、下列说法中,不正确的是()
A)一个java源程序编译通过后,得到的结果文件数也只有一个。
B)一个java源程序经过编译后,得到的文件的扩展名一定是.class。
C)一个java源程序只能有一个publicclass类定义,且源文件的名字与publicclass的类名相同,扩展名必须是.java。
D)一个java源程序可以包含多个class类。
11、下列说法中,不正确的是:
A、一个java源程序经过编译后,得到的文件的扩展名一定是.class。
B、一个java源程序编译通过后,得到的结果文件数也只有一个。
C、一个java源程序编译通过后,得到的结果文件数可能有个。
D、一个java源程序编译通过后,不一定能用java解释器执行。
12、对于以下声明:
Strings1="
hello"
Strings2="
world"
Strings3;
下面的操作合法的是()
A)s3=s1+s2;
B)s3=s1-s2;
C)s3=s1&
s2;
D)s3=s1&
13、下面的代码合法的是:
A)publicabstractmethod();
B)publicabstractvoidmethod();
C)publicabstractvoidmethod(){};
D)publicvoidmethod()implementsabstract;
14、执行语句:
intn=7;
intb=2*n++;
后,b和n的值分别是()
A)b=15,n=8B)b=16,n=8
C)b=14,n=8D)b=14,n=7
15、下列哪个不能作为switch表达式的数据类型()
A)intB)charC)shortD)long
16、下面哪一项是Java实现动态多态性的具体手段()
A)重载;
B)覆盖(重写)C)接口D)抽象类
17、下列哪一个是创建数组的正确指令()
A)int[]a=newint[10];
B)int[]a=newint(10);
C)inta[];
D)int[]a;
18、System.out.print(“1”+2)打印到屏幕的结果是()
A)3
B)12
C)1+2
D)4
19、对于下列代码:
publicclassExample{
Stringstr=newString("
charch[]={'
d'
'
b'
c'
};
publicstaticvoidmain(Stringargs[]){
Exampleex=newExample();
ex.change(ex.str,ex.ch);
System.out.println(ex.str+"
and"
+ex.ch[0]);
}
publicvoidchange(Stringstr,charch[]){
str="
ch[0]='
a'
}
}
输出结果是:
A)helloanddB)helloanda
C)worldanddD)worldanda
20、下列说法哪个是正确的?
A)子类不能定义和父类同名同参数的方法
B)子类只能继承父类的方法,而不能重载
C)重载就是一个类中有多个同名但有不同形参和方法体的方法
D)子类只能覆盖父类的方法,而不能重载
21、如果一个程序段中有多个catch,则程序会按如下哪种情况执行?
A)找到合适的例外类型后继续执行后面的catch
B)找到每个符合条件的catch都执行一次
C)找到合适的例外类型后就不再执行后面的catch
D)对每个catch都执行一次
22、以下哪一项不是File类的功能:
A)创建文件
B)创建目录
C)删除文件
D)拷贝文件
23、下列说法哪个是正确的?
A)BorderLayout是面板的缺省布局管理器
B)当鼠标指针位于一个GUI组件的边上时,发生一个MouseEvent事件
C)一个面板(JPanel)
不能被加入到另一个面板(JPanel)中
D)在BorderLayout中,添加到NORTH区的两个按钮将并排显示。
24、下列类不属于java.lang.*包的是()
A)MathB)SystemC)DateD)StringBuffer
25、System类属于下列哪个包?
A)java.io.*B)java.lang.*C)java.util.*D)java.awt.*
26、下列哪个不属于File类中的方法()
A)exists()B)delete()C)mkdir()D)copy()
27、下列哪