java复习题含答案.docx

上传人:b****6 文档编号:5919320 上传时间:2023-01-02 格式:DOCX 页数:13 大小:23.67KB
下载 相关 举报
java复习题含答案.docx_第1页
第1页 / 共13页
java复习题含答案.docx_第2页
第2页 / 共13页
java复习题含答案.docx_第3页
第3页 / 共13页
java复习题含答案.docx_第4页
第4页 / 共13页
java复习题含答案.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

java复习题含答案.docx

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

java复习题含答案.docx

java复习题含答案

填空题

1.Java是从(B)语言改进重新设计。

A.AdaB.C++C.PasacaD.BASIC

2.执行语句inti=1,j=++i;后i与j的值分别为(D)。

A.1与1B.2与1C.1与2D.2与2

3.每Java语言具有许多优点和特点,(B)反映了Java程序并行机制的特点。

A.安全性B.多线性C.跨平台D.可移植

4.下列关于构造方法的叙述中,错误的是(C)

A.Java语言规定构造方法名与类名必须相同

B.Java语言规定构造方法没有返回值,但不用void声明

C.Java语言规定构造方法不可以重载

D.Java语言规定构造方法只能通过new自动调用

5.下列哪个类的声明是正确的?

(D)

A.abstractfinalclassHI{}(final代表常量,但是抽象类不能实例化)

B.abstractprivatemove(){}(这是定义方法的)

C.protectedprivatenumber;(不是定义类,且修饰符重复)

D.publicabstractclassCar{}

6.Javaapplication中的主类需包含main方法,main方法的返回类型是(D)。

A.intB.floatC.doubleD.void

7.在调用方法时,若要使方法改变实参的值,可以(B)。

A.用基本数据类型作为参数

B.用对象作为参数

C.A和B都对

D.A和B都不对

8.下列关于for循环和while循环的说法中(B)是正确的。

A.while循环能实现的操作,for循环也都能实现

B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果

C.两种循环任何时候都可替换

D.两种循环结构中都必须有循环体,循环体不能为空

9.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用(C)个比特位。

A.8B.16C.32D.64

10.Java中(C)。

A.一个子类可以有多个父类,一个父类也可以有多个子类(只可以单继承)

B.一个子类可以有多个父类,但一个父类只可以有一个子类

C.一个子类可以有一个父类,但一个父类可以有多个子类

D.上述说法都不对

11.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。

这种面向对象程序的特性称为(C)。

A.隐藏   B.覆盖C.重载 D.Java不支持此特性

12.Java类可以作为(C)

A.类型定义机制   B.数据封装机制

C.类型定义机制和数据封装机制 D.上述都不对

13.在创建对象时必须(C)

A.先声明对象,然后才能使用对象

B.先声明对象,为对象分配内存空间,然后才能使用对象

C.先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象

D.上述说法都对

14.在创建对象时必须(C)。

A.先声明对象,然后才能使用对

B.先声明对象,为对象分配内存空间,然后才能使用对象

C.先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象

D.以上说法都正确

15.下列说法中,正确的是:

(A)

A.类是变量和方法的集合体B.数组是无序数据的集合

C.抽象类可以实例化D.类成员数据必须是公有的

16.下列不可作为java语言标识符的是(D)

A.a1B.$1C._1D.11(不能以数字开头)

17.有一段java应用程序,它的主类名是a1,那么保存它的源文件名可以是(A)

A.a1.javaB.a1.classC.a1D.都对

18下列说法中,(A)是正确的。

A.类是变量和方法的集合体B.数组是无序数据的集合

C.抽象类可以实例化D.类成员数据必须是公有的

19.下列有关继承的说法中正确的是(B)。

A.子类能继承父类的所有方法和属性B.子类能继承父类的非私有方法和属性

C.子类只能继承父类public方法和属性

D.覆盖与重载是同一回事子类能继承父类的方法,而不是属性

20java.lang包的(B)方法比较两个对象是否相等,相等返回true。

A.toString()B.equals()C.compare()D.以上所有选项都不正确

21.一个Java程序运行从上到下的环境次序是(C)

A.操作系统、Java程序、JRE/JVM、硬件

B.JRE/JVM、Java程序、硬件、操作系统

C.Java程序、JRE/JVM、操作系统、硬件

D.Java程序、操作系统、JRE/JVM、硬件

22.下面选项中哪个关键字可以用来修饰接口中的变量和方法?

(A)

A.staticB.privateC.synchronizedD.protected

23.关于被私有保护访问控制符protected修饰的成员变量,以下说法正确的是?

(A)

A.可以被三种类所引用:

该类自身、与它在同一个包中的其他类、在其他包中的该类的子类

B.可以被两种类访问和引用:

该类本身、该类的所有子类

C.只能被该类自身所访问和修改

D.只能被同一个包中的类访问

24.下列有关继承的说法。

正确的是:

(B)

A.子类能继承父类的所有方法和属性;

B.子类能继承父类的非私有方法和属性

C.子类只能继承父类public方法和属性

D.子类能继承父类的方法,而不是属性。

25.为了区分类中重载的同名的不同的方法,要求:

(A)

A.采用不同的形式参数列表

B.返回值得数据类型不同(与返回值无关)

C.调用时用类名或者对象名做前缀

D.参数名不同(参数列表---参数个数,参数类型)

26.下面是有关子类继承父类构造函数的描述,其中正确的是:

(C)

A.创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。

(先调用父类的构造函数)

B.子类可以不调用父类的构造函数(子类的构造函数默能调用父类的无参数的构造函数)

C.子类必须通过super()关键字调用父类的构造函数

D.子类无法继承父类的构造函数。

(同上)

27.下列说法中,正确的是:

(A)

A.类是变量和方法的集合体

B.数组是无序数据的集合(类型(type)可以为Java中任意的数据类型,包括简单类型组合类型)

C.抽象类可以实例化

D.类成员数据必须是公有的

28.在使用interface声明一个接口时,只可以使用(D)修饰符修饰该接口。

A.privateB.protectedC.privateprotecteD.public

29.下面选项中关键字(A)可以用来修饰接口中的变量和方法。

A.staticB.private  C.synchronizedD.protected

30.java中用来抛出异常的关键字是(C)。

A.tryB.catchC.throwD.finally

31.以下关于java异常说法正确的是(D)。

A.异常是一种对象B.一旦程序运行,异常将被创建

C.为了保证程序运行速度,要尽量避免异常控制D.以上说法都不对

32.java.lang包的(B)方法比较两个对象是否相等,相等返回true。

A.toString()B.equals()C.compare()D.以上所有选项都不正确

33.所有异常的父类是(B)。

A.Error B.Throwable C.RuntimeException D.Exception 

34.下列(D)操作不会抛出异常。

A.除数为零 B.用负数索引访问数组C.打开不存在的文件 D.以上都会抛出异常

35.能单独和finally语句一起使用的块是(A)。

A.try B.throwsC.throwD.catch

36.Java是从(B)语言改进重新设计。

A.AdaB.C++C.PasacalD.BASIC

37.下列语句哪一个正确(B)

A.Java程序经编译后会产生machinecodeB.Java程序经编译后会产生bytecode

C.Java程序经编译后会产生DLLD.以上都不正确

38.下列运算符合法的是(A)

  A.&&B.<>C.ifD.:

=

39.执行如下程序代码

  a=0;c=0;

  do{

  --c;

  a=a-1;

  }while(a>0);

  后,C的值是(C)

A.0B.1C.-1D.死循环

40.下列哪一种叙述是正确的(D)

  A.abstract修饰符可修饰字段、方法和类

  B.抽象方法的body部分必须用一对大括号{}包住

  C.声明抽象方法,大括号可有可无

D.声明抽象方法不可写出大括号

41.下列语句正确的是(A)

  A.形式参数可被视为localvariable

  B.形式参数可被字段修饰符修饰

  C.形式参数为方法被调用时,真正被传递的参数

  D.形式参数不可以是对象

42.下列哪种说法是正确的(D)

A.实例方法可直接调用超类的实例方法

B.实例方法可直接调用超类的类方法

C.实例方法可直接调用其他类的实例方法

D.实例方法可直接调用本类的类方法

43.下列标识符合法的有(B)

A.newB.$UsdollarsC.1234D.car.taxi

44.下列说法正确的有(A)

  A.数组是一种对象

  B.数组属于一种原生类

  C.intnumber=[]={31,23,33,43,35,63}

D.数组的大小可以任意改变

45.用来修饰interface的有(B)

A.privateB.publicC.protectedD.static

46.下列说法正确的是(A)

   A.能被java.exe成功运行的javaclass文件必须有main()方法

  B.J2SDK就是JavaAPI

  C.Appletviewer.exe可利用jar选项运行.jar文件

  D.能被Appletviewer成功运行的javaclass文件必须有main()方法

47.请问“abcd”instanceofObject返回的值是?

(B)

A.“abcd”B.trueC.falseD.String

48.下面说法正确的是:

(A)

A.如果源代码中有package语句,则该语句必须放在代码的第一行(不考虑注释和空格);

18如果源代码中有import语句,则该语句必须放在在代码的第一行(不考虑注释和空格)//先写包,再导入

C.如果源代码中有main()方法,则该方法必须被放在代码的第一行//先写包

D.如果某文件的源代码中定义了一个public的接口,接口名和文件名可以不同。

49下面有关方法覆盖说法不正确的是:

(B)

A.方法覆盖要求覆盖和被覆盖的方法有相同的名字,参数列以及返回值

B.方法覆盖要求覆盖和被覆盖的方法必须具有相同的访问权限;

C.覆盖的方法不能比被覆盖的方法抛出更多的异常

D.覆盖的方法一定不能是private的

50.下列哪种异常是检查型异常,需要在编写程序时声明(C)。

A.NullPointerExceptionB.ClassCastException

C.FileNotFoundExceptionD.IndexOutOfBoundsException

51.下述概念中不属于面向对象方法的是(D)。

A.对象、消息 B.继承、多态C.类、封装 D.过程调用

52.下面不是Java的保留字或关键字的是(B)。

A.efaultB.NULLC.throwsD.long

53.下面的赋值语句正确的是(D)。

A.shortmyshort=99s;B.Stringname=’Excellent’;

C.charc=17c;D.intz=015;

54.执行完以下代码int[]  x=newint[10];后,以下哪项说明是正确的( A  )。

A.x[9]为0 B.x[9]未定义C.x[10]为0D.x[0]为空

55.以下代码段执行后的输出结果为(C)。

intx=-3;floaty=10.0f;

System.out.println(y%x);

A.不能成功编译B.-1.0C.1.0D.-1

56.类与对象的关系是(A)。

A.类是对象的抽象B.类是对象的具体实例

C.对象是类的抽象D.对象是类的子类

57.下列关于构造方法的叙述中,错误的是( C )

A.Java语言规定构造方法名与类名必须相同

B.Java语言规定构造方法没有返回值,但不用void声明

C.Java语言规定构造方法不可以重载

D.Java语言规定构造方法只能通过new自动调用

58.关于super的说法正确的是(C)。

A.是指当前对象的内存地址B.是指当前对象的父类对象的内存地址

C.是指当前对象的父类D.可以用在main()方法中

59.关于被私有访问控制符private修饰的成员变量,以下说法正确的是(C )

A.可以被三种类所引用:

该类自身、与它在同一个包中的其他类、在其他包中的该类的子类

B.可以被两种类访问和引用:

该类本身、该类的所有子类

C.只能被该类自身所访问和修改

D.只能被同一个包中的类访问

60.若在某一个类定义中定义有如下的方法:

finalvoidaFinalFunction();

则该方法属于(C)。

A.本地方法B.静态方法C.最终方法D.抽象方法

61.下列关于修饰符混用的说法,错误的是(D)

A.abstract不能与final并列修饰同一个类

B.abstract类中不可以有private的成员

C.abstract方法必须在abstract类中

D.static方法中能处理非static的属性

62.编译并运行下述程序段的结果是(B)。

publicclassTest{

publicstaticvoidmain(Stringargv[]){

int[]count=newint[4];

System.out.println(count[4]);}}

A.编译时错误B.运行时错误C.输出0D.输出null

63.在编写JavaApplet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上(D)语句。

A.importjava.awt.*;B.importjava.applet.*;

C.importjava.io.*;D.importjava.awt.event.*;

64.内部类是在一个类内嵌套定义的类,其特点描述错误的是(C)。

A.只能在定义它的类或程序段中或表达式内匿名使用,外部使用时必须给出类的全名

B.可以使用它所在类的静态成员变量或实例成员变量,但不可以使用所在类中的局部变量

C.可以使用其他类的成员,而且可访问它所在类的成员

D.除static内部类之外,不能在类内声明static成员

65.关于以下程序段,正确的说法是(C)。

Strings1=“a”+“b”;

Strings2=newString(s1);

if(s1==s2)

System.out.println(“==issucceeded”);

if(s1.equals(s2))

System.out.println(“.equals()issucceeded”);

A.行4与行6都将执行B.行4执行,行6不执行

C.行6执行,行4不执行D.行4、行6都不执行

填空题:

1.在Java语言中,简单数据类型包括:

整数类型、浮点类型、字符类型和布尔类型。

2.一般Java程序的类体由两部分组成:

一部分是属性,另一部分是方法。

3.this指当前对象,super指父对象。

4.在Java中,能实现多重继承效果的方式是 实现多个接口。

5.类__是Java程序中基本的结构单位。

6.Java是面向对象语言,类是客观事物的抽象,而对象是类的实例。

7布尔型常量有两个值,它们分别true__,_false_。

8.Java中类成员的限定词有以下几种:

private,public,protected和缺省。

其中,_public的限定的范围最大。

_private__的限定只能内部访问。

Java中成员变量用final修饰符修饰的是常量。

9.用 static 修饰的变量叫静态变量,它可以通过类的对象和类名两种方式来访问。

程序阅读题

1.阅读以下程序,请写出输出结果

importjava.lang.*;

publicclassStrCompare

{

publicstaticvoidmain(String[]args)

{

Stringstr1="Hello,Java!

",

Stringstr2="hello,java!

";

System.out.println(str1.equals(str2));System.out.println(str1.equalsIgnoreCase(str2));}}

输出运行结果:

False

True

2.阅读以下程序,请写出输出c.x=2

publicclasswithstaticdata{

staticintx;

inty;

publicstaticvoidmain(String[]args){

withstaticdataa=newwithstaticdata();

a.x=1;

System.out.println(a.x);withstaticdatab=newwithstaticdata();

b.x=2;

System.out.println(b.x);System.out.println(a.x);withstaticdatac=newwithstaticdata();

System.out.println(

"c.x="+c.x);}

}

3.现有一个类定义如下,请回答问题:

classEmployee

{

Stringname;

intage;

doublewage;

staticintNo=0;

Employee(Stringa1,inta2,doublea3)

{

name=a1;age=a2;wage=a3;

No++;

}

}

在使用该类时,已使用下面语句生成了该类的对象:

Employeee1,e2;

e1=newEmployee("王劲",26,6300);

e2=newEmployee("张山",30,3800);

问题:

(1)e2.name,e2.age,e2.wage的值各是什么?

(3分)

张山,30,3800

(2)生成对象e1、e2后,e1.No值为多少?

(3分)

e1.No=2

4.找出下面程序中存在的错误。

publicabstractclassClosedFigure

{protectedabstractClosedFigure();}【答】编译错,构造方法不能被声明为抽象方法。

(6分)

5.阅读程序,写成运行结果。

(6分,每空2分)

publicclassSum{

publicstaticvoidmain(String[]args){

intj=10;

System.out.println("jis:

"+j);

calculate(j);

System.out.println("Atlast,jis:

"+j);}

staticvoidcalculate(intj){

for(inti=0;i<10;i++)

j++;

System.out.println("jincalculate()is:

"+j);}}

输出结果为:

jis:

 

jincalculate()is:

Atlastjis:

 

6.一个JavaApplication源程序文件名JavaApplication.java,如果使用Sun公司的Java开发工具JDK编译该源程序文件并使用其虚拟机运算这个程序的字节码文件,应该顺序执行哪两个命令?

javacJavaApplication.java(3分)

javaJavaApplication(3分)

8.阅读程序,其运行结果为55。

(6分)

publicclassWhileDemo

{publicstaticvoidmain(String[]args)

{intx=1;

intsum=0;

while(x<=10)

{sum+=x;

x++;}

System.out.println(sum);}}

9.阅读程序,写出程序错误。

classPerson

{privateStringname;

privateintage;

publicvoidtell(){System.out.println("姓名:

"+name+",年龄:

"+age);}}

publicclassEncDemo02

{publicstaticvoidmain(Stringargs[])

{Personper=newPerson();

per.name="张三";

per.age=-30;

per.tell();}}

【答】编译错(2分),不能对私有属性name和age进行赋值。

(4分)

10.阅读下面程序,按要求写成java语句标注(每空1分,6分)。

interfaceA

{

publicStringAUTHOR="李兴华";//定义全局常量

publicvoidprint();//定义抽象方法

publicStringgetInf

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

当前位置:首页 > 自然科学

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

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