复习资料习题版1Word下载.docx

上传人:b****5 文档编号:16279577 上传时间:2022-11-22 格式:DOCX 页数:14 大小:23.39KB
下载 相关 举报
复习资料习题版1Word下载.docx_第1页
第1页 / 共14页
复习资料习题版1Word下载.docx_第2页
第2页 / 共14页
复习资料习题版1Word下载.docx_第3页
第3页 / 共14页
复习资料习题版1Word下载.docx_第4页
第4页 / 共14页
复习资料习题版1Word下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

复习资料习题版1Word下载.docx

《复习资料习题版1Word下载.docx》由会员分享,可在线阅读,更多相关《复习资料习题版1Word下载.docx(14页珍藏版)》请在冰豆网上搜索。

复习资料习题版1Word下载.docx

哪个语句是正确的(C)

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

C)输出零D)输出空

11、如下哪个字符串是Java中的标识符(A)

A)fieldnameB)superC)3numberD)#number

12、以下哪项是接口的正确定义(D)

A)interfaceB{voidprint(){};

}

B)abstractclassB{voidprint();

C)abstractinterfaceBextendsA1,A2//A1、A2为已定义的接口{abstractvoidprint(){};

D)interfaceB{voidprint();

13、以下代码段执行后的输出结果为(B)

intx=3;

inty=10;

System.out.println(y%x);

A)0B)1C)2D)3

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

A)publicB)privateC)staticD)protected

15、执行完代码int[]x=newint[25];

后,以下哪项说明是正确的(A)

A)x[24]为0B)x[24]未定义C)x[25]为0D)x[0]为空

16、类Text定义如下:

publicclassTest

{

publicfloataMethod(floata,floatb){}

//***

将以下哪种方法插入行"

//***"

是不合法的。

(B)

A)publicfloataMethod(floata,floatb,floatc){}

B)publicfloataMethod(floatc,floatd){}

C)publicintaMethod(inta,intb){}

D)publicfloataMethod(inta,intb,intc){}

17、在Java语言中,下列哪个包是编译器自动导入的(A)

A)java.langB)C)javax.swingD)java.util

18、关于类和对象的叙述正确的是(A)

A)Java的类分为两大部分:

系统定义的类和用户自定义的类

B)类的静态属性和全局变量的概念完全一样,只是表达形式不同

C)类的成员至少有一个属性和一个方法

D)类是对象的实例化

19、以下语句中,没有创建出字符串对象的是(A)

A)Stringstr;

B)Stringstr="

hello"

;

C)Stringstr=newString();

D)newString("

);

20、A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明

①Aa0=newA();

②Aa1=newB();

③Aa2=newC();

请问以下哪个说法是正确的(D)

A)只有第1行能通过编译

B)第1、2行能通过编译,但第3行编译出错

C)第1、2、3行能通过编译,但第2、3行运行时出错

D)第1行、第2行和第3行的声明都是正确的

 

21、判断两个字符串s1,s2值是否相等,需要使用(D)

A)if(s1=s2)B)if(s1==s2)

C)if(equals(s1,s2))D)if(s1.equals(s2))

22、以下哪个表达式是不合法的(B)

A)Stringx="

Sky"

inty=5;

x+=y;

B)Stringx="

if(x==y){}

C)Stringx="

x=x+y;

D)Stringx=null;

inty=(x!

=null)&

&

(x.length()>

0)?

x.length():

0;

23、在子类的构造函数中要调用父类的构造函数,需要用哪个关键字(D)

A)finalB)extendsC)implementsD)super

24、有以下方法的定义,请选择该方法的返回类型(C)

intmethod(bytex,doubley)

{return(short)x/y*2;

A)byteB)shortC)intD)double

25、在Java中,一个源文件可以存放几个公有类(即被public修饰的类)(A)

A)1个B)2个C)3个D)无数个

26、编译MyClass.java之后,得到了三个字节码文件:

MyClass.class,MyClasslittle$.class,MyClass$1.class。

这表明(C)

A)MyClass类中的两个方法:

little和1

B)MyClass.Java中有三个类:

MyClass、little和1

C)MyClass类中有两个内部类:

一个是命名的little,另一个是匿名的1

D)MyClass、little和1,这三者没什么关系

27、下面哪个函数是publicvoidexample(){...}的重载函数(D)

A)publicdoubleexample2(intm){...}B)publicintexample(){...}

C)publicvoidexample2(){...}D)publicintexample(intm,floatf){...}

28、下面哪个不是java语言中的关键字(B)

A)longB)sizeofC)instanceofD)const

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

A)可被三种类引用:

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

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

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

C)只能被该类自身所访问和修改D)只能被同一个包中的类访问

30、以下有关构造方法的说法,正确的是(A)

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

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

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

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

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

A).javaB).classC).htmlD).exe

32、main方法是Java程序执行的入口点,关于main方法的方法头以下哪项是合法的(B)

A)publicstaticvoidmainB)publicstaticvoidmain(String[]args)

C)publicstaticintmain(String[]args)D)publicvoidmain(Stringargs[])

33、给出如下代码:

classTest{

privateintm;

publicstaticvoidfun(){//somecode...}}

如何使成员变量m被函数fun()直接访问(C)

A)将privateintm改为protectedintmB)将privateintm改为publicintm

C)将privateintm改为staticintmD)将privateintm改为intm

34、Java中复合数据类型不包括(D)

A)类类型B)数组C)接口类型D)指针

35、下列语句中,能正确创建一个名为scu的包是(C)

A)importjava.scu;

B)importscu;

C)packagescu;

D)packagejava.scu;

36、void的含义(C)

A)方法体为空B)定义的方法没有形参

C)定义的方法没有返回值D)方法的返回值不能参加算术运算

37、Java应用程序的入口方法是(D)

A)startB)initC)helloWorldD)main

38、关于Java语言叙述错误的是(C)

A)Java语言具有跨平台性

B)Java是一种面向对象的语言

C)Java语言中的类可以多继承

D)Java的垃圾收集机制自动回收程序已不再使用的对象

39、给出下面的代码段:

publicclassBase{intw,x,y,z;

publicBase(inta,intb){x=a;

y=b;

}publicBase(inta,intb,intc,intd){//assignmentx=a,y=bw=d;

z=c;

}}

在代码说明//assignmentx=a,y=b处写入如下哪个代码是正确的(D)

A)Base(a,b);

B)x=a,y=b;

C)super(a,b);

D)this(a,b);

40、创建字符串Strings=newString("

xyzy"

以下哪条语句将改变s(D)

A)s.append("

a"

B)s.concat(s);

C)s.substring(3);

D)以上语句都不会

二、判断题

1、Java的字符类型采用的是Unicode编码,但所占字节由具体软硬件环境决定。

(错)一个字符一律占用2个字节

2、抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。

(错)

3、子类的属性和方法的数目一定大于等于父类的属性和方法的数目。

4、Java中数组的元素可以是简单数据类型的量,也可是某一类的对象。

(对)

5、在方法定义中,所以可能发生的异常都必须用try{}catch(){}捕捉。

(错)

6、Java源程序是由类定义组成的,每个程序可以定义若干个类,但只有一个类是主类。

(对)

7、Java的字符类型采用的是ASCII编码。

(错)

8、classA{...}等价于classAextendsObject{...}。

(对)

9、接口里的方法必须全部都声明成abstract。

(对)

10、注释的作用是使程序在执行时在屏幕上显示"

//"

之后的内容。

11、一个Java类可以有多个父类。

12、Java中数组的元素只能是简单数据类型的量。

13、不能在静态方法中使用this。

(对)不能在静态方法中使用this,因为this默认的对象引用,静态方法被调用时,this所引用的对象并没有产生,this无所指向.

14、最终类能派生子类,最终方法能被重载。

15、Java语言是平台无关的语言。

16、Java的源代码中定义几个类,编译结果就生成几个以"

.class"

后缀的字节码文件。

17、System类不能实例化,即不能创建System类的对象。

(对)System类当然不能实例化,它是抽象类嘛,所有前面带有abstract的类都不能实例化

18、类的静态方法中可以访问该类的非静态数据成员。

19、覆盖的同名方法中,子类方法不能比父类方法的访问权限更严格。

20、抽象类中不能创建对象。

三、填空题

1、创建一个名为MyPackage的包的语句是(package.MyPackage;

),该语句应该放在程序的位置为(最开头)。

java源程序的第一句

2、程序中定义类使用的关键字是class,每个类的定义由类头定义、类体定义两部分组成,其中类体部分包括(属性)和(方法)。

3、创建类的对象时,使用运算符(new)给对象分配内存空间。

4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用

(2)字节内存空间。

5、Java程序中定义接口所使用的关键字是(interface),接口中的属性都是(public,static,final),接口中的方法都是(publicabstract)。

6、在Java程序中,通过类的定义只能实现(单)继承,但通过接口的定义可以实现(多)继承关系。

7、数组x定义如下:

intx[][]=newint[3][2];

则x.length的值为(3),x[0].length的值为

(2)。

8、(抽象)方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类或接口之中定义。

(final)方法是不能被当前类的子类重新定义的方法。

9、关键字(import)用于导入包中的类到程序中,供程序中使用。

10、Java中所有类都是类(Object)的子类。

11、在子类中使用关键字(super)做前缀可调用被子类覆盖的父类中的方法。

12、面向对象程序设计所具有的基本特征是抽象性、(封装性)、继承性与(多态性)。

四、简答题

1、什么是重载,什么是覆盖,有什么区别和共同点?

答:

重载是指在同一个类中定义了多个名字相同而内容不同的成员方法;

覆盖则是指在子类中定义了与父类具有相同名字的成员方法。

重载与覆盖的区别在于:

重载是存在于同一个类的不同方法之间的多态关系,它们主要通过参数表中参数的个数、参数的数据类型和参数的顺序等方面的不同来区分;

而覆盖是存在于父类与子类之间的多态关系,它们在引用时通过指出所属类的类名来区分。

2、谈谈final与finally的区别?

final修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。

因此一个类不能既被声明为abstract的,又被声明为final的。

将变量或方法声明为final,可以保证它们在使用中不被改变。

被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。

被声明为final的方法也同样只能使用,不能重载。

finally在异常处理时提供finally块来执行任何清除操作。

如果抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块。

3、抽象类与接口的区别是什么?

a、接口中的所有方法都是抽象的,而抽象类可以定义带有方法体的不同方法;

b、一个类可以实现多个接口,而只能继承一个抽象父类;

c、接口与实现它的类不构成继承体系,而抽象类是属于一个类的继承体系;

d、接口中的方法默认是publicabstract的,而成员变量默认是publicstatic常量;

e、implements关键字用于实现接口,extends关键字用于继承。

五、编程题

1、请定义一个名为Card的扑克牌类,该类有两个private访问权限的字符串变量face和suit:

face描述一张牌的牌面值(如:

"

Ace"

"

Deuce"

Three"

Four"

Five"

Six"

Seven"

Eight"

Nine"

Ten"

Jack"

Queen"

King"

);

suit描述一张牌的花色(如:

Hearts"

Diamonds"

Clubs"

Spades"

)。

定义Card类中的public访问权限的构造方法,为类中的变量赋值;

定义protected访问权限的方法getFace(),得到扑克牌的牌面值;

定义protected访问权限的方法getSuit(),得到扑克牌的花色;

定义方法toString(),返回表示扑克牌的花色和牌面值字符串(如"

AceofHearts"

、"

TenofClubs"

等)

publicclassCard

privateStringface;

privateStringsuit;

publicCard(Stringface,Stringsuit)

this.face=face;

this.suit=suit;

protectedStringgetFace()

returnface;

//返回牌面值

protectedStringgetSuit()

returnsuit;

//返回牌花色

publicStringtoString()

returnface+"

of"

+suit;

//返回面值和花色

publicstaticvoidmain(String[]args)

Carda=newCard("

System.out.println("

牌面值为:

+a.getFace());

牌花色为:

+a.getSuit());

该扑克牌为:

+a.toString());

2、构造一个类来描述屏幕上的一个点,该类的构成包括点的x和y两个坐标,以及一些对点进行的操作,主要包括:

取得点的坐标值,对点的坐标进行赋值。

编写应用程序生成该类的对象并对其进行操作。

classPoint

privateintx,y;

publicPoint(intx,inty)

this.x=x;

this.y=y;

publicStringgetPiont()

return"

("

+x+"

"

+y+"

)"

publicvoidsetPoint(intx,inty)

Pointp=newPoint(3,4);

改点的坐标为:

+p.getPiont());

p.setPoint(5,6);

修改后的坐标为:

3、编写一个Java程序,接受用户从键盘输入的10个整数,并输出这10个整数的最大值和最小值。

importjava.io.*;

publicstaticvoidmain(Stringargs[])

intmax=0,min=0,value=0;

for(inti=1;

i<

=10;

i++)

{

try

{

System.out.println("

输入第"

+i+"

个整数:

BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));

Strings=br.readLine();

value=Integer.parseInt(s);

if(i==1)

{

max=min=value;

}

else

max=value>

max?

value:

max;

min=value<

min?

min;

}

catch(NumberFormatExceptionenf)

整数格式输入错误,请重新输入。

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

当前位置:首页 > 小学教育 > 学科竞赛

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

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