Java程序设计第四章面向对象和类选择题及答案_第1页
Java程序设计第四章面向对象和类选择题及答案_第2页
Java程序设计第四章面向对象和类选择题及答案_第3页
Java程序设计第四章面向对象和类选择题及答案_第4页
Java程序设计第四章面向对象和类选择题及答案_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、单选题

1、有如下代码段:

publicstaticvoidbooleanTest(){

inta=1,b=1;

if(a==b||b<0)

a++;

if(a<=2&&(!(b<0)))

b=b<<l;

System.out.println(a+"t"+b);

)

则运行结果为:

A.2,1

B.2,2

C.2,3

D.1,2

正确答案:B

2、如下赋值语句中,有语法错误的是?

A.floatfl=1.2;

B.floatfl=1.2f;

C.floatfl=1;

D.floatfl=OxAE;

正确答案:A

解析:类型赋值需要加不加默认为可以从整数直

floatf,double0

接转为floato

3、有如下类定义:

publicclassRectangle{

publicintwidth=3;

publicintheight=4;

publicintarea(){

returnwidth*height;

)

)

则如下代码输出结果为:

Rectanglerectangle;

rectangle.height=5;

System.out.println(rectangle.area());

A.15

B.有编译错误,程序不能运行

C.12

D.O

正确答案:B

解析:rectangle没有被初始化,因此报错。

4、执行如下代码片段后,i和n的值分别为:

inti=10;

intn=(i++)%5;

A.ll,1

B.ll,0

C.10t1

D.10,0

正确答案:B

解析:i++,i会增加一,但是整个表达式返回的值是i的旧值。与之

对应的是++i,i也会增加一,整个表达式返回的是i的新值。

5、执行如下代码片段后,num的值为:

intnum=5;

num=(num%2)==0?num-1:num+1;

A.l

B.4

C.5

D.6

正确答案:D

解析:本题考察三元运算符。a?b:c,如果a是true,返回b值,否

则返回c值。

6、有如下代码段:

if(num>=0)

if(num二二0)

解析:变量名字不能以数字开头。

8、对于Javal.7及之后版本,如下不能用于switch的类型是:

A.String

B.int

C.char

D.double

正确答案:D

解析:因为double是浮点数,不精确。

9、如下对Java基本类型的描述,错误的是?

A.char占1个字节

B.int占4个字节

C.short占2个字节

D.double占8个字节

正确答案:A

解析:char是占用2个字节的。

10、如下循环结构中,输出结果与其它三组不一致的一组是:

A.for(inti=0;i<10;i++)

System.out.println(i);

B.inti=0;

while(i<10)

System.out.println(i++);

C.inti=0;

for(;i<10;)

System.out.println(i++);

D.inti=0;

while(i++<10)

System.out.println(i);

正确答案:D

解析:可以放在测试程序中单步调试运行。

11、swap方法定义如下:

publicstaticvoidswap(intnuml,intnum2){

inttemp=numl;

numl=num2;

num2=temp;

)

执行如下代码后,

intnuml=10;

intnum2=5;

intnum3=20:

swap(numl,num2);

swap(num2,num3);

numl,num2,num3的值分别为:

A.10,5,20

B.5,20,10

C.5,10,20

D.20,5,10

正确答案:A

解析:形参是基本类型,是按值拷贝的,不影陶实参的值。

12、Number类定义如下:

publicclassNumber{

publicintx;

)

swap方法定义如下:

publicstaticvoidswap(Numbernumberl,Numbernumber?)

(

inttemp=numberl.x;

numberl.x=number2.x;

number2.x=temp;

)

运行如下代码:

Numbernumberl=newNumber();

Numbernumber2=newNumber();

Numbernumber3=newNumber();

numberl.x=1;

number2.x=2;

number3.x=3;

swap(numberl,number2);

swap(number2,number3);

则numberl.x,number2.x,number3.x的值分别为:

A.l,2,3

B.2,3,1

C.3,2,1

D.l,3,2

正确答案:B

解析:形参是对象,是按reference赋值,实参形参指向同一个内存,

会同时改变的。

13、假设有boolean变量flagLflag2,则如下表达式中哪个不能代表异

或逻辑?(异或逻辑:如果a、b两个值不相同,则异或结果为true。

如果a、b两个值相同,异或结果为false。)

A.flagl!=flag2

B.(flagl==true&&flag2==false)||(flagl==false&&flag2==true)

CJflagl==flag2

D.(flagl==true&&flag2二二true)||(flagl==false&&flag2==false)

正确答案:D

解析:根据异或逻辑规则,代入具体值,进行计算可以得到正确答案。

注意与&&,或||,非!三种运算符。

14、如下关于Java类的说法,错误的是?

A.对象是类的实例化

B.可以通过对象访问类变量

C.java文件中只能包含一个类的定义

D.同一类的不同对象有着相同的类变量

正确答案:C

解析:一个java文件可以包括多个类的定义,但是最多有一个public

class,而且文件名必须以publicclass的名字来定。

15、如下赋值语句,有编译错误的是?

A.byteb=-127;

B.inti=(byte)512;

C.byteb=129;

D.byteb=-0;

正确答案:C

解析:byteb二(byte)129;需要强制转,且结果是-2.

16、下列关于main方法的描述中,错误的是?

A.main方法是Java程序的入口

B.main方法格式为

publicstaticvoidmain;String[]args){

//Yourcodehere

)

C.B选项中所描述格式中形参args不能更改,如果将args改为

arguments则不能编译通过

D.main方法可以被重载

正确答案:C

解析:形参名字可以随意更改,形参类型不可以更改,必须是String:].

17、Java有“一次编译,到处运行”的说法,此种说法中编译的结果

目.

A.机器码

B.符号表

C.字节码

D.中间代码

正确答案:C

解析:class文件,即为字节码(bytecode)文件。

18、下列不属于Java基本数据类型的是?

A.short

B.float

C.Double

D.int

正确答案:C

解析:8种基本类型:整数系列short,int,long,浮点数系列float,

double,逻辑boolean,字节byte,字符串char。

19、如下关于JDK和JRE的说法,错误的是?

A.JDK全称JavaDevelopmentKit,意即Java开发工具包

BJRE全程JavaRuntimeEnvironment,意即Java运行环境

CJRE中包含了JDK

D.若只需要运行编译好的Java程序,则只有JRE就可以

正确答案:C

解析:JDK包含JRE,还包括编译部件。〕RE只包含运行Java程序部

件,未包含编译部件。

20、在Java中,下面对于构造函数的描述正确的是

A.类必须显式定义构造函数

B.构造函数的返回类型是void

C.构造函数和类有相同的名称,并且不能带任何形参

D.一个类可以定义多个构造函数

正确答案:D

解析:类无需显式定义构造函数。如果没有,编译器会自动增加一个

无参空的构造函数。构造函数必须和类名一样,且没有返回值,无需

写void,可以带形参。

21、AssumeiandjaremembervariableswithdoubletypeinclassX.

Inthefollowingcodes,whichoneisNOTRIGHTconstructor?()

A.doubleX(doublek){i=k;returni;}

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

C.X(){i=6;j=8;}

D.X(doublek){i=k;}

正确答案:A

解析:构造函数没有返回值°

22、Given:

classCardBoard{

Shortstory=5;

CardBoardgo(CardBoardcb){

cb=null;

returncb;

)

publicstaticvoidmain(String[]args){

CardBoardcl=newCardBoard();

CardBoardc2=newCardBoard();

CardBoardc3=cl.go(c2);

cl=null;

//doStuff

)

)

When//doStuffisreached,howmanyobjectsofCardBoardarenull?

A.O

B.l

C.2

0.Compilationfails.

正确答案:c

解析:CLC3被设置为nullo尽管形参和实参都指向同一个对象,但是

形参指针被设置为null,并不影响到实参的指针。

23、Giventheuncompletedcodeofaclass:

classPerson{

Stringname,department;

intage;

publicPerson(Stringn){name=n;}

publicPerson(Stringn,inta){name=n;age=a;}

publicPerson(Stringn,Stringd,inta){

//doingthesameastwoargumentsversionofconstructor

//includingassignmentname=n,age=a

department二d;

)

)

Whichexpressioncanbeaddedatthe"doingthesameas..."partof

theconstructor?

A.Person(n,a);

B.this(Person(n,a));

C.this(n,a);

D.this(name,age);

正确答案:C

解析:可以用this来调用同类中的构造函数。

24、Giventhefollowingclass

classMyNumber

(

privateintnum=5;

publicMyNumber(intnum){this.num=num;}

publicintgetNumQ{returnnum;}

publicvoidsetNum(intnum){this.num=num;}

)

Whatisoutputaftertheexecutationoffollowingcode?

MyNumberobjl=newMyNumber();

MyNumberobj2=newMyNumber(lO);

obj2=objl;

obj2.setNum(20);

System.out.println(objl.getNum()++obj2.getNum());

A.5,20

B.5,10

C.20t20

D.编译错误

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论