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

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

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

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

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

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

第3章

类与对象

一.选择题

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

A.封装性B.继承性

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

A.classPeople{…}

C.ClassA{…}

3.下列方法的声明中不合法的是

A.floatarea(){…}

C.doublearea(d){…}

D)。

C.

多态性

D.编译执行

C)。

B.class

D.publicclass

C)。

植物{…}

共有类{…

B.voidarea(){…}

D.intarea(intr){…}C)。

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

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);

System.out.print(""+b.width);

System.out.print(""+b.length);

}

}

A.2040

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

publicclassA{

staticvoidf(inty){

y=y+10;

}

publicstaticvoidmain(Stringargs[]){doublex=10;f(x);

System.out.println(x);

B.1040

C.1020

D.以上都不对

 

A.

10B.20

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

PublicclassA{

intz=20;

staticvoidf(inty){

y=z;

System.out.println(y);

}

publicstaticvoidmain(Stringargs[]){f(10);

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

publicclassPass{staticintj=20;

publicstaticvoidmain(Stringargs[]){inti=10;

Passp=newPass();

p.amethod(i);

System.out.println(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);

System.out.println(i);

}

publicvoidmulti(Refr){

r.i=r.i*2;

 

10.

}

}

A.编译出错B.输出:

99

关于以下程序代码的说明正确的是(

1.classHasStatic{

2.

D)。

11.

12.

1

2

C.输出:

198

D.运行出错

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.}

A.

B.

C.

D.

staticintx=100;inty=0;

publicstaticvoidmain(Stringargs[]){

HasStatichs1=newHasStatic();hs1.x++;

HasStatichs2=newHasStatic();hs2.x++;

hs1=newHasStatic();hs1.x++;

HasStatic.x--;

System.out.println("x="+x);

5行不能通过编译,因为引用了私有静态变量10行不能通过编译,因为程序通过编译,输出结果为:

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

x是私有静态变量

x=103

x=102

有如下代码:

publicclassTest{

voidprintValue(intm){do{

System.out.println("Thevalueis"+m);}while(--m>10);

}

publicstaticvoidmain(Stringarg[]){inti=10;

Testt=newTest();t.printValue(i);

}

}

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

A.Thevalueis8

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

.publicclassQ21

.{

B.Thevalueis9

D.Thevalueis11

intmaxElements;

voidQ21()

{

 

maxElements=100;

System.out.pnntln(maxElements);

}

C.

未初始化

第3行出现编译错误,变量maxElements

D.第19行出现编译错误

13.给出如下类定义:

Publicclasstest{

test(intk){…}

B)。

B.testobj1=newtest(5);

D.testobj1=newtest(3.4);publicvoidadd(inta){…}重载(A)。

}

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

A.testobj1=newtest();

C.testobj1=newtest("5");

14.指出下列哪个方法不能与方法

A.publicintadd(intb)

B.publicvoidadd(doubleb)

C.publicvoidadd(inta,intb)

D.

C)。

publicvoidadd(floatg)

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

classJ_Test{

intm_i=2;

Stringm_s=null;

J_Test(){

m_i=3;

m_s="constructor";

}

publicstaticvoidmain(Stringargs[]){

J_Testapp=newJ_Test();

System.out.println(app.m_i+app.m_s);

}

 

}

A.2nullB.3null

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

C.3constructor

D.以上都不对

A)。

 

classJ_Test{

intm_i=2;

Stringm_s=null;

voidJ_Test(){

m_i=3;

m_s="constructor";

}

publicstaticvoidmain(Stringargs[]){

J_Testapp=newJ_Test();

System.out.println(app.m_i+app.m_s);

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

publicclassJ_Test{

staticshortm_index;

staticintm_age;

publicstaticvoidmb_setData(longn){

m_index=n;

}

publicstaticvoidmain(Stringargs[]){

mb_setData(98);

System.out.println("lndex="+m_index+";Age="+m_age);

}

B.Index=0;Age=0

D.以上都不对

}

A.Index=98;Age=0

C.Index=0;Age=98

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)'');mb_setData((char)98);

System.out.printin("Name="+m_name+";Age="+m_age);

}

B.Name=b;Age=97

D.以上都不对

}

A.Name=98Age=97

C.Name=97;Age=B

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);

System.out.println("lndex="+m_index+";Age="+m_age);

}

}

B.Index=98;Age=0

D.以上都不对

Circle和主类A。

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

二.编程题(温馨提示:

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

Lader类具有类型为double的上底、下底、高、包括一个构造方法对上底、下底、高进行初始化。

Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能,包括一个构造方法对半径进行初始化。

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

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

Lader、具体要求如下:

面积属性,具有返回面积的功能,

2)

1)

3)

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();//System.out.println("

Circlecr=newCircle

(1);System.out.println("System.out.println("

}

}

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

姓名、毛色、

编写主类,在主类中创建一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为2岁,在屏幕上输出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法。

2.classCat{

Stringname;

Stringcolor;

intage;

voidshowName(){

System.out.println(name);

}

voidcry(){

System.out.printin(”喵喵");

}

}

publicclassTwo{

publicstaticvoidmain(String[]args){

Catc=newCat();

c.name="妮妮";

c.color="灰色";

c.age=2;

System.out.println("color="+c.color);

System.out.println("age="+c.age);

c.showName();

c.cryO;

}

}

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

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

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

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

名叫“张三”,性别“男”,年龄18岁,身高1.80;让该对象调用成员方法:

说出“你好!

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

3.classPeople{

Stringname;

intage;

charsex;

floatheight;

PeopIe(Stringn,inta,chars,floath){name=n;

age=a;

sex=s;

height=h;

}

voidspeak(Strings){

System.out.println(s);

}

doubleadd(doublex,doubley){

returnx+y;

}

voidrename(Stringm){

name=m;

}

}

publicclassThree{

publicstaticvoidmain(String[]args){

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

zhang3.speak(”你好!

");

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

zhang3.rename(”李四");

System.out.println(zhang3.name);

}

}

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();

辽B5086",150,200);

Vehiclev2=newVehicle("

v2.downSpeed();

System.out.printin(v1.id+","+v1.speed+","+v1.load);

System.out.println(v2.id+","+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);

System.out.println(p.getX());

}

}

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;

System.out.printin(”周长="+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++)

System.out.print(c);

}

if(x==2){

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

System.out.print(c);

}

System.out.println();

}

}

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);

System.out.println("

}}

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(){System.out.println(hour+":

"+minute+":

"+second);

}

}

publicclassNine{

publicstaticvoidmain(String[]args){

Clockc1=newClock(21,16,30);

c1.show();

Clockc2=newClock(12,12,12);

c2.show();

Clockc3=newClock(3,3,3);

c3.show();

}

}

10.编写Java应用程序。

首先,定义描述学生的类Student,包括学号

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

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

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

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