java训练题二答案.docx

上传人:b****8 文档编号:30509465 上传时间:2023-08-16 格式:DOCX 页数:16 大小:20.62KB
下载 相关 举报
java训练题二答案.docx_第1页
第1页 / 共16页
java训练题二答案.docx_第2页
第2页 / 共16页
java训练题二答案.docx_第3页
第3页 / 共16页
java训练题二答案.docx_第4页
第4页 / 共16页
java训练题二答案.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

java训练题二答案.docx

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

java训练题二答案.docx

java训练题二答案

训练题二

一、选择题

1.下列哪种类成员修饰符的变量只能在本类中被访问?

(D)

A.protectedB.publicC.defaultD.private

2.在java语言的哪一个包是编译器自动导入的?

(A)

A.java.langB.java.awtC.jva.ioD.java.applet

3.给出下面的程序代码:

classTest3{privatefloata;

publicstaticvoidm()

{//…

}

}

如何使成员变量a被方法m()直接访问?

(C)

A.将privatefloata改为protectedfloata  B.将privatefloata改为publicfloata

C.将privatefloata改为staticfloataD.将privatefloata改为floata

4.已知有下面的类说明:

publicclassTest4

{privatefloatf=1.0f;.

intm=12;

staticintn=1;

publicstaticvoidmain(String[]args)

{Test4e=newTest4();

}

}

在main()方法中,下面哪个的使用是正确的(A)?

A.e.fB.this.nC.Test4.mD.Test4.f

5.有一个类A,下面为其构造函数的声明,其中正确的是(B)。

A.voidA(intx){…}B.A(intx){…}

C.a(intx){…}D.voida(intx){…}

6.在下面的程序源代码文件Test6.java中,哪个是正确的类的定义?

(B)

A.publicclasstest6{B.publicclassTest6{

publicintx=0;publicintx=0;

publictest(intx)publicTest6(intx)

{this.x=x;{this.x=x;

}}

}}

B.classT1{}D.classT2{}

classT2{}protectedclassTest6extendsT2

publicclassTest6extendsT1,T2{publicintx=0;

{publicintx=0;publicTest6(intx)

publicTest6(intx){this.x=x;

{this.x=x;}}

}}

7.main()方法是Java Application程序执行的入口点,关于main()方法的方法头下面哪一项是合法的?

(B)

A.publicstaticvoidmain()B.publicstaticvoidmain(Stringargs[])

B.publicstaticintmain(String[]arg)D.publicvoidmain(Stringargs[])

8.下列程序的执行结果是(A)

publicclassTest8

{publicvoidaMethod()

{staticinti=0;

i++;

System.out.println(i);

}

publicstaticvoidmain(Stringargs[])

{Test8obj=newTest8();

obj.aMethod();

}

}

A.编译错误B.0C.1D.运行成功,但不输出

9.下面哪一项的方法调用能填入程序中的横线外?

(C)

classCC9

{staticvoidmethod()

{System.out.println(“inCC9”);}

}

classCC9_1

{voidmethod()

{System.out.println(“inCC9_1”);}

}

publicclassex9

{publicstaticvoidmain(String[]args)

{ex9e=newex9();

e.method();

}

publicvoidmethod()

{CC9o1=newCC9();

CC9_1o2=newCC9_1();

___________

___________

}

}

A.o1.method();B.CC9.method();C.CC9.method();D.o1.method();

ex9.method();CC9_1.method();o2.method();CC9_1.method();

10.为了区分类中重载的同名的不同方法,要求(A)

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

C.修改访问权限D.返回值的数据类型不同

11.若需要定义一个静态域,应使用哪一个修饰符?

(A)

A.staticB.synchronizedC.privateD.protected

12.设i,j为类X定义的double型成员变量名,下列X的构造函数中不正确的是(D)

A.X(doublek){i=k;}B.X(doublem,doublen){i=m;j=n;}

C.X(){i=6;}D.doubleX(doublek){i=k;returni;}

13.设A为已定义的类名,则下列声明A类的对象a的语句中正确的是(A)

A.publicAa=newA();B.publicAa=A();

C.Aa=newclass();D.aA;

14.为AB类的一个无返回值的方法method书写方法头,使得使用类名,AB作为前缀就可以调用它,该方法头的形式为(D)

A.abstractvoidmethod()B.publicvoidmethod()

C.finalvoidmethod()D.staticvoidmethod()

15.下面哪个保留字可以定义常量变量,说明这个变量赋值后永不改变?

(C)

A.protectedB.staticC.finalD.super

16.下列哪个不是创建数组的正确语句?

(C)

A.floatf[][]=newfloat[6][6];B.float[]f[]=newfloat[6][6];

C.floatf[][]=newfloat[][6];D.float[][]f=newfloat[6][];

17.设X,Y为已定义的类名,下列声明X类的对象x1的语句中正确的是(A)

A.staticXx1;B.publicYx1=newX(int123);

C.Yx1;D.Xx1=X();

18.下列关于类说法不正确的是(D)

A.类是同种对象的集合和抽象B.类属于Java语言中的复合数据类型

C.对象是Java语言中的基本的结构单位D.类就是对象

19.下面关于Java语言中的方法说法不正确的是(C)

A.Java中的方法的参数传递是传值调用,而不是地址调用

B.方法体是对方法的实现,包括变量声明和Java合法语句

C.如果程序定义了一个或多个构造方法,在创建对象时,也可以用系统自动生成空的构造方法

D.类的私有方法不能被其子类直接访问

解析:

如果程序定义了一个或多个构造函数,在创建对象时,必须用自定义的构造方法来初始化,若没有定义构造方法,则使用默认的构造方法。

20.类的另一种说法是(B)

A.对象B.模板C.实例D.接口

21.Java语言有自动收集垃圾的功能,会周期性地回收一些长期不用的对象占用的内存。

下列哪项是对象的清除的途径?

(B)

(1)依靠Java的垃圾回收机制回收内存

(2)调用System.gc(),请求垃圾回收

(3)Java系统开始运行时,自动调用java.Object.finalize()释放内存

(4)在程序中调用重写的finalize()释放系统资源,其格式为:

protectedvoidfinalize()throwsthrowable{

Super.finalize();

}

A.

(1)

(2)B.

(1)

(2)(3)(4)C.

(1)

(2)(3)D.

(2)(3)(4)

解析:

考查Java语言的自动收集垃圾功能,垃圾回收用于对象的清除,题干中给出的4种垃圾回收的方法,都是可行的方法,因此选B

22.在Java中,数组是当成(B)处理的

A.类B.对象C.接口D.简单数据类型

解析:

在Java中,数组是作为对象处理的;所以就有数组的定义、创建和初始化的概念,体现了Java语言面向对象的特点。

二、填空题

1.方法头的关键字void用来表示方法不返回任何值。

2.写出下列程序的运行结果。

已知:

字符‘a’转换成整数对应的是97。

程序如下:

publicclassC2

{publicstaticvoidmain(String[]args)

{chara=‘d’;

intb=a;

floatc=a;

doubled=a;

System.out.println(“a=”+a);

System.out.println(“b=”+b);

System.out.println(“c=”+c);

System.out.println(“d=”+d);

}

}

执行结果应是:

a=d

b=100

c=100.0

d=100.0

3.下面是一个类的定义,试将程序补充完整。

classA

{Strings;

staticinta=66;

A(Strings1)

{s=s1;}

staticintgetA()

{returna;}

}

4.下面是一个类的定义程序,请将程序补充完整。

publicclassMyClass

{intx,y;

MyClass(inti,intj)

{x=i;y=j;}

}

5.通过“.”运算符实现对成员变量的访问和方法调用。

6.变量的属性用于描述变量的作用域,按作用域分类,变量有局部变量、类变量、

方法参数变量和异常处理参数。

7.一个对象的生命周期有3个阶段:

生成、使用和清除。

解析:

(1)生成:

包括声明、实例化和初始化。

(2)使用:

先定义后使用的原则。

(3)清除:

释放对象所占的内存,利用Java的自动收集垃圾功能。

8.对象是一组相关变量和方法的封装体,对象的特征是对象的行为、状态和身份。

9.一个类的定义分为类注释、类声明和类体的定义。

解析:

需知道一个类的定义分为类注释、类声明和类体的定义,其中类注释比较容易遗忘。

10.通过类MyClass中的不含参数的构造函数,生成该类的一个对象obj,可通过以下语句实现:

MyClassobj=newMyClass();

11.在Java程序中,创建新的类对象用关键字new。

12.构造方法是类中的一种特殊方法,它用来定义对象的初始状态。

13.对象是一组相关变量和相关方法的封装体,是类的一个实例化。

14.修饰符可分为访问限定符和非访问限定符两类。

15.访问限定符有public、protected,private和default等。

解析:

访问限定符是限定类、属性或方法被程序里的其他部分访问和调用的修饰符,有public,protected,private和default等。

16.非访问限定符有static、final、synchronized和abstract等。

三、简答题

1.什么是类?

如何定义一个类?

类中包含哪几部分,分别是什么?

答案:

见实验指导书。

2.什么是对象?

如何创建对象?

答案:

见实验指导书。

3.什么是构造方法?

构造方法有哪些特点?

答案:

见实验指导书。

4.如何对对象进行初始化?

答案:

见实验指导书。

5.静态方法与非静态方法有什么区别?

答案:

见实验指导书。

6.final成员变量和方法有什么特点?

答案:

见实验指导书。

四、编程题

1.仔细阅读下面的应用程序Person,写出其Student类程序的内容。

publicclassPerson

{

publicstaticvoidmain(String[]args)

{

Students1,s2;

s1=newStudent(“李明”,1.87);

s2=newStudent(“宁普”,1.85);

if(s1.getHeight()>s2.getHeight())

System.out.println(s1.getName()+”比”+s2.getName()+”轻。

”);

}

}

完善后的程序如下:

publicclassPerson

{

publicstaticvoidmain(String[]args)

{

Students1,s2;

s1=newStudent("李明",1.87);

s2=newStudent("宁普",1.85);

if(s1.getHeight()>s2.getHeight())

System.out.println(s1.getName()+"比"+s2.getName()+"高。

");

}

}

classStudent

{

privateStringname;

privatedoubleheight;

publicStudent(Stringname,doubleheight)

{

this.name=name;

this.height=height;

}

publicStringgetName()

{

returnname;

}

publicdoublegetHeight()

{

returnheight;

}

}

2.改正下面程序的错误并写出运行结果。

publicclassPerson//把这行的public去掉,一个程序中只能有一个public类

{

privateStringname;

staticintID;

publicPerson(Stringname)

{name=name;//把这里改成this.name=name;

}

publicStringgetName()

{

returnname;

}

staticvoidsetID()

{

ID++;

}

}

publicclassPeople

{

publicstaticvoidmain(String[]args)

{

Personp1=newPerson(“王强”);

Person.ID++;

System.out.println(p1.name+p1.ID);

//上行的p1.name错(因为name是私有的),应改为p1.getName()

Personp2=newPerson(“李明”);

Person.setID();

System.out.println(p2.name()+Person.ID);

//上行的p2.name()应改成p2.getName()

}

}

3.已知有如下类的定义:

publicclassPoint

{

privatedoublex,y;

publicPoint(doublea,doubleb)

{

x=a;

y=b;

}

publicdoublegetX()

{

returnx;

}

publicdoublegetY()

{

returny;

}

}

编写一个测试类TestPoint,在此类中定义一个方法,此方法的方法头如下:

publicdoubledistance(Pointp1,Pointp2):

此方法的求两点p1和p2的距离。

在main方法中,自己设定两个点(x1,y1)和(x2,y2),并求这两个点的距离。

程序答案暂时略!

4.定义一个类A,类中有一个private的整型变量data;一个private的字符串对象str。

类中有两个构造函数,一个不含参数,初始化data和str为其缺省值;另一个有两个参数,分别用来初始化data和str。

类中还定义了三个方法,方法头的定义和其功能如下。

publicAadd(intk,Strings);该方法把data和str的值分别加上k和s。

publicAclearA();该方法把data和str的值分别清除为其缺省值。

publicStringtoString();该方法把data和str的值转变为字符串返回,便于显示。

编写类TestA测试类A,创建类A对象并使用类A的三个方法。

程序如下:

classA

{privateintdata;

privateStringstr;

publicA()

{data=0;

str=null;

}

publicA(intdata,Stringstr)

{this.data=data;

this.str=str;

}

publicAadd(intk,Strings)

{this.data=this.data+k;

this.str=this.str+s;

returnthis;

}

publicAclearA()

{this.data=0;

this.str=null;

returnthis;

}

publicStringtoString()

{return“data=”+data+”\n”+”str=”+str;

}

}

publicclassTestA

{publicstaticvoidmain(String[]args)

{TestAt1=newTestA();

System.out.println(t1.toString());

t1.add(12,”AAA”);

System.out.println(t1.toString());

t1.clearA();

System.out.println(t1.toString());

TestAt2=newTestA(100,”BBB”);

System.out.println(t2.toString());

t2.add(12,”AAA”);

System.out.println(t2.toString());

t2.clearA();

System.out.println(t2.toString());

}

}

 

Thefurthestdistanceintheworld

Isnotbetweenlifeanddeath

ButwhenIstandinfrontofyou

Yetyoudon'tknowthat

Iloveyou.

Thefurthestdistanceintheworld

IsnotwhenIstandinfrontofyou

Yetyoucan'tseemylove

Butwhenundoubtedlyknowingthelovefromboth

Yetcannotbetogether.

Thefurthestdistanceintheworld

Isnotbeingapartwhilebeinginlove

ButwhenIplainlycannotresisttheyearning

Yetpretendingyouhaveneverbeeninmyheart.

Thefurthestdistanceintheworld

Isnotstrugglingagainstthetides

Butusingone'sindifferentheart

Todiganuncrossableriver

Fortheonewholovesyou.

倚窗远眺,目光目光尽处必有一座山,那影影绰绰的黛绿色的影,是春天的颜色。

周遭流岚升腾,没露出那真实的面孔。

面对那流转的薄雾,我会幻想,那里有一个世外桃源。

在天阶夜色凉如水的夏夜,我会静静地,静静地,等待一场流星雨的来临…

许下一个愿望,不乞求去实现,至少,曾经,有那么一刻,我那还未枯萎的,青春的,诗意的心,在我最美的年华里,同星空做了一次灵魂的交流…

秋日里,阳光并不刺眼,天空是一碧如洗的蓝,点缀着飘逸的流云。

偶尔,一片飞舞的落叶,会飘到我的窗前。

斑驳的印迹里,携刻着深秋的颜色。

在一个落雪的晨,这纷纷扬扬的雪,飘落着一如千年前的洁白。

窗外,是未被污染的银白色世界。

我会去迎接,这人间的圣洁。

在这流转的岁月里,有着流转的四季,还有一颗流转的心,亘古不变的心。

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

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

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

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