java考试复习题docWord下载.docx
《java考试复习题docWord下载.docx》由会员分享,可在线阅读,更多相关《java考试复习题docWord下载.docx(10页珍藏版)》请在冰豆网上搜索。
{1,2,3}
;
14•抛出一个异常对象用关键字是throws(错)
15.抛出一个异常对象用关键字是throw(对)
16..ArrayList里可以加入重复的对象(对)
17.对象在ArrayList里是无序的(错)
18.如果父类不是抽象类,那么子类也不能是抽象类(错)
19.尽管一个类没有抽象方法,该类仍然可以声明成抽象的(对)
20.抽象类一定不能用private修饰(错)
21、抽象类可以用inal修饰(错)
23.一个类只能有一个父类,同样,一个类只能实现一个接口(错)
24.接口里不能定义成员变量(对)
25.在Java语言中,关键字inal修饰一个类后,该类就不能派生
出子类。
26.HashSet里可以加入重复的对象(错)
27.对象在HashSet里是有序的(错)
28.HashSet里不能加入空对象(错)
29.HashSet的size0方法的返回值表示元素的个数(对)
30.2.5d是float数据类型(错)
31.2.5是float数据类型(对)
32.publicstaticfinalini二10定义一个整数类型的公共常量;
33.protectedstaticinti二10定义一个整数类型的公共常量;
34.pubIicstaticfinalchari二MO5定义一个整数类型的公共常量;
35.privatestaticfinalinti二10定义一个整数类型的公共常量(错)
36.in1a是一个是合法的标识符;
37.char/a是一个是合法的标识符;
38.double$a是一个是合法的标识符;
(对)
39.boolean&
a是一个是合法的标识符;
40•在Java程序中创建多线程有两种方式,分别为:
继承hread类和实现Runnable接口。
41.Java中将异常分为两类:
Exception和Erroro(对)
42.Java编译器为所有程序自动引入java,long包(错)
43•当声明一个类时,如果用户定义了一个带参数的构造方法,那么
系统还会提供给用户一个无参数的构造方法(错)
44.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法,不能包含带有方法体的具体方法。
45.main方法是JavaApplicaion程序执行的入口点,合法的main方法是:
pubIicstaticvoidmain(String[]args)(对)
46.一个类只能有一个父类,同样,一个类只能实现一个接口(错)
47.接口里可以定义常量(对)
48.java的一个异常处理中,catch语句块可以有多个(对)
49.通过继承thread类构造线程(对)
50.通过实现Runnable接口来构造线程(对)
51•通过线程对象的start0方法启动线程(对)
52.通过线程对象的run()方法启动线程(错)
53.按方向上划分可以分为输入流与输出流(对)
54.按单位上划分可以分为字节流与字符流(对)
55.OutputSream是输出字符流的根类(错)
56.Reader是输入字符流的根类(对)
57.Java源程序文件的扩展名是.java.每个类都编译为单独的字节码文件,它的文件名与类名相同,扩展名为.class(对)
58.关键字break和continue可以在循环中使用,break关键字立即终止包含break的最内层循环,continue关键字只是终止当前迭代。
59.方法中的形参可以和方法所属类的属性同名(对)
60•接口无构造器,不能有实例,也不能定义常量(错)
二简答题4*5
3~4・
4.1覆盖和重写的区别j
1)方法重写要求参数签名必须一致,而方法重载要求参数签名必须不一致
2)方法重写要求返回类型必须一致,而方法重载对此不作限制
3)方法重写对方法的访问权限和抛出的异常有特殊的要求,而方法重载在这方面没有任何的限制
4)方法重写只能用于子类从父类继承的实例方法,方法重载用于同一个类的所有方法
5)构造方法能被重载,但不能被重写
6)父类的一个方法只能被子类重写一次,而一个方法在所在的类中可以被重载多次
4.2抽象类和接口的区别j
1)接口中的常量默认为publicstaticfinal,并且也只能是pubIicstaticfinal
2)接口中只能定义抽向方法,而且这些方法默认为publicabstract,并且也只能是pubIicabstract
3)Java中不允许类得多继承,但允许接口的多继承
5.
异常处理的几个阶段J
“try语句块:
处理产生异常的程序代码
2)catch语句块:
处理一种特定类型的异常并提供处理方法
3)finalIy语句块:
finally所指定的代码都要被执行,能够对程序的状态作统一的管理
7.
7.1Collection和coIIections的区别j
接口。
Collection表示一组对象2)CoIlectionsI类也有一些实用static方法,专门用于操纵List,
CoIIection或Map类型容器
7.2Set和Iist的区别jmapJ,mapJ
DList类型的容器允许加入重复的对象,按照索引位置排序并且按照在容器中的索引位置检索对象
2))Set类型的容器不允许加入重复的对象,也不按照某种方式排列
对象
3)Map接口没有继承Collection接口。
Map类型的容器中的每一个元
素包含一对键对象和值对象
8.字节流和字符流区别J1)如果数据流中最小的数据单元是字节,那么这种流为字节流。
如果数据流中最小的数据单元是字符,那么这种流为字符流。
2)字节数组,String对象,文件,管道及其他数据源,读/写字符文
本不方便字符流便于读/写采用各种字符编码的字符
11
进城和线程的区别J
每个进程都需要操作系统为其分配独立的内存地址空间,而同一进程中的所有线程在同一块地址空间中工作。
这些线程可以共享进程的状态和资源
门线程的状态,简述J
1)新建:
用new操作符创建一个线程对象时,线程还没有开始运行
2)就绪:
当一个线程对象创建后,其他线程调用它的start()方法
3)阻塞:
线程因为某些原因放弃CPU,暂时停止运行
4)死亡
13.1Tcp和udp区别J
TCP是面向连接的传输层协议,在使用TCP协议之前,必须先建立TCP连接,在传输完毕后,释放已经建立的连接。
UDP是面向无连接的传输层协议,在使用UDP协议之前,不必先建立连接,发送数据结束时也没有连接需要释放。
程序题
7.3姓名电话(学号姓名)加入map并打印出来
publicclassZ{
publicstaticvoidmain(String[]args){
String[]strl={z,小明〃,“110〃};
String[]str2={,z小红〃,〃119〃};
String:
]str3=f小黑120〃};
HashMap<
String,String>
h=newHashMap<
Stri昭,String〉();
h.put(strl[0],strl[1]);
h.put(str2[0],str2[l]);
h.put(str3[0],str3[l]);
System・out.println(h);
}
7.4学号姓名电话加入list并打印出来
publicclassT{
String[]strl二{〃001〃,〃小明〃,“110〃};
String[]str2二{"
001"
〃小红〃,〃119〃};
]str3=r00rz,〃小黑120〃};
ArrayListl=newArrayList();
1.add(strl);
1.add(str2);
1.add(str3);
System,out.println(l);
Iteratorit=l.iterator();
while(it.hasNext()){
String[]str二(String]])it.next();
System,out.println(Arrays.toString(str));
8.1将10以内的偶数写入c:
\test.txt文本文件中
publicclassoushu{
Stringfilcnamc=z,c:
/test・txt〃;
intb=0;
FileOutputStreamfos=newFileOutputStream(filename,true);
for(inti二1;
i<
10;
i++){
if(i/2=0){
i=b;
fos.write(b);
fos.flush();
8.2将奇数写入文本文件
Stringfilcnamc=,,f:
/a.txt"
;
if(i/2!
二0){
8.3文件字节流将文件c:
\test.txt复制到d:
\test.txt
publicclassfuzhi{
Stringf订cnomc二〃c:
/tcst.txt"
Stringfilenamel二〃d:
FilelnputStreamfis=newFilelnputStream(filename);
intzijie=fis.read();
Fi1eOutputStreamfos=newFileOutputStream(filenamel,true);
fos.write(zijic);
fos・flush();
8.4键盘上输入任意数量的字符,写入到文件d:
\test.txt中。
publicclassjianpan{
Stringf订ename二〃d:
Seannersc=newSearmer(System.in);
Stringstr二sc・ncxt();
FileWriterfw=newFileWriter(filename,true);
fw.write(str);
fw.flush();
8.5文件d:
\test.txt中的内容在屏幕上显示出来。
publicclassxianshi{
Stringf订cname=,,d:
/tcst.txtz,;
inttemp=0;
FileReaderfr=newFileReader(filename);
while((temp=fr.read())!
二-1){
System,out.print((char)temp);
M・2线程火车售票实现
(2)实现
11.3继承
13.2Tcp服务器向客户端发消息
客户端
publicclassClient{
Socketclient=newSocket(〃100.64.150.212"
6666);
System,out.printin("
1.连接上服务端成功〃);
DatalnputStreamdis=newDatalnputStream(client,getInputStream());
System・out.printin(client.getlnetAddress()+〃接收到|
〃+dis.readUTF());
服务器端
publicclassServer{publicstaticvoidmain(String[]args){ScrvcrSockctserver二newScrvcrSockct(6666);
System,out.printin(〃创建端口成功〃);
while(true){
Sockets二server,accept();
System,out.printin(〃接受连接成功〃+s.getTnetAddress());
DataOutputStrcamdos二newDataOutputStrcam(s>
gctOutputStrcam());
while(true){
Scannersc二newScanner(System・in);
Stringstr二sc.next();
dos.writeUTF(str);
dos.flush();
System,out.printin("
发送成功,,+str);
13.3客户端向服务器发消息
publicclassClicnt{publicstaticvoidmain(String[]args){
Socketclient二newSocket(,z100.64.150.212,z,6666);
System,out.println(z,l.连接上服务端成功〃);
DataOutputStrcamdos二newDataOutputStrcam(clicnt.gctOutputStrcamO);
while(true){
Stringstr二sc.next();
dos.writeUTF(str);
System,out.println(,z发送成功〃+str);
publicclassServer{publicstaticvoidmain(String[]args){
ServerSocketserver二newServerSocket(6666);
System,out.printIn(z,创建端口成功〃);
Sockets二server・accept();
System,out.printIn(,z接受连接成功〃+s.getlnetAddress());
DataTnputStreamdis二newDataTnputStream(s.get!
nputStream());
System,out.printin(s.getlnetAddress()+〃接收到
〃+dis・readUTF());
13.4Udp服务器向客户端发消息
publicclassUDPServcr{
DatagramSocketds二newDatagramSocket(9999);
bytebuf[]=newbyte[1024];
DatagramPacketdp二newDatagramPacket(buf,1024);
ds.receive(dp);
System,out.println(z,接收到IP:
〃+dp.getAddressO+,z端口:
"
+dp.getPort());
Stringstr二new
String(dp.getData(),dp.£
et0ffset(),dp.getLength());
System,out.println(str);
publicclassUDPClient{publicstaticvoidmain(String[]args){
DatagramSocketds二newDatagramSocket();
Stringstr二〃helloworld"
byte[]buf二str.getBytes();
DatagramPacketdp二ncwDatagramPackct(buf,buf.length,InetAddress.getByName(z,100.64.150.212"
),9999);
ds.send(dp);