《Java程序设计第四章面向对象和类选择题及答案.docx》由会员分享,可在线阅读,更多相关《Java程序设计第四章面向对象和类选择题及答案.docx(17页珍藏版)》请在优知文库上搜索。
1、一、单选题Is有如下代码段:publicstaticvoidbooleaTest()ita=1,b=1;if(a=bHb0)a+;if(a=2&(!(b0)b=b=0)if(num二二0)System.out.printl(,firststring);elseSystem.out.pritln(secodstring);System.out.pritln(,thirdstring);若num为3,则输出结果为:A.thirdstringB.secodstringthirdstringC.firststringthirdstringD.firststringsecondstringthirdst
2、ring正确答案:B写 if.else解析:每个else会和最近的if语句连接,而与排版无关。最好采用大括号。7、下列变量名称中,不属于有效JaVa变量命名的是?A.$numBJntC.6umsDJiayou正确答案:C解析:变量名字不能以数字开头。8、对于JaVaL7及之后版本,如下不能用于SWitCh的类型是:A.StrigBJntC.charD.double正确答案:D解析:因为d。UbIe是浮点数,不精确。9、如下对JaVa基本类型的描述,错误的是?A.char占1个字节BJnt占4个字节C.short占2个字节D.double占8个字节正确答案:A解析:Char是占用2个字节的。10
3、、如下循环结构中,输出结果与其它三组不一致的一组是:A.for(inti=0;i10;i+)System.out.pritln(i);B.inti=0;while(i10)System.out.pritln(i+);C.iti=0;for(;i10;)System.out.pritln(i+);D.iti=0;while(i+10)System.out.pritln(i);正确答案:D解析:可以放在测试程序中单步调试运行。11、SWaP方法定义如下:publicstaticvoidswap(intuml,itum2)ittemp=uml;url=nur2;nur2=temp;)执行如下代码后,
4、itml=10;intm2=5;itm3=20;swap(nml,nm2);swap(nm2,nm3);uml,um2,um3的值分别为:A.10,5,20B.5,20,10C.5,10,20D.20,5,10正确答案:A解析:形参是基本类型,是按值拷贝的,不影响实参的值。12、NUmber类定义如下:publicclassNumberpublicintx;)swap方法定义如下:publicstaticvoidswap(Numberumberl,Numberumber2)(inttemp=umberl.x;uberl.x=umber2.x;number2.x=temp;)运行如下代码:Num
5、bernrberl=newNumber();Numbernrber2=newNurber();Numbernrber3=newNumber();numberl.x=1;unber2.x=2;nurber3.x=3;swap(numberl,mber2);swap(number2,number3);则numberl.x,umber2.x,umber3.x的值分别为:A.1,2,3B,2,3,1C.3,2,1D.1,3,2正确答案:B解析:形参是对象,是按reference赋值,实参形参指向同一个内存,会同时改变的。13、假设有boolean变量flagl,flag2,则如下表达式中哪个不能代表异
6、或逻辑?(异或逻辑:如果a、b两个值不相同,则异或结果为trueo如果a、b两个值相同,异或结果为false。)A.flagl!=flag2B.(flagl=true&flag2=false)(flagl=false&flag2=true)CJfIagl=flag2D.(flagl=true&flag2=true)(flagl=false&flag2=false)正确答案:D解析根据异或逻辑规则,代入具体值,进行计算可以得到正确答案。注意与&或II,非!三种运算符。14、如下关于JaVa类的说法,错误的是?A.对象是类的实例化B.可以通过对象访问类变量Cjava文件中只能包含一个类的定义D.同
7、一类的不同对象有着相同的类变量正确答案:C解析:一个java文件可以包括多个类的定义,但是最多有一个PUbliCclass,而且文件名必须以publicclass的名字来定。15、如下赋值语句,有编译错误的是?A.byteb=-127;8.1 nti=(byte)512;C.byteb=129;D.byteb=-O;正确答案:C解析:byteb=(byte)129;需要强制转,且结果是-2.16、下列关于main方法的描述中,错误的是?A.mai方法是Java程序的入口B.mai方法格式为publicstaticvoidmai(Strigargs)/Yourcodehere)C.B选项中所描述
8、格式中形参args不能更改,如果将args改为arguments则不能编译通过D.main方法可以被重载正确答案:C解析:形参名字可以随意更改,形参类型不可以更改,必须是String口.17、JaVa有“一次编译,到处运行”的说法,此种说法中编译的结果日TEA机器码B符号表C字节码D.中间代码正确答案:C解析:ClaSS文件,即为字节码(bytecode)文件。18、下列不属于Java基本数据类型的是?A.shortB.floatC.DoubleD.it正确答案:C解析:8种基本类型:整数系列short,int1long,浮点数系列float,double,逻辑boolean,字节byte,字
9、符串Char。19、如下关于JDK和JRE的说法,错误的是?AJDK全称JavaDevelopmentKit,意即Java开发工具包BJRE全程JavaRuntimeEnvironment,意即Java运行环境CJRE中包含了JDKD.若只需要运行编译好的JaVa程序,则只有JRE就可以正确答案:C解析:JDK包含JRE,还包括编译部件。JRE只包含运行Java程序部件,未包含编译部件。20、在JaVa中,下面对于构造函数的描述正确的是A.类必须显式定义构造函数B.构造函数的返回类型是VOidC构造函数和类有相同的名称,并且不能带任何形参D.一个类可以定义多个构造函数正确答案:D解析:类无需显
10、式定义构造函数。如果没有,编译器会自动增加一个无参空的构造函数。构造函数必须和类名一样,且没有返回值,无需写VOid,可以带形参。21、AssumeiandjaremembervariableswithdoubletypeinclassX.Inthefollowingcodes,whichoneisNOTRIGHTconstructor?()A.doubleX(doublek)i=k;returni;B.X(doublem,doubleXi=m;j=n;C,X()i=6j=8;D.X(doublek)i=k;正确答案:A解析:构造函数没有返回值。22、Given:classCardBoardS
11、hortstory=5;CardBoardgo(CardBoardcb)cb=null;returncb;)publicstaticvoidmai(Stringargs)CardBoardcl=newCardBoard();CardBoardc2=newCardBoard();CardBoardc3=cl.go(c2);cl=null;/doStuff)When/doStffisreached,howmanyobjectsofCardBoardarenull?A.0B.lC.20,Compilationfails.正确答案:C解析:cl,c3被设置为nllo尽管形参和实参都指向同一个对象,但是
12、形参指针被设置为null,并不影响到实参的指针。23、Giventheuncompletedcodeofaclass:classPersonStringname,department;intage;publicPerson(Strig)name=n;publicPerson(Strig,inta)name=n;age=a;publicPerson(Strig,Stringd1inta)/doingthesameastwoargumentsversionofconstructor/includingassignmentnare=n,age=adepartment=d;)Whichexpressioncanbeaddedatthedoingthesameas.pa