历年真题分析二_第1页
历年真题分析二_第2页
历年真题分析二_第3页
历年真题分析二_第4页
历年真题分析二_第5页
已阅读5页,还剩5页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

历年真题分析二

21>Whichofthefollowingassignmentisnotcorrect?

A.floatf=11.1;

B.doubled=5.3E12;

C.doubled=3.14159;

D.doubled=3.14D.

(a)

题目:下面的哪些赋值语句是对的。

浮点数的赋值是带有小数点的数字缺省是double型的,如果在浮点数后面加f或

者F则是float,后面加d或者D则是double,科学计数法形式的浮点数也是

double型的,而double的精度比float高,将一个高精度的double赋值给一个低

精度的float时需要进行强制类型转换,反之则不需要。

22、Giventheuncompletedcodeofaclass:

classPerson{

Stringname,department;

intage;

publicPerson(Stringn]{name=n;}

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

publicPersonfStringn,Stringd,inta]{

//doingthesameastwoargumentsversionofconstructor

//includingassignmentname=n,age=a

department=d;

)

)

Whichexpressioncanbeaddedatthe“doingthesameas..."partofthe

constructor?

A.Person(n,a);

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

C.this(n,a);

D.this(name,age).

©

题目:给出下面的不完整的类代码:

下面的哪些表达式可以加到构造方法中的"doingthesameas..."处?

在同一个类的不同构造方法中调用该类的其它构造方法需要使用this]...)的形式,

而且必须是在构造方法的第一行调用,这个和普通的方法重载调用的方式不同,普

通的方法可以直接使用方法名加参数来调用,而且调用位置没有限制,因此答案A

是不行的,B的语法就是错误的,D的错误在于在父类型的构造函数被调用前不能

引用类的成员。构造方法是一个类对象实例化的起点(虽然严格来说首先执行的并

不是构造方法的第一个语句,而是内存的分配),因此在构造方法中不能将成员作

为参数引用。

23、Whichofthefollowingstatementsaboutvariablesandtheirscopesaretrue?

A.Instancevariablesaremembervariablesofaclass.

B.Instancevariablesaredeclaredwiththestatickeyword.

C.Localvariablesdefinedinsideamethodarecreatedwhenthemethodisexecuted.

D.Localvariablesmustbeinitializedbeforetheyareused.

(acd)

题目:下面关于变量及其范围的陈述哪些是对的。

A.实例变量是类的成员变量。

B.实例变量用关键字static声明。

C.在方法中定义的局部变量在该方法被执行时创建

D.局部变量在使用前必须被初始化。

类中有几种变量,分别是:局部变量(英文可以为:

local/automatic/temporary/stackvariable)是定义在方法里的变量;实例变量

(英文为:instancevariable)是在方法外而在类声明内定义的变量,有时也叫成

员变量;类变量(英文为:classvariable)是用关键字static声明的实例变量,他

们的生存期分别是:局部变量在定义该变量的方法被调用时被创建,而在该方法退

出后被撤销;实例变量在使用newXxxx。创建该类的实例时被创建,而其生存期

和该类的实例对象的生存期相同;类变量在该类被加载时被创建,不一定要用

newXxxx。创建,所有该类的实例对象共享该类变量,其生存期是类的生存期。任

何变量在使用前都必须初始化,但是需要指出的是局部变量必须显式初始化,而实

例变量不必,原始类型的实例变量在该类的构造方法被调用时为它分配的缺省的值,

整型是0,布尔型是false,而浮点型是O.Of,引用类型(类类型)的实例变量的缺

省值是null(没有进行实际的初始化,对它的使用将引起NullPointException),

类变量的规则和实例变量一样,不同的是类变量的初始化是在类被加载时。

24、publicvoidtestQ{

try{oneMethodQ;

System.out.printlnf'condition1");

}catch(ArraylndexOutOfBoundsExceptione){

System.out.printlnf'condition2");

}catch(Exceptione){

System.out.println("condition3");

}finally{

System.out.println("finally");

)

)

WhichwilldisplayifoneMethodrunnormally?

A.condition1

B.condition2

C.condition3

D.finally

(ad)

题目:在oneMethod。方法运行正常的情况下将显示什么?

如果try块中的语句在执行时发生异常,则执行从该处中断而进入catch块,根据

异常的类型进行匹配,最前面的优先进行匹配比较,只要该异常是catch中指定的

异常的子类就匹配成功进而执行相应的catch中的内容,而finally块中的内容无

论是否发生异常都将被执行。

25、Giventhefollowingcode:

publicclassTest{

voidprintValuefintm){

do{System.out.printlnf'Thevalueis"+m);

}

while(-m>10)

)

publicstaticvoidmain(Stringarg[]J{

inti=10;

Testt=newTestQ;

t.printValue(i);

}

}

Whichwillbeoutput?

A.Thevalueis8

B.Thevalueis9

C.Thevalueis10

D.Thevalueis11

©

题目:给出下面的代码:

翁I出将是什么?

此题考察的是do...while循环和-操作符的知识,do...while最少被执行一次,在

执行完do中的内容后判断while中的条件是否为true,如果为true的话就再执行

do中的内容,然后再进行判断,以此类推直到while的判断为false时退出循环执

行循环后面的内容,而一操作符的规则是在变量右边的•一将先进行运算,然后才

是使变量的值减一,而在变量左边的是先将变量的值减一再运算。

26>Whichofthefollowingstatementsaboutdeclarationaretrue?

A.Declarationofprimitivetypessuchasboolean,byteandsoondoesnotallocate

memoryspaceforthevariable.

B.Declarationofprimitivetypessuchasboolean,byteandsoonallocatesmemory

spaceforthevariable.

C.DeclarationofnonprimitivetypessuchasString,Vectorandsoondoesnot

allocatememoryspacefortheobject.

D.DeclarationofnonprimitivetypessuchasString,Vectoranssoonallocates

memoryspacefortheobject.

(ad)

题目:下面的有关声明的哪些叙述是对的。

A.对原始数据类型例如boolean,byte的变量的声明不会为该变量分配内存空间。

B.对原始数据类型例如boolean,byte的变量的声明将为之分配内存空间。

C.非原始数据类型例如String,Vector的变量的声明不会为该对象分配内存。

D.非原始数据类型例如String,Vector的变量的声明会为该对象分配内存。

对原始数据类型的变量的声明将为之分配内存并赋予一个缺省值,参见23题的叙

述,而非原始数据类型的变量必须用newXxxx()分配内存及初始化。但是严格来

讲此题的答案有待确定,因为只有原始类型的实例变量和类变量的声明在类对象被

创建/类被加载时完成内存的自动分配,而原始类型的局部变量必须显式初始化,

从这点来看原始类型的局部变量没有被自动分配内存,SL275中只提出了非原始

数据类型的变量必须使用newXxxx。完成内存的分配而没有指出原始数据类型的

变量是否在声明时即自动进行内存分配,而从局部变量不能在显式初始化前使用这

点来看在声明时没有进行内存分配。因此答案a的正确性还有待官方的确定。

27、IntheJavaAPIdocumentationwhichsectionsareincludedinaclassdocument?

A.Thedescriptionoftheclassanditspurpose

B.Alistofmethodsinitssuperclass

C.Alistofmembervariable

D.Theclasshierarchy

(acd)

题目:在JavaAPI文档中下面的哪些部分被包括在内

A.类及用途的描述

B.父类的方法的列表

C.成员变量的列表

D.类层次

类文档的内容主要是:类层次、类及用途描述、成员变量列表、构造方法列表、成

员方法列表、从类层次上继承的方法列表、成员变量的详细说明、构造方法详细说

明、成员方法详细说明。

28、Giventhefollowingcode:

1)publicvoidmodifyQ{

2)inti,j,k;

3)i=100;

4)while(i>0){

5)j=i*2;

6)System.out.println("Thevalueofjis"+j);

7)k=k+l;

8)i-:

9))

10))

Whichlinemightcauseanerrorduringcompilation?

A.line4

B.line6

C.line7

D.line8

©

题目:给出下面的代码:

哪些行在编译时可能产生错误。

这个问题在前面有关变量的类型及其作用域的问题中讨论过,局部变量在使用前必

须显式初始化,而代码中的变量k在使用前没有。

29、Whichofthefollowingstatementsaboutvariablesandscopearetrue?

A.Localvariablesdefinedinsideamethodaredestroyedwhenthemethodisexited.

B.Localvariablesarealsocalledautomaticvariables.

C.Variablesdefinedoutsideamethodarecreatedwhentheobjectisconstructed.

D.Amethodparametervariablecontinuestoexistforaslongastheobjectisneeded

inwhichthemethodisdefined.

(abe)

题目:下面有关变量及其作用域的陈述哪些是对的。

A.在方法里面定义的局部变量在方法退出的时候被撤销。

B.局部变量也叫自动变量。

C.在方法外面定义的变量(译注:即实例变量)在对象被构造时创建。

D.在方法中定义的方法的参变量只要该对象被需要就一直存在。

本题还是讨论变量的类型及作用域,参看前面的叙述。

30、Aclassdesignrequiresthatamembervariablecannotbeaccessibledirectly

outsidetheclass.Whichmodifiershouldbeusedtoobtaintheaccesscontrol?

A.public

B.nomodifier

C.protected

D.private

(d)

题目:类的设计要求它的某个成员变量不能被外部类直接访问。应该使用下面的哪

些修饰符获得需要的访问控制。

这个在前面也有叙述,java有四种访问类型,分别为:

public,protected,default,private,其中public变量可以被所有的外部类访问,而

pretected的可以被同一个包及该类的字类访问,default即没有任何修饰符的变量

可以被同一个包中的类访问,而private变量只能在被该类内部被访问。题目中的

外部类应该理解为除该类自身的所有其它类,因此只有使用private可以达到要求。

31Giventhefollowingcodefragment:

1)Stringstr=null;

2)if((str!=null)&&(str.lengthQ>10]){

3)System.out.println("morethan10");

4)}

5)elseif((str!=null)&(str.lengthQ<5)){

6)System.out.printlnf'lessthan5");

7)}

8)else{System.out.println("end");}

Whichlinewillcauseerror?

A.line1

B.line2

C.line5

D.line8

题目:给出下面的代码片断:

哪些行将导致错误。

此题需要将代码仔细看清楚,查询没有逻辑错误,if...else的使用没有问题,也没

有拼写错误,错误在于第5行的“与"操作符的使用,逻辑操作符(logicaloperator)

的"与"应该是&&,而&是位逻辑操作符(bitwiselogicaloperator)的"与",使用的

对象不一样,逻辑操作符的"与"的左右操作数都应该是布尔型(logicalboolan)的

值,而位逻辑操作符的左右操作数都是整型(integral)值。

32、WhichstatementsaboutJavacodesecurityaretrue?

A.Thebytecodeverifierloadsallclassesneededfortheexecutionofaprogram.

B.Executingcodeisperformedbytheruntimeinterpreter.

C.Atruntimethebytecodesareloaded,checkedandruninaninterpreter.

D.Theclassloaderaddssecuritybyseparatingthenamespacesfortheclassesofthe

localfilesystemfromthoseimportedfromnetworksources.

(bed)

题目:下面有关java代码安全性的叙述哪些是对的。

A.字节码校验器加载查询执行需要的所有类。

B.运行时解释器执行代码。

C.在运行时,字节码被加载,验证然后在解释器里面运行。

D.类加载器通过分离本机文件系统的类和从网络导入的类增加安全性。

SL275中描述的Java程序运行的过程是这样的:类加载器(classloader)加载程

序运行所需要的所有类,它通过区分本机文件系统的类和网络系统导入的类增加安

全性,这可以限制任何的特洛伊木马程序,因为本机类总是先被加载,一旦所有的

类被加载完,执行文件的内存划分就固定了,在这个时候特定的内存地址被分配给

对应的符号引用,查找表(lookuotable)也被建立,由于内存划分发生在运行时,

解释器在受限制的代码区增加保护防止未授权的访问;然后字节码校验器(byte

codeverifier)进行校验,主要执行下面的检查:类符合JVM规范的类文件格式,

没有违反访问限制,代码没有造成堆栈的上溢或者下溢,所有操作代码的参数类型

都是正确的,没有非法的数据类型转换(例如将整型数转换成对象类型)发生;校

验通过的字节码被解释器(interpreter)执行,解释器在必要时通过运行时系统执

行对底层硬件的合适调用。后三个答案是SL275中的原话。

33、Giventhefollowingcode:

publicclassPerson{

staticintarr[]=newint[10];

publicstaticvoidmain(Stringa口){

System.out.println(arr[l];J

),

)

Whichstatementiscorrect?

A.Whencompilationsomeerrorwilloccur.

B.Itiscorrectwhencompilationbutwillcauseerrorwhenrunning.

C.Theoutputiszero.

D.Theoutputisnull.

(C)

题目:给出下面的代码:

那个叙述是对的。

A.编译时将发生错误。

B.编译时正确但是运行时出错。

C.输出为0。

D.输出为null

int型数组是类对象,它在类被加载时完成初始化,在前面题目中已经有叙述,由

于是原始数据类型int,其初始值为0。

34、Giventhefollowingcode:

publicclassPerson{

intarr[]=newint[10];

publicstaticvoidmain(Stringa[]){

System.out.println(arr[l]);

},

)

Whichstatementiscorrect?

A.Whencompilationsomeerrorwilloccur.

B.Itiscorrectwhencompilationbutwillcauseerrorwhenrunning.

C.Theoutputiszero.

D.Theoutputisnull.

(a)

给出下面的代码:

哪些叙述是对的。

A.编译时出错。

B.编译时正确而运行时出错。

C.输出0。

D.输出nullo

实例变量在类的一个实例构造时完成初始化,而且在类的静态方法中不能直接访问

类的非静态成员而只能访问类成员(像上题中一样),类的普通方法可以访问类的

所有成员和方法,而静态方法只能访问类的静态成员和方法,因为静态方法属于类,

而普通方法及成员变量属于类的实例,类方法(静态方法)不能使用属于某个不确

定的类的实例的方法和变量,在静态方法里面没有隐含的this,而普通方法有。

35、publicclassParent{

publicintaddValuefinta,intb){

ints;

s=a+b;

returns;

)

}

classChildextendsParent{

)

WhichmethodscanbeaddedintoclassChild?

A.intaddValuefinta,intb){//dosomething...}

B.publicvoidaddValue(){〃dosomething...}

C.publicintaddValuefinta){//dosomething...}

D.publicintaddValuefinta,intb)throwsMyException{//dosomething...}

(be)

题目:哪些方法可以加入类Child中。

此题涉及方法重载(overload),方法重写(override)以及类派生时方法重写的

规则。方法重载的规则是:一、参数列表必须不同,个数的不同完全可以,如果个

数相同则参数类型的不同不能引起歧意,例如int和long,float和double就不能作

为唯一的类型不同;二、返回值可以不同,但是不能是重载时唯一的不同点(这点

和C++中不同,C++中返回类型必须一致)。方法重写发生在类继承时,子类可以

重写一个父类中已有的方法,必须在返回类型和参数列表一样时才能说是重写,否

则就是重载,java中方法重写的一个重要而且容易被忽略的规则是重写的方法的

访问权限不能比被重写的方法的访问权限低!重写的另一个规则是重写的方法不能

比被重写的方法抛弃(throws)更多种类的异常,其抛弃的异常只能少,或者是其子

类,不能以抛弃异常的个数来判断种类,而应该是异常类层次结果上的种类。此题

中答案a的错误就是重写的访问权限比被重写的方法的低,而b,c都属于重载,d

的错误在于比被重写的方法抛弃了更多种类的异常。

36、Amembervariabledefinedinaclasscanbeaccessedonlybytheclassesinthe

samepackage.WhichA.private

B.nomodifier

C.public

D.protected

(b)

题目:一个类中定义的成员变量只能被同一包中的类访问。下面的哪些修饰符可以

获得需要的访问控制。

参看前面的题目中的叙述。

37、ApublicmembervairablecalledMAX_LENGTHwhichisinttype,thevalueof

thevariableremainsconstantvalue100.Useashortstatementtodefinethe

variable.

A.publicintMAX_LENGTH=100;

B.finalintMAX_LENGTH=100;

C.finalpublicintMAX_LENGTH=100;

D.publicfinalintMAX_LENGTH=100.

(d)

题目:共有成员变量MAXJENGTH是一个int型值,变量的值保持常数值100。

使用一个短声明定义这个变量。

Java中共有变量使用public定义,常量变量使用final,另外注意的是修饰符的顺

序,一个最完整的修饰是publicstaticfinalintvarial_a=100;这个顺序不能错,这和

C++中也是不同的。而答案c恰恰错在修饰符的顺序工。

38、Whiche

温馨提示

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

评论

0/150

提交评论