JAVA基础第3章类与对象练习题.docx

上传人:b****6 文档编号:5861739 上传时间:2023-01-01 格式:DOCX 页数:19 大小:20.73KB
下载 相关 举报
JAVA基础第3章类与对象练习题.docx_第1页
第1页 / 共19页
JAVA基础第3章类与对象练习题.docx_第2页
第2页 / 共19页
JAVA基础第3章类与对象练习题.docx_第3页
第3页 / 共19页
JAVA基础第3章类与对象练习题.docx_第4页
第4页 / 共19页
JAVA基础第3章类与对象练习题.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

JAVA基础第3章类与对象练习题.docx

《JAVA基础第3章类与对象练习题.docx》由会员分享,可在线阅读,更多相关《JAVA基础第3章类与对象练习题.docx(19页珍藏版)》请在冰豆网上搜索。

JAVA基础第3章类与对象练习题.docx

JAVA基础第3章类与对象练习题

第3章类与对象

一.选择题

1.下列不属于面向对象编程的特性是(D)。

A.封装性B.继承性C.多态性D.编译执行

2.下列类的声明中不合法的是(C)。

A.classPeople{…}B.class植物{…}

C.ClassA{…}D.publicclass共有类{…

3.下列方法的声明中不合法的是(C)。

A.floatarea(){…}B.voidarea(){…}

C.doublearea(d){…}D.intarea(intr){…}

4.下列构造方法(构造器)的调用中正确的是(C)。

A.按照一般的方法调用B.由用户直接调用

C.只能通过new自动调用D.被系统调用

5.下列程序运行的结果是(A)。

classBook{

intwidth;

intlength;

}

publicclassA{

staticvoidf(Bookp){

p.width=20;

p.length=40;

}

publicstaticvoidmain(Stringargs[]){

Bookb=newBook();

b.width=10;

b.length=20;

f(b);

""+b.width);

""+b.length);

}

}

A.2040B.1040C.1020D.以上都不对

6.下列程序运行的结果是(D)。

publicclassA{

staticvoidf(inty){

y=y+10;

}

publicstaticvoidmain(Stringargs[]){

doublex=10;

f(x);

;

}

}

A.10B.20C.10.0D.程序编译错误

7.下列程序运行的结果是(C)。

publicclassA{

intz=20;

staticvoidf(inty){

y=z;

;

}

publicstaticvoidmain(Stringargs[]){

f(10);

}

}

A.10B.20C.程序编译错误D.以上都不对

8.以下代码的输出结果为(C)。

publicclassPass{

staticintj=20;

publicstaticvoidmain(Stringargs[]){

inti=10;

Passp=newPass();

p.amethod(i);

"and"+j);

}

publicvoidamethod(intx){

x=x*2;

j=j*2;

}

}

A.错误:

方法参数与变量不匹配

B.20and40

C.10and40

D.10and20

9.编译和运行程序会出现什么样的结果(A)。

publicclassRef{

publicstaticvoidmain(Stringargs[]){

Refr=newRef();

r.amethod(r);

}

publicvoidamethod(Refr){

inti=99;

multi(r);

;

}

publicvoidmulti(Refr){

r.i=r.i*2;

}

}

A.编译出错B.输出:

99C.输出:

198D.运行出错

10.关于以下程序代码的说明正确的是(D)。

1.classHasStatic{

2.staticintx=100;inty=0;

3.publicstaticvoidmain(Stringargs[]){

4.HasStatichs1=newHasStatic();

5.hs1.x++;

6.HasStatichs2=newHasStatic();

7.hs2.x++;

8.hs1=newHasStatic();

9.hs1.x++;

10.HasStatic.x--;

11."x="+x);

12.}

13.}

A.5行不能通过编译,因为引用了私有静态变量

B.10行不能通过编译,因为x是私有静态变量

C.程序通过编译,输出结果为:

x=103

D.程序通过编译,输出结果为:

x=102

11.有如下代码:

publicclassTest{

voidprintValue(intm){

do{

"Thevalueis"+m);

}while(--m>10);

}

publicstaticvoidmain(Stringarg[]){

inti=10;

Testt=newTest();

t.printValue(i);

}

}

其输出结果是什么(C)。

A.Thevalueis8B.Thevalueis9

C.Thevalueis10D.Thevalueis11

12.以下代码的调试结果为(D)。

1.publicclassQ21

2.{

3.intmaxElements;

4.

5.voidQ21()

6.{

7.maxElements=100;

8.;

9.}

10.

11.Q21(inti)

12.{

13.maxElements=i;

14.;

15.}

16.

17.publicstaticvoidmain(String[]args)

18.{

19.Q21a=newQ21();

20.Q21b=newQ21(999);

21.}

22.}

A.输出100和999

B.输出999和100

C.第3行出现编译错误,变量maxElements未初始化

D.第19行出现编译错误

13.给出如下类定义:

publicclasstest{

test(intk){…}

}

如果要创建一个该类的对象,正确的语句是(B)。

A.testobj1=newtest();B.testobj1=newtest(5);

C.testobj1=newtest("5");D.testobj1=newtest(3.4);

14.指出下列哪个方法不能与方法publicvoidadd(inta){…}重载(A)。

A.publicintadd(intb)

B.publicvoidadd(doubleb)

C.publicvoidadd(inta,intb)

D.publicvoidadd(floatg)

15.下面程序的输出结果是什么(C)。

classJ_Test{

intm_i=2;

Stringm_s=null;

J_Test(){

m_i=3;

m_s="constructor";

}

publicstaticvoidmain(Stringargs[]){

J_Testapp=newJ_Test();

;

}

}

A.2nullB.3nullC.3constructorD.以上都不对

16.下面程序的输出结果是什么(A)。

classJ_Test{

intm_i=2;

Stringm_s=null;

voidJ_Test(){

m_i=3;

m_s="constructor";

}

publicstaticvoidmain(Stringargs[]){

J_Testapp=newJ_Test();

;

}

}

A.2nullB.3nullC.3constructorD.以上都不对

17.下列代码的运行结果是(D)。

publicclassJ_Test{

staticshortm_index;

staticintm_age;

publicstaticvoidmb_setData(longn){

m_index=n;

}

publicstaticvoidmain(Stringargs[]){

mb_setData(98);

"Index="+m_index+";Age="+m_age);

}

}

A.Index=98 ;Age=0B.Index=0 ;Age=0

C.Index=0;Age=98D.以上都不对

18.下列程序的运行结果为(B)。

publicclassJ_Test{

staticcharm_name;

staticintm_age;

publicstaticvoidmb_setData(charn){

m_name=n;

}

publicstaticvoidmb_setData(intn){

m_age=n;

}

publicstaticvoidmain(Stringargs[]){

mb_setData((int)’a’);

mb_setData((char)98);

"Name="+m_name+";Age="+m_age);

}

}

A.Name=98;Age=97B.Name=b;Age=97

C.Name=97;Age=BD.以上都不对

19.程序的运行结果为(A)。

publicclassJ_Test{

staticshortm_index;

staticintm_age;

publicstaticvoidmb_setData(shortn){

m_index=n;

}

publicstaticvoidmb_setData(intn){

m_age=n;

}

publicstaticvoidmain(Stringargs[]){

mb_setData(98);

"Index="+m_index+";Age="+m_age);

}

}

A.Index=0;Age=98B.Index=98;Age=0

C.Index=0;Age=0D.以上都不对

二.编程题(温馨提示:

编程时尽量不要使用中文标识符。

1.编写一个Java应用程序,该程序中有3个类:

Lader、Circle和主类A。

具体要求如下:

1)Lader类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能,

包括一个构造方法对上底、下底、高进行初始化。

2)Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的

功能,包括一个构造方法对半径进行初始化。

3)创建主类,用来测试类Lader和类Circle的功能。

1.classLader{

double上底,下底,高,面积;

Lader(doublea,doubleb,doubleh){

上底=a;

下底=b;

高=h;

}

doublegetArea(){

//将计算结果存放在对象的成员变量里面,且作为函数值返回。

面积=(上底+下底)*高/2;

return面积;

}

}

classCircle{

double半径,周长,面积;

Circle(doubler){

半径=r;

}

doublegetLength(){

周长=3.14*2*半径;

return周长;

}

doublegetArea(){

面积=3.14*半径*半径;

return面积;

}

}

classOne{

publicstaticvoidmain(String[]args){

Laderla=newLader(3,4,2);//参数类型相同或相容

la.getArea();//必须先调用该方法,面积属性才有相应值。

"梯形的面积为:

"+la.面积);

Circlecr=newCircle

(1);

"圆的周长为:

"+cr.getLength());

"圆的面积为:

"+cr.getArea());

}

}

2.建立一个名叫Cat的类,具有属性:

姓名、毛色、年龄;具有行为:

显示姓名、喊叫。

编写主类,在主类中创建一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为

2岁,在屏幕上输出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法。

2.classCat{

Stringname;

Stringcolor;

intage;

voidshowName(){

;

}

voidcry(){

"喵喵");

}

}

publicclassTwo{

publicstaticvoidmain(String[]args){

Catc=newCat();

c.name="妮妮";

c.color="灰色";

c.age=2;

"color="+c.color);

"age="+c.age);

c.showName();

c.cry();

}

}

3.创建一个叫做People的类,具有属性:

姓名、年龄、性别、身高;具有行为:

说话、

计算加法、改名;还有能为所有属性赋值的构造方法。

创建主类,在主类中创建一个对象:

名叫“张三”,性别“男”,年龄18岁,身高1.80;

让该对象调用成员方法:

说出“你好!

”,计算23+45的值,并将名字改为“李四”。

3.classPeople{

Stringname;

intage;

charsex;

floatheight;

People(Stringn,inta,chars,floath){

name=n;

age=a;

sex=s;

height=h;

}

voidspeak(Strings){

;

}

doubleadd(doublex,doubley){

returnx+y;

}

voidrename(Stringm){

name=m;

}

}

publicclassThree{

publicstaticvoidmain(String[]args){

Peoplezhang3=newPeople("张三",18,'男',1.80f);

zhang3.speak("你好!

");

"23+45="+zhang3.add(23,45));

zhang3.rename("李四");

;

}

}

4.创建一个叫做机动车的类:

属性:

车牌号(String),车速(int),载重量(double)。

功能:

加速(车速自增)、减速(车速自减)、修改车牌号,查询车的载重量。

编写两个构造方法:

一个没有形参,在方法中将车牌号设置“XX1234”,速度设置

为100,载重量设置为100;另一个能为对象的所有属性赋值。

创建主类:

创建两个机动车对象。

创建第一个时调用无参数的构造方法,调用成员方

法使其车牌为“辽A9752”,并让其加速。

创建第二个时调用有参数的构造方法,使其车牌为“辽B5086”,车速为

150,载重为200,并让其减速。

输出两辆车的所有信息。

4.classVehicle{

Stringid;

intspeed;

doubleload;

voidupSpeed(){

++speed;

}

voiddownSpeed(){

--speed;

}

voididChanging(Stringi){

id=i;

}

doubleshowLoad(){

returnload;

}

Vehicle(){

id="XX1234";

speed=100;

load=100;

}

Vehicle(Stringi,ints,doublel){

id=i;

speed=s;

load=l;

}

}

publicclassFour{

publicstaticvoidmain(String[]args){

Vehiclev1=newVehicle();

v1.idChanging("辽A9752");

v1.upSpeed();

Vehiclev2=newVehicle("辽B5086",150,200);

v2.downSpeed();

","+v1.speed+","+v1.load);

","+v2.speed+","+v2.load);

}

}

5.创建一个point类,有成员变量x、y,方法getX()、setX(),还有一个构造方法用于初

始化x和y。

创建主类来测试它。

5.classPoint{

doublex,y;

Point(doublex,doubley){

this.x=x;

this.y=y;

}

publicdoublegetX(){

returnx;

}

publicvoidsetX(doublex){

this.x=x;

}

}

publicclassFive{

publicstaticvoidmain(String[]args){

Pointp=newPoint(1,2);

p.setX(3);

;

}

}

6.创建一个三角形类,有成员变量三条边,有方法求周长,创建主类来测试它。

6.classTriangle{

doublea,b,c;

doublegetLength(){

returna+b+c;

}

}

publicclassSix{

publicstaticvoidmain(String[]args){

Trianglet=newTriangle();

t.a=2;

t.b=3;

t.c=4;

"周长="+t.getLength());

}

}

7.编写Java应用程序。

首先,定义一个Print类,它有一个方法voidoutput(intx),

1)如果x的值是1,在控制台打印出大写的英文字母;

2)如果x的值是2,在控制台打印出小写的英文字母。

其次,再定义一个主类,在主类的main方法中创建Print类的对象,使用这个对象调

用方法output()来打印出大小写英文字母。

7.classPrint{

voidoutput(intx){

charc;

if(x==1){

for(c='A';c<='Z';c++)

;

}

if(x==2){

for(c='a';c<='z';c++)

;

}

;

}

}

publicclassSeven{

publicstaticvoidmain(String[]args){

Printp=newPrint();

p.output

(1);

p.output

(2);

}

}

8.编写Java应用程序。

首先定义一个描述银行账户的Account类,包括成员变量“账号”

和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。

其次,编写一个主类,

在主类中测试Account类的功能。

classAccount{

Stringid;

doublemoney;

voidsave(doublex){

money=money+x;

}

voidget(doubley){

money=money-y;

}

voidselect(){

"余额="+money);

}

}

publicclassEight{

publicstaticvoidmain(String[]args){

Accountkaien=newAccount();

kaien.save(10000);

kaien.get(200);

kaien.select();

}

}

9.编写Java应用程序。

首先,定义一个时钟类——Clock,它包括三个int型成员变量

分别表示时、分、秒,一个构造方法用于对三个成员变量(时、分、秒)进行初始化,

还有一个成员方法show()用于显示时钟对象的时间。

其次,再定义一个主类,在主类

的main方法中创建多个时钟类的对象,使用这些对象调用方法show()来显示时钟的时

间。

9.classClock{

inthour,second,minute;

Clock(inth,ints,intm){

hour=h;

minute=m;

second=s;

}

voidshow(){

+":

"+minute+":

"+second);

}

}

publicclassNine{

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

当前位置:首页 > 经管营销

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

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