JAVA习题集.docx

上传人:b****7 文档编号:10864473 上传时间:2023-02-23 格式:DOCX 页数:16 大小:61.20KB
下载 相关 举报
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.一个类定义了一个或多个构造方法,则Java不提供默认的构造方法。

()

2.如果定义的类中没有给出构造方法,系统也不会提供构造方法。

()

3.可以通过类名直接访问类变量。

()

4.非static修饰的方法既能被对象调用,又能用类名直接调用。

()5.static修饰的类方法既能被对象调用,又能用类名直接调用。

()6.一个类的所有对象共享static修饰的类变量。

()7.类由两部分组成,一部分是变量的定义,一部分是方法的定义。

()

8.方法的定义由方法的声明和方法体等两部分组成。

()

9.方法中的形参可以和方法所属类的属性(域)同名。

()

10.package语句只能放到Java源程序除注释之外的第一行位置。

()11.Java应用程序的人口main方法只有一种定义。

()12.静态成员域具有全局作用域范围。

()

13.类成员变量可无须初始化,由系统自动进行初始化。

()

14.在类体部分定义时,类的构造方法、成员域和成员方法的出现顺序在语法上有严格限制。

()15.类的实例对象的生命周期包括实例对象的创建、使用、废弃、垃圾的回收。

()

二、选择题1.下述哪个说法是不正确的()

A.局部变量在使用之前无须初始化,因为有该变量类型的默认值

B.类成员变量由系统自动进行初始化

C.参数的作用域就是所在的方法

D.for语句中定义的变量,当for语句执行完时,该变量就消亡了2.下述哪一个关键字不是类及类成员的访问控制符()

A.publicB.privateC.staticD.protected3.考虑以下的方法头声明:

publicvoidmyMethod(intnum,charletter)下列哪个描述是正确的()

A.这个方法有个int型的参数,它的形式参数是letterB.这个方法有个int型的参数,它的形式参数是numC.这个方法有个char型的参数,它的实际参数是myMethodD.这个方法是一个构造方法

4.假设有个类已经定义了下述的变量:

intnum1=10;intnum2=20;

,intx,inty)

Stringword=newString("exam")doubleanswer=25.5;另外定义了下列方法头:

publicintstuff(Strings

以下哪个是正确的方法调用()

A.num1=stuff(”hello”,num1,num1);

B,answer=stuff(word,answer,num2);

C.num2=stuff(”hello”,num1,answer);

D.num1=stuff(num1,num2,word);5.下面哪一项不是构造方法的特点()

A.构造方法名必须与类名相同

B.构造方法不具有任何返回类型

C.任何一个类都含有构造方法

D.构造方法修饰词只能是public

 

10.给定如下代码:

classCircle{

Stringname,radius;

intr;

publicCircle(Stringn)

name=n;

}

publicCircle(Stringn,inta){name=n;

r=a;

publicCircle(Stringn,Stringd,inta){

radius=d;

}

这行代码应该是

要在第三个构造方法的空白处填上一行代码使之能够调用第二个构造方法,

()。

A.Circle(n,a);B.this(Circle(n,a));

C.this(n,a);D.this(name,a);

11.下面哪个代码片段是错误的()

A.packagemypackage;publicclassRectangle{}

B.import.*;packagemypackage;publicclassRectangle{import.*;classCircle{publicclassRectangle{.}

D.import.*;import.*;publicclassRectangle{.}

12.下列选项中,用于声明包名的关键字是()。

A.importB.packageC.interfaceD.protected

13.下列各种Java类的定义,哪些是错误的()

A.classMyClass{privateintVal;publicintgetVal(){returnVal;

}

}

B.classMyClass{privatestaticintVal;publicintgetVal(){returnval;

}

}

C.classMyClass{privateintVal;publicstaticintgetVal(){returnVal;

}

}

D.classMyClass{

privatestaticintVal;

publicstaticintgetVal(){

returnVal;

}

}

14.某类的成员方法只能被自己调用,修饰该方法的是()。

A.publicB.protectedC.privateD.无修饰符15.另外的类要获取以下MyClass类中的member的值,采用的语句是()。

publicclassMyClass{

privatestaticintmember=1;

publicstaticintgetMember(){

returnmember;

}

};

A.B.newmyClass().member

C.()D.myClass().getMember()

16.下面关于变量的说法,哪个是不正确的()

A.实例变量是类的成员变量

B.实例变量用关键字static声明

C.在方法中定义的局部变量在该方法被执行时创建

D.局部变量在使用前必须被初始化

17.在Java中,以下哪一个关键字使类不能派生出子类()

A.finalB.publicC.privateD.volatile

18.关于publicstaticvoidmain方法的参数描述不正确的是()。

A.Stringargs[]B.String[]argsC.Stringa[]D.Stringargs

19.下列整型的最终属性

i的定义中,正确的是()。

A.final

B

.staticinti

C.staticfinalinti

=234;

D.finalfloati

=3.14f;

20.类方法的修饰符是(

)。

A.staticB

.classC

.publicD

.void

22.类Line的定义如下:

classLine{

privateinta,b;

publicLine(intx,inty){

=x;

=y;

}

其中的

this代表()。

A.类名

LineB

.父类的对象

C.Line

类实例的当前对象引用

D.this指针

23.以下程序片段,下列哪个选项插入到第2行将引起编译错误()

1.packagemypackage;

2.

3.classMyClass{

4.}

A.publicclassMainClass{}B.packagemypackage1;

C.classB{}D.importjava.util.*;

24.以下程序代码,无法通过编译的是()。

A.classA{inti=O;

publicvoidmethod(){

(i);}}

B.classA{inti=0;

}classB{publicvoidmethod(){

}

}

C.classA{

publicinti=0;

publicstaticvoidmethod(){System.(newA().i);

}

}

D.classA{

publicstaticinti=0;

publicstaticvoidmethod(){

(i);

}

25.下列代码在编译时会发生错误,下面哪种修改可以更正错误()

classTest{

privateintm;

publicstaticvoidfun(){

}

}

A.将privateintm改为protectedintm

三、程序阅读题

1.阅读下面的程序,程序保存为Test.java:

1.publicclassTest{

2.shortmValue;

3.publicstaticvoidmain(String[]args){

4.inta=32;

5.intb=56;

6.Testos=newTest(a+b);

7.();

8.}

9.protectedTest(shortaValue){

10.mValue=aValue;

11.}

12.publicvoidShow(){

13.System.out.println(mValue);

14.}

15.}

上面的程序编译是否成功如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么

2.阅读下面的程序:

1publicclassTest{

2publicstaticvoidmain(Stringargv[]){

3Birdb=newBird();

4b.fly(3);

5}

6}

7classBird{

8.staticintType=2;

9.privatevoidfly(intan_Type){

10.Type=an_Type;

11.System.out.println(""+Type);

12.}

13.}

上面的程序编译是否成功如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么

3、仔细阅读下面的程序代码,若经编译和运行后,请写出打印结果。

classStaticTest{staticintx=1;

inty;

StaticTest(){

y++;

}

publicstaticvoidmain(Stringargs[]){

StaticTestst=newStaticTest();

("x="+x);

("="+;

st=newStaticTest();

"x="+x);

"="+;

}

static{x++;

}}

4.写出下列程序代码的运行结果。

publicclassPassTest{

floatptValue;

publicvoidchangeInt(intvalue){

value=il;

}

publicvoidchangeStr(Stringvalue){value=newString("hey");

}

publicvoidchangeObjValue(PassTestref){

=22;

}

publicstaticvoidmain(Stringargs[]){

Stringstr;

intval;

PassTestpt=newPassTest();val=33;

(val);

"Intvalueis:

"+val);str=newString("Hi");(str);

System.("Strvalueis:

"+str);

=44;

(pt);

"Ptvalueis:

"+

}

}

5.写出下列程序代码的运行结果:

classTest{

publicstaticStringss="杭州电子科技大"publicStringms="计算机学院";

publicvoidprintInfo(){

"ss="+ss+"ms="+ms);

}

publicstaticvoidmain(String[]args){

Testobj1,obj2;

obj1=newTest();

obj2=newTest();

="浙江工业大学";

="软件学院";

();

();

}

}

6.阅读以下程序,回答问题。

packagepackage1;classClassA{

publicvoidprintInfo(){

("IamClassA.");

}

}

packagepackage2;import;

publicclassClassB{

publicstaticvoidmain(String[]args){newClassA().printInfo();

}

}

(1)上面两个类是在同一个源程序文件中吗

(2)以上程序编译是否正常若编译正常则运行结果是什么

1.classPerson{

2.Stringname;

3.intage;

4.Stringsex;

5.publicPerson(Stringname,intage,Stringsex){

6.=name;

7.=age;

8.=sex;

9.}

10.publicvoidtoString(){

11.return"name:

"+name+"age:

"+age+"sex:

"+sex;

12.}

13.}

14.publicclassTestPerson{

15.publicstaticvoidmain(Stringargs[]){

16.Personp=newPerson();

17.="张三";

18.

=20;

20.System.());

21.}

22.}

8.写出下列程序代码的运行结果。

publicclassTest(

intx=4;

publicstaticvoidmain(Stringargv[]){

Testt=newTest();

++;

change(t);

}

staticvoidchange(Testm){+=2;

}

}

四、编程题.

1.编写一个Java程序,定义两个整型变量a和b,使用构造方法初始化a为10,b为5,并定义求出a与b的和(方法名为AddAB)、差(方法名为SubAB)、积(方法名为MultiAB)、

商(方法名为DivAB)的方法。

用另一个Java程序测词定义的方法,并在屏幕上输出结果。

2.创建一个名为Rectangle的类来表示一个使用宽度和高度来改变量的矩形,矩形的宽度和高度由构造方法来确定。

为Rectangle类创建下列方法:

getArea返回矩形的面积,要求长和高的范围为0-50;getPerimeter返回矩形的周长;draw使用星号(*)作为描绘字符画出该矩形(假设宽度和高度为整数);在另一个类TestRectangle中编写main方法来测试Rectangle类。

3.根据以下的设计要求编写Java源代码。

类名:

Student

变量(访问权限均为private):

name,//表示为姓名,类型为String

age,//表示年龄,类型为int方法如下。

(1)构造方法(没有参数,设置姓名为“无名氏”,年龄为20)。

(2)setName(有一个名为name的String型参数,将name的值设为这个新值)。

(3)getName(没有参数,返回姓名);

(4)setAge(有一个名为age的int型参数,将age的值设为这个新值)。

(5)getAge(没有参数,返回年龄)。

(6)isSameAge(有一个参数s,是另一个Student对象的引用,如果两个Student对象的age相同,则返回true,否则返回false)。

4.编写一个复数类Complex验证两个复数1+2i和3+4i相加产生一个新的复数4+6i。

复数类Complex必须满足如下要求。

(1)复数类Complex的属性如下。

realPart是int型,代表复数的实数部分。

imaginPart是int型,代表复数的虚数部分。

(2)复数类Complex的方法如下。

Complex()构造方法,将复数的实部和虚数都置0。

Complex(intr,inti)构造方法,形参r为实部的初值,i为虚部的初值。

ComplexcomplexADD(Complexa)将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,将其返回给此方法的调用者。

StringtoString()把当前复数对象的实部、虚部组合成a+bi的字符串形式,其中,a

和b分别为实部和虚部的数据。

5.编写一个表示二维平面上的点的类MyPoint,满足以下条件。

(1)定义private的成员变量x和y,表示点的x和y坐标,类型为整数。

(2)定义两个MyPoint的构造方法,一个构造方法不带参数,且x和y的初始值为0,另一个构造方法有两个参数,参数名为x和y,类型为整数,用这两个参数分别作为初始x

和y的坐标。

(3)定义一个getD方法,功能为返回两个坐标点(由MyPoint定义)距离,值为float类型。

(4)编写main方法,打印坐标点(2,3)到点(4,5)的距离。

6。

编写一个公共(public)类,类名为AccountUtil,该类属于account包,类中包含一个公用静态方法toSeparateNumber,该方法以一个十进制字符串为参数,返回用逗号隔开的数字字符串,分隔从右边开始,每三个数字用一个逗号隔开。

例如,若参数为2367548,则返回2,367,548。

若参数为小数,则分隔从小数点开始,例如,若参数为2367548.85,

则返回2,367,548.85。

根据以下说明,编写一个银行账户类Account,并编写一个main方法,对Account类进行测试,在main方法中要调用Account的所有方法,发生异常时,要打印异常信息。

该类的成员变量如下表所示(访问权限均为private)。

7.编写两个类,classA属于包package1,classA中有一个方法methodA();classB属于包package2,在classB的方法methodB()中调用classA的methodA()方法。

每个方法简单地输出方法名即可。

8.编写一个三角形类,能根据3个实数构造三角形对象,如果3个实数不满足三角形的条件,则自动构造以最小值为边的等边三角形。

输入任意3个数,输出构造的三角形面积。

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

当前位置:首页 > 高等教育 > 历史学

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

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