面向对象程序设计习题.docx

上传人:b****5 文档编号:8164260 上传时间:2023-01-29 格式:DOCX 页数:25 大小:23.21KB
下载 相关 举报
面向对象程序设计习题.docx_第1页
第1页 / 共25页
面向对象程序设计习题.docx_第2页
第2页 / 共25页
面向对象程序设计习题.docx_第3页
第3页 / 共25页
面向对象程序设计习题.docx_第4页
第4页 / 共25页
面向对象程序设计习题.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

面向对象程序设计习题.docx

《面向对象程序设计习题.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计习题.docx(25页珍藏版)》请在冰豆网上搜索。

面向对象程序设计习题.docx

面向对象程序设计习题

附件3:

《面向对象程序设计》习题

第1章Java程序初步

一、简答题

1.1什么叫对象?

什么叫类?

类和对象有什么关系。

1.2为什么说Java是一种半编译、半解释的程序设计语言?

1.3什么叫Java虚拟机?

什么叫Java平台?

Java虚拟机与Java平台的关系如何?

1.4Java语言有哪些词法符号?

分隔符与空白符号的区别是什么?

二、选择题

1.5下面哪些是java关键字?

A)finalB)AbstractC)LongD)static

E)classF)mainG)privateH)System

1.6下面哪些是不合法的标识符?

A)do_it_nowB)_SubstituteC)9thMethodD)$addMoney

E)%getPathF)2variableG)variable2H)#myvar

I)_3_J)$anothervarK)_whatavariable

1.7下面哪些代码可作为java应用程序的main方法?

A)publicstaticvoidmain(){}

B)publicstaticvoidmain(String[]string){}

C)publicstaticvoidmain(Stringargs){}

D)staticpublicintmain(String[]args){}

1.8假定下面程序已经被编译,Demo.class文件存放在当前目录下:

publicclassDemo{

publicstaticvoidmain(Stringargs[]){

intn=1;

System.out.println("Thewordis"+args[n]);

}

}

请问下面哪条命令能够运行上面程序并输出“Thewordisgamma”?

A)DemobetagammadeltaB)javaDemogammabetadelta

C)javademobetagammadeltaD)javaDemobetagammadelta

E)javaDemo.classgammabetadelta

1.9编译、运行下面代码将发生什么?

publicclassTest5{

publicstaticvoidmain(Stringargs[]){

/*Thisisthestartofacomment

System.out.println("Donethetest");

/*Thisisanothercomment*/

System.out.println("Theend");

}

}

A)程序运行出错。

B)程序编译出错。

C)输出“Donethetest”。

D)输出“Theend”。

E)输出“Donethetest”和“Theend”。

 

第2章数据与数据运算

一、选择题

2.1请问字节型数据的取值范围是:

A)-128~127B)-28-1~28

C)-255~256D)取决于具体的Java虚拟机

2.2请问下面哪些代码行编译时不会出错?

A)floatf=1.3;B)doubleD=4096.0;C)byteb=257;

D)Strings="1";E)inti=10;F)charc="a";

G)charC=4096;H)booleanb=null;

2.3编译和运行下面程序,将发生什么结果?

classExcise0203{

publicvoidmethod(){

shorta=(short)0xffff;

chara1='\uffff';

intb=a;

intb1=a1;

System.out.println("b="+b+"b1="+b1);

}

}

classTestExcise0203{

publicstaticvoidmain(Stringargs[]){

Excise0203o=newExcise0203();

o.method();

}

}

A)编译出错B)输出:

b=65535b1=65535

C)输出:

b=-1b1=-1D)输出:

b=-1b1=65535

2.4请问下面程序的运行结果是什么?

classExcise0204{

publicvoidmethod(){

bytea=127;

intx=++a;

inty=a+1;

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

}

}

classTestExcise0204{

publicstaticvoidmain(Stringargs[]){

Excise0204o=newExcise0204();

o.method();

}

}

A)输出:

x=128y=128B)输出:

x=128y=129

C)输出:

x=-128y=128D)输出:

x=-128y=-127

2.5如果调用下面方法且参数值为67,那么方法的返回值是多少?

publicintMaskOff(intN){

returnN^3;

}

A)3B)64C)67D)0

2.6编译、运行下面代码将发生什么?

classEqualsTest{

publicstaticvoidmain(Stringargs[]){

chara='\u0005';

Strings=a==0x0005L?

"Equal":

"NotEqual";

System.out.println(s);

}

}

A)编译错:

Invalidcharacterininput

B)程序能被编译,运行时输出:

NotEqual

C)程序能被编译,运行时输出:

Equal

 

第3章Java语句

一、选择题

3.1写出下面代码段的运行结果(单选)

booleanflag=false;

if(flag=true){

System.out.println("true");

}else{

System.out.println("false");

}

A)trueB)falseC)出错D)没有信息输出

3.2写出下面代码段的运行结果(单选)

inti=3;

intj=0;

doublek=3.2;

if(i

if(i==j)

System.out.println(i);

else

System.out.println(j);

else

System.out.println(k);

A)3B)0C)3.2D)以上三个都不对

3.3运行下面代码将将输出什么内容?

inti=1;

switch(i){

case0:

System.out.println("zero");

break;

case1:

System.out.println("one");

case2:

System.out.println("two");

default:

System.out.println("default");

}

A)oneB)one,default

C)one,two,defaultD)default

3.4关于下面代码的陈述,哪些是正确的?

voidlooper(){

intx=0;

one:

while(x<10){

two:

System.out.println(++x);

if(x>3)

breaktwo;

}

}

A)代码可以被编译。

B)代码不能被编译。

C)方法会输出数字0。

D)数字1和2会被输出。

E)数字3会被输出。

F)数字4会被输出。

G)数字5至9会被输出。

H)数字10会被输出。

3.5(多选)调用下面testing方法会输出什么内容?

voidtesting(){

one:

for(inti=0;i<3;i++){

two:

for(intj=10;j<30;j+=10){

System.out.println(i+j);

if(i>1)

continueone;

}

}

}

A)10B)20C)11D)21

E)12F)22G)13H)23

I)010,020,110,120,210,220,310,320

 

第4章Java类

一、选择题

4.1编译、运行下面代码将发生什么?

classTest{

staticintmyArg=1;

publicstaticvoidmain(String[]args){

intmyArg;

System.out.println(myArg);

}

}

A)代码被编译,运行时输出0。

B)代码被编译,运行时输出1。

C)编译错,因为局部变量和类变量有相同的名字。

D)编译错,因为局部变量在使用之前没有被初始化。

4.2编译下面代码将会发生什么错误?

publicclassMyClass{

publicstaticvoidmain(Stringarguments[]){

amethod(arguments);

}

publicvoidamethod(String[]arguments){

System.out.println(arguments);

System.out.println(arguments[1]);

}

}

A)main方法方法体中不能调用amethod方法。

B)main方法的参数声明不合法。

C)数组访问时必须包含下标值。

D)amethod方法的返回类型应该为String。

4.3执行下面代码会输出什么内容?

(单选)

Booleanb1=newBoolean(true);

Booleanb2=newBoolean(true);

Objectobj1=(Object)b1;

Objectobj2=(Object)b2;

if(obj1==obj2)

if(obj1.equals(obj2))

System.out.println("a");

else

System.out.println("b");

else

if(obj1.equals(obj2))

System.out.println("c");

else

System.out.println("d");

A)aB)bC)cD)d

4.4编译、运行下面代码将发生什么?

publicclassTest{

publicstaticvoidtest(){

this.print();

}

publicstaticvoidprint(){

System.out.println("Test");

}

publicstaticvoidmain(Stringargs[]){

test();

}

}

A)运行时输出:

Test

B)运行时抛出例外,指出一个对象还没有被创建

C)运行时不输出任何内容

D)运行时抛出例外,指出test方法没有发现

E)运行时抛出例外,指出变量this只能够用在实例中

F)编译出错,指出变量this没有被定义

4.5考虑下面代码,字符串"Hithere"何时被输出?

publicclassStaticTest{

static{

System.out.println("Hithere");

}

publicvoidprint(){

System.out.println("Hello");

}

publicstaticvoidmain(Stringargs[]){

StaticTestst1=newStaticTest();

st1.print();

StaticTestst2=newStaticTest();

st2.print();

}

}

A)从不输出B)每次创建实例时输出

C)当类被装入Java虚拟机时输出D)当static方法被调用时输出

4.6下面应用程序的运行结果是什么?

publicclassMyTest{

intx=30;

publicstaticvoidmain(Stringargs[]){

intx=20;

MyTestta=newMyTest();

ta.Method(x);

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

}

voidMethod(inty){

intx=y*y;

}

}

A)Thexvalueis20B)Thexvalueis30

C)Thexvalueis400D)Thexvalueis600

4.7给定以下类定义:

publicclassTest{

publicvoidamethod(inti,Strings){}

//Here

}

下面哪些方法定义可以分别放置在上面的注释行处?

A)publicvoidamethod(Strings,inti){}

B)publicintamethod(inti,Strings){}

C)publicvoidamethod(inti,Stringmystring){}

D)publicvoidAmethod(inti,Strings){}

4.8给定以下代码:

1)publicabstractclassProd{

2)publicabstractvoidprmth1();

3)publicstaticvoidprmth2(){

4)intmth2=30;

5)System.out.println("prmth2="+mth2);

6)}

7)publicabstractvoidprmth3();

8)}

请问下面哪个陈述是正确的?

A)编译不会出错B)编译出错,错误定位于第1行

C)编译出错,错误定位于第3行D)编译出错,错误定位于第7行

4.9给定以下代码:

publicclassTest{

publicstaticIntegergetIt(){

Integerrg=newInteger(3);

Integerdg=rg;

rg=null;

returnrg;

}

}

请问下面哪个陈述是正确的?

A)编译出错B)编译成功,但运行时出错

C)getIt()方法不应该定义成static

D)当调用getIt()方法返回时,rg对象可以被垃圾收集

 

第5章继承、接口与包

一、选择题

5.1给定下面类定义:

classTest1{

floataMethod(floata,floatb){}

}

classTest2extendsTest1{

//XXXX

}

请问下面哪些方法可以分别加入类Test2中的注释行处?

A)floataMethod(floatb,floata){}

B)publicintamethod(inta,intb){}

C)protectedfloataMethod(floatp,floatq){}

D)privatefloataMethod(floatp,floatq){}

5.2分析下面两个类:

classFirst{

finalstaticintA=3;

}

finalclassSecondextendsFirst{

voidmethod(){

System.out.println(A);

}

}

选择一个正确的答案。

A)类First能被编译,但类Second不能。

B)类Second能被编译,但类First不能。

C)两个类都不能被编译。

D)两个类都能被编译,并且当调用方法method()时,将输出3。

E)两个类都能被编译,但当调用方法method()时,将抛出一个例外。

5.3编译并执行类B的main()方法,将会发生什么(单选)?

classA{

inti;

A(inti){

this.i=i*2;

}

}

classBextendsA{

publicstaticvoidmain(String[]args){

Bb=newB

(2);

}

B(inti){

System.out.println(i);

}

}

A)实例变量i被设置成4B)实例变量i被设置成2

C)实例变量i被设置成0D)编译错

5.4给定以下代码,请选择一个正确的答案替换其中的注释行。

classA{

A(inti){}

}

publicclassBextendsA{

B(){

//xxxxx

}

publicstaticvoidmain(Stringargs[]){

Bb=newB();

}

}

A)super(100);B)this(100);C)super();D)this();

5.5编译、运行下面代码将发生什么?

classBase{}

classSubextendsBase{}

publicclassCex{

publicstaticvoidmain(Stringargv[]){

Baseb=newBase();

Subs=(Sub)b;

}

}

A)编译和运行都不会出错B)编译出错

C)运行时抛出例外

5.6考虑类定义:

classBaseWidgetextendsObject{

Stringname="BaseWidget";

voidspeak(){System.out.println("Iama"+name);}

}

classTypeAWidgetextendsBaseWidget{

TypeAWidget(){name="TypeA";}

}

基于以上类定义,下面哪个代码片段是正确的?

A)ObjectA=newBaseWidget();A.speak();

B)BaseWidgetB=newTypeAWidget();B.speak();

C)TypeAWidgetC=newBaseWidget();C.speak();

5.7编译、运行下面程序的结果是什么?

1)classXxx{

2)privateinti;

3)Xxxx;

4)publicXxx(){

5)i=10;

6)x=null;

7)}

8)publicXxx(inti){

9)this.i=i;

10)x=newXxx();

11)}

12)publicvoidprint(){

13)System.out.println("i="+i);

14)System.out.println(x);

15)}

16)publicStringtoString(){

17)return"i="+i;

18)}

19)}

20)classTest{

21)publicstaticvoidmain(String[]args){

22)Xxxx=newXxx(100);

23)x.print();

24)System.out.println(x.x);

25)}

26)}

A)i=100B)i=100C)i=100D)编译错

1010i=10

null10i=10

 

第6章Java字符串

一、选择题

6.1如果下面代码片段被执行,那么将会输出什么?

Strings1="ABC";

Strings2=s1;

s1+="xyz";

System.out.println(s2);

A)ABCB)xyzC)ABCxyzD)null

6.2当执行下面代码片段时,第4行代码被执行吗?

1)Strings1="ABC123";

2)Strings2="AB"+"C123";

3)if(s1==s2)

4)System.out.println("Yes");

A)YESB)NO

6.3下面哪些是合法的Java代码片段?

A)Stringa="abcdefg";a-="cde";

B)Stringa="abcdefg";a+="cde";

C)Integerj=newInteger(27);j-=7;

D)Integerj=newInteger(27);j--;

6.4一个应用程序涉及以下方法:

1)staticStringsetFileType(Stringfname){

2)intp=fname.indexOf('.');

3)if(p>0)fname=fname.substring(0,p);

4)fname+=".TXT";

5)returnfname;

6)}

假定该应用程序有下面代码片段:

7)StringtheFile="Program.java";

8)Filef=newFile(setFileType(theFile));

9)System.out.println(“Created“+theFile);

请问第9行代码会输出什么?

A)输出:

C

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

当前位置:首页 > PPT模板 > 图表模板

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

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