JAVA复习题13级剖析.docx

上传人:b****7 文档编号:26126490 上传时间:2023-06-17 格式:DOCX 页数:17 大小:24.22KB
下载 相关 举报
JAVA复习题13级剖析.docx_第1页
第1页 / 共17页
JAVA复习题13级剖析.docx_第2页
第2页 / 共17页
JAVA复习题13级剖析.docx_第3页
第3页 / 共17页
JAVA复习题13级剖析.docx_第4页
第4页 / 共17页
JAVA复习题13级剖析.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

JAVA复习题13级剖析.docx

《JAVA复习题13级剖析.docx》由会员分享,可在线阅读,更多相关《JAVA复习题13级剖析.docx(17页珍藏版)》请在冰豆网上搜索。

JAVA复习题13级剖析.docx

JAVA复习题13级剖析

《JAVA程序设计》复习题

一、单选择题

1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。

.class

2、设x=1,y=2,z=3,则表达式y+=z--/++x的值是(A)。

A.3

3、不允许作为类及类成员的访问控制符的是(C)。

C.static

4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。

A.staticvoidmethod()

5、当某一线程正处于休眠状态,而另一个线程用Thread类中的interrupt()方法中断它时,抛出的异常类型是(C)。

C)InterruptedException

6、下面的程序段的功能是(D)。

Filefile1=newFile("d:

\\xxx\\yyy\\zzz");

file1.mkdirs();

A)在当前目录下生成子目录:

\xxx\yyy\zzzB)生成目录:

e:

\xxx\yyy\zzz

C)在当前目录下生成文件xxx.yyy.zzzD)以上说法都不对

7、关于下面的程序Test.java说法正确的是(D)。

publicclassTest{

Stringx="1";

inty;

publicstaticvoidmain(Stringargs[]){

intz=2;

System.out.println(x+y+z);

}

}

D)程序有编译错误(字符串不能和int型的数据类型进行运算除非进行强制转换之后才可以进行运算自己的理解)

8、应用程序的main方法中有以下语句,则输出的结果是(A)。

intb[][]={{1,1,1},{2,2},{3}};

intsum=0;

for(inti=0;i

for(intj=0;j

sum+=b[i][j];

}

}

System.out.println("sum="+sum);

A)10

9、应用程序的main方法中有以下语句,则执行后输出的结果是(B)。

int[]x={125,21,5,168,98};

intmin=x[0];

for(inti=1;i

if(x[i]

min=x[i];

}

System.out.println(min);

B)5(求数组中的最小值为多少?

10、下面说法不正确的是(D)?

A)列表(List)、集合(Set)和映射(Map)都是java.util包中的接口。

B)List接口是可以包含重复元素的有序集合。

C)Set接口是不包含重复元素的集合。

D)Map接口将键映射到值,键可以重复,但每个键最多只能映射一个值。

11、下列修饰符中与访问控制无关的是 ( D )

A.private   B.public

C.protectedD.Final

12、void的含义:

  ( A )

A.方法没有返回值   

13、return语句:

  ( C )

C.方法中可以有多句return 

14、关于对象成员占用内存的说法哪个正确?

  ( B )

B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间

15、下列说法哪个正确?

(C)

C.属性可以是简单变量,也可以是一个对象

16、下列说法哪个正确?

  ( A )

A、一个程序可以包含多个源文件

17、关于方法main()的说法哪个正确?

( C )

C.一个类中可以没有main()方法

18、构造函数何时被调用?

  ( A )

A、创建对象时     

19、 抽象方法:

  ( C )

C、是没有方法体的方法

20、关于继承的说法正确的是:

  ( B )

B、子类将继承父类的非私有属性和方法。

21、关于构造函数的说法哪个正确?

  (C  )

C、构造函数与类同名

22、this和super:

(C)

C、不能用在main()方法中

23、覆盖与重载的关系是  ( A )

A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中

24、关于接口哪个正确?

  ( A )

A、实现一个接口必须实现接口的所有方法

25、异常包含下列哪些内容?

  ( A )

A.程序执行过程中遇到的事先没有预料到的情况

26、对于已经被定义过可能抛出异常的语句,在编程时:

  ( A )

A、必须使用try/catch语句处理异常,或用throws将其抛出

27、 字符流与字节流的区别在于( D )

D.每次读写的字节数不同

28、下列流中哪个不属于字节流  ( D )

A.FileInputStream

B.BufferedInputStream

C.FilterInputStream

D.InputStreamReader

29、下列____D____是Java合法的标识符

A.staticB.5stuC.-3eD._atm

30、Java中main()方法的返回值是______D________

A.stringB.intC.charD.Void

31、以下关于JAVA程序的叙述中正确的是____D______。

D.JAVA程序中必须有一个主函数

32、下列语句序列执行后,k的值是(C)。

intj=8,k=15;

for(inti=2;i!

=j;i+=6){

k++;

}

C.16

33、下列语句序列执行后,i的值是(D)。

inti=0;

do{i+=3;}while(i<10);

D.12

34、下面关于JavaApplication程序结构特点描述中,错误的是(D)。

A.一个JavaApplication程序由一个或多个文件组成,每个文件中可以定义一个或多个类,每个类由若干个方法和变量组成。

B.Java程序中声明有public类时,则Java程序文件名必须与public类的类名相同,并区分大小写,扩展名为.java。

C.组成JavaApplication程序的多个类中,有且仅有一个主类。

D.一个.java文件中定义多个类时,允许其中声明多个public类。

35、下面哪些选项是正确的main方法说明?

(D)

D.publicstaticvoidmain(Stringargs[])

36、在成员方法的访问控制修饰符中,规定访问权限包含该类自身,同包的其他类和其他包的该类子类的修饰符是(B)。

B.protected

37、下列关于抽象类的描述中,错误的是(B)。

A.抽象类是用修饰符abstract说明的B.抽象类是不可以定义对象的

C.抽象类是不可以有构造方法的D.抽象类通常要有它的子类

38、下面关于接口的描述中,错误的是(A)。

A.一个类只允许继承一个接口B.定义接口使用的关键字是interface

C.在继承接口的类中通常要给出接口中定义的抽象方法的具体实现

D.接口实际上是由常量和抽象方法构成的特殊类

39、以下关于继承的叙述正确的是(A)。

A、在Java中类只允许单一继承

B、在Java中一个类只能实现一个接口

C、在Java中一个类不能同时继承一个类和实现一个接口

D、在Java中接口只允许单一继承

40、在java中,()对象可以使用键/值的形式保存数据。

(C)

a)ArrayList

b)HashSet

c)HashMap

d)LinkedList

41、以下哪个不是Java的原始数据类型(B)

A、intB、BooleanC、floatD、char

42、以下有关构造方法的说法,正确的是:

(A)

A.一个类的构造方法可以有多个

B.构造方法在类定义时被调用

C.构造方法只能由对象中的其它方法调用。

D.构造方法可以和类同名,也可以和类名不同

43、以下有关构造方法的说法,正确的是:

(A)

A.一个类的构造方法可以有多个

B.构造方法在类定义时被调用

C.构造方法只能由对象中的其它方法调用。

D.构造方法可以和类同名,也可以和类名不同

44、给出下面代码,关于该程序以下哪个说法是正确的?

(C)

publicclassPerson{

staticintarr[]=newint[5];

publicstaticvoidmain(Stringa[])

{

  System.out.println(arr[0]); }

}

A、编译时将产生错误B、编译时正确,运行时将产生错误

C、输出零D、输出空

45、下列哪一项不属于Swing的顶层容器?

(B)

A)JApplet

B)JTree

C)JDialog

D)JFrame

46、为了使包ch4在当前程序中可见,可以使用的语句是(A)。

A)importch4.*;

B)packagech4.*;

C)ch4import;

D)ch4package;

47、请问所有的异常类皆继承哪一个类?

(B)。

A)java.io.Exception

B)java.lang.Throwable

C)java.lang.Exception

D)java.lang.Error

48、当点击鼠标或者拖动鼠标时,触发的事件是下列的哪一个?

(D)

A)KeyEvent

B)ActionEvent

C)ItemEvent

D)MouseEvent

49、ArrayList是实现了List接口的类,现欲构造ArrayList类的一个实例,下述方法中正确的是(D)

A.ArrayListmyList=newObject();

B.ArrayListmyList=newList();

C.ListmyList=newList();

D.ListmyList=newArrayList();

50、设有如下程序代码,则表达式s1==s2和s1==s3的值分别是(B)

Stringsl="123";

Strings2="123";

Strings3=newString("123");

A.truetrueB.truefalseC.falsefalseD.falsetrue

51、当使用SomeThreadt=newSomeThread()创建一个线程时,下列叙述中正确的是(C)

  A.SomeThread类是包含run()方法的任意java类

  B.SomeThread类一定要实现Runnable接口

  C.SomeThread类是Thread类的子类

  D.SomeThread类是Thread类的子类并且要实现Runnable接口

52、Java中的抽象类Reader和Writer所处理的流是(D)

A.图像流B.对象流  C.字节流  D.字符流

53、以下布局管理器中按照加入控件的先后顺序,从左到右、从上到下,当一行装满时开始新的一行的布局管理器是(A)

A.FlowLayoutB.BorderLayoutC.GridLayoutD.CardLayout

54、如下的程序代码体现了Java的面向对象特征中的(C)

classClassA{

……

publicvoidaMethod(Strings){……}

publicvoidaMethod(inti){……}

publicvoidaMethod(inti,floatf){……}

}

A.封装B.继承C.重载D.重写

55、在下述Java语句中,错误的创建数组的方法是(D)

A.intintArray[];intArray=newint[5];

B.intintArray[]=newint[5];

C.int[]intArray={1,2,3,4,5};

D.intintArray[5]={1,2,3,4,5};

56、下列类定义中,不正确的是(C)。

A)classx{....}

B)classxextendsy{....}

C)staticclassximplementsy1,y2{....}

D)publicclassxextendsApplet{....}

57、下列方法定义中,正确的是(A)。

A)intx(){charch='a';return(int)ch;}

B)voidx(){...returntrue;}

C)intx(){...returntrue;}

D)intx(inta,b){returna+b;}

58、下面语句的功能是(A)。

RandomAccessFileraf2=newRandomAccessFile("1.txt","rw");

A)打开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据。

B)打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。

C)打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。

D)以上说法都不对。

59、下面程序段执行后b的值是(B)。

Integerinteg=newInteger(9);

booleanb=integinstanceofObject;

A)9B)trueC)1D)false

60、应用程序Test.java的源程序如下,在命令行键入:

javaTestaaabbc

回车后输出的结果是(A)。

publicclassTest{

publicstaticvoidmain(Stringargs[]){

intk1=args.length;

intk2=args[1].length();

System.out.print(k1+""+k2);

}

}

A)32B)12C)13D)33

 

2、简答题

1、怎么理解java的泛型?

答:

在JavaSE1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。

对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。

泛型是JavaSE1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。

这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。

泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。

2、JAVA源文件中是否可以包括多个类,有什么限制

答:

一个java源文件中可以包含多个类,每个源文件中至多有一个public类,如果有的话,那么源文件的名字必须与之相同。

如果源文件中没有public类,则源文件用什么名字都可以,但最好还是具有特定的意义,免得自己都不记得里面写的是什么了。

 

3、请写出5种常见到的runtimeexception。

答:

NullPointerException:

当操作一个空引用时会出现此错误。

NumberFormatException:

数据格式转换出现问题时出现此异常。

ClassCastException:

强制类型转换类型不匹配时出现此异常。

ArrayIndexOutOfBoundsException:

数组下标越界,当使用一个不存

在的数组下标时出现此异常。

ArithmeticException:

数学运行错误时出现此异常

4、在java语言中int和Integer有什么区别

答:

int是基本数据类型,Integer是int的包装类,属于引用类型

5、多线程有几种实现方法,都是什么?

同步的方法有几种,都是什么?

解答:

多线程有两种实现方法:

继承Thread类或者实现Runnable接口。

实现同步也有两种方法:

一种是同步方法,另一种是同步代码块。

同步方法是在方法返回类型前面加上synchronized关键字

同步代码块是synchronized(这里写需要同步的对象){…}

6、面向对象的特征:

(1).抽象:

抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。

抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。

抽象包括两个方面,一是过程抽象,二是数据抽象。

(2).继承:

继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。

对象的一个新类可以从现有的类中派生,这个过程称为类继承。

新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。

派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

(3).封装:

封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。

面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。

(4).多态性:

多态性是指允许不同类的对象对同一消息作出响应。

多态性包括参数化多态性和包含多态性。

多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

 

7、类和对象的定义:

类和对象是面向对象方法的核心概念。

类(Class):

对某一类事物的描述,是抽象的、概念上的定义;

对象(Object):

实际存在的该类事物的个体,因而也称实例(Instance).

8、封装的定义和目的:

定义:

通过将类的成员变量声明为私有的(private),再提供一个或多个公有(public)方法对该成员变量的访问或修改,这种方式即称为封装。

目的:

(1)隐藏类的实现细节;

(2)让使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作;

(3)便于修改,增强代码的可维护性;

(4)可进行数据检查

9、Java程序设计中如何调用类的成员

(1)成员方法可以无条件直接调用本类的其他成员

(2)其他类中调用一个类的成员时,必须采用“对象.成员”的形式调用

10、String,StringBuffer的区别?

 

String类提供了数值不可改变的字符串,每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象, String覆盖了equals方法和hashCode方法 

StringBuffer类提供的字符串可进行修改,每次结果都会对 StringBuffer 对象本身进行操作,而不是生成新的对象

11、abstract修饰符如何使用,使用了abstract修饰符有什么特点?

abstract修饰符可以修饰类和方法

abstract类为抽象类,是不能创建对象的

abstract方法为抽象方法,只有方法的声明,没有具体的实现

需要注意的是:

有抽象方法的类一定是抽象类

抽象类不一定有抽象方法

抽象类也有构造器,但不能创建对象实例

 

12、instanceof操作符的作用?

可以判断一个对象的类型是否是某一个类的类型或子类,也可以判断这个对象的类型是否是一个接口的实现类

13、接口中的成员有什么特点?

数据域必须是(publicstaticfinal修饰)公有静态常量

方法必须是(publicabstract修饰)公有抽象

没有构造方法

14、字符串的常用方法有哪些?

charAt方法:

可以返回指定位置的字符

substring方法:

可以截取子字符串

length方法:

返回字符串长度

indexOf方法:

查找子串的位置

lastIndexOf方法:

反向搜索字串的位置

replaceAll方法:

替换字符串

split方法:

分解字符串

toLowerCase,toUpperCase方法:

字符串大小写转换

15、在Java中,怎样创建一个线程?

1、定义类来实现Runnable接口

classTestThreadimplementsRunnable{

publicvoidrun(){…}

}

2、继承Thread类来实现

classTestThreadextendsThread{

TestThread(Stringname){

super(name);

start();

}

publicvoidrun(){…}

}

16、什么是组件对象?

什么是容器?

容器与其他类型的组件有何不同?

答:

组件是图形界面的基本元素,用户可以直接操作,java语言为每种组件都预定义类,程序通过它们或它们的子类创建各种组件对象。

容器是图形界面的复合元素,容器可以包含组件。

java语言也为每种容器预定义类,程序通过它们或它们的子类创建各种容器对象。

容器与其他组件的不同是:

为了能层次地构造复杂的图形界面,容器被当作特殊的组件,可以把容器放入另一个容器中,可以向容器中添加组件。

17、什么是事件?

什么是监听器?

如何进行事件注册?

答:

图形界面上的事件是指在某个组件上发生的用户操作。

对事件作监视的对象称为监视器,监视器提供响应事件的处理方法。

为了让监视器与事件对象关联起来,需要对事件对象作监视器注册,告诉系统事件对象的监视器。

以程序响应按钮事件为例,当用户点击用户界面中与button对应的按钮时,button对象就会产生一个ActionEvent类型的事件。

如果监视器对象是obj,对象的类是Obj,则类Obj必须实现AWT中的ActionListener接口,实现监视按钮事件睥actionPerformed方法。

buton对象必须用addActionListener方法注册它的监视器对象obj。

18、如何用套接字建立两个程序间的通信?

(1)用Socket类建立客户到服务器的套接字的对象:

Socket(Stringhost,intport)

(2)用ServerSocket建立接受客户套接字的服务器套接字对象:

ServerSocket(intport)客户端与服务器端的端口号相同

(3)客户端服务器对象调用方法accept()接受客户的套接字创建客户端套接字对象,服

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1