a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 87|回复: 1

[考试试题] JAVA认证历年真题:SCJP认证套题解析(2)

[复制链接]
发表于 2012-8-4 12:33:16 | 显示全部楼层 |阅读模式
21、Which of the following assignment is not correct? ! O) H% G5 ^( H" ^4 Q( l- O
A. float f = 11.1;
( N; k7 z: l: j3 `$ A6 WB. double d = 5.3E12; 5 |( w6 c9 t4 P" ?" }1 o  ?9 p- `
C. double d = 3.14159; * W, e# Z8 B( I( W- }7 n0 H
D. double d = 3.14D. 9 e2 e4 Z/ |4 g
(a) & ?) K4 Y  S( I8 M& v( P& q
问题问题:下面的哪些赋值语句是不合错误的。 4 p8 n! A5 F; o  g0 G+ N& i2 @
浮点数的赋值是带有小数点的数字缺省是double型的,如不美观在浮点数后面加f或者F则是float,后面加d或者D则是double,科学计数法形式的浮点数也是double型的,而double的精度比float高,将一个高精度的double赋值给一个低精度的float时需要进行强制类型转换,反之则不需要。 ' C* y$ f5 [) {8 L" k
22、Given the uncompleted code of a class: $ ?- t5 g) T  x6 M2 X1 L& U; n: x) ?
class Person { , {5 ]3 m, Z) b% K& ?+ N4 c
String name, department; 1 {' X3 }6 Z. B) H
int age;
+ y* `3 k; i! W9 `0 U' u( J* Opublic Person(String n){ name = n; }
0 X. f' L! ?/ b, K( r9 J9 @5 cpublic Person(String n, int a){ name = n; age = a; } 9 d: J# i& D1 x& c2 O
public Person(String n, String d, int a) {
1 _) q/ i; Q2 R$ a9 r, t# O9 C// doing the same as two arguments version of constructor
. B$ l6 P- z" x/ u// including assignment name=n,age=a 7 n9 v/ Z% E7 I3 |. w5 k
department = d;
9 j- s0 ^9 M3 f% Z- S+ N} 4 s  B/ \5 V/ t7 n% \- o
}
: ~* C4 {4 p8 CWhich expression can be added at the "doing the same as..." part of the constructor? 5 W4 R" N, `$ l" L. q
A. Person(n,a);
+ P/ r2 W% L3 G2 L. WB. this(Person(n,a));
' N0 x7 h8 \$ J1 k  s; ?4 FC. this(n,a);
0 a- ^7 s8 L5 gD. this(name,age).
3 ]2 ]& d+ Z2 w8 H8 @; r(c)
: Y2 W0 U" v3 j: h4 I# M' n问题问题:给出下面的不完整的类代码:
3 W5 M2 v) b. V# R
0 j% @' y5 b) t下面的哪些表达式可以加到机关体例中的"doing the same as..."处? 7 y4 m( R" X3 h3 u! I
在统一个类的分歧机关体例中挪用该类的其它机关体例需要使用this(…)的形式,而且必需是在机关体例的第一行挪用,这个和通俗的体例重载挪用的体例分歧,通俗的体例可以直接使用体例名加参数来挪用,而且挪用位置没有限制,是以谜底A是不行的,B的语法就是错误的,D的错误在于在父类型的机关函数被挪用前不能引用类的成员。机关体例是一个类对象实例化的起点(虽然严酷来说首先执行的并不是机关体例的第一个语句,而是内存的分配),是以在机关体例中不能将成员作为参数引用。 23、Which of the following statements about variables and their scopes are true? 6 S# M4 Y. I" h9 t7 m8 u% G7 t. y4 i. Y

+ B- c: }+ T& a, M! ~+ FA. Instance variables are member variables of a class. / U9 v: d( A9 g  h  @: v' l
B. Instance variables are declared with the static keyword.
0 S% U- _5 t: G7 b7 a; lC. Local variables defined inside a method are created when the method is executed. 6 H7 E5 i2 K. q$ i" K* G
D. Local variables must be initialized before they are used.
' }& ]7 ^6 |0 p7 Y6 J7 y8 R0 H8 c(acd) : p5 p5 R' s5 ^
问题问题:下面关于变量及其规模的陈述哪些是对的。 2 y) e8 J# k; X+ f4 @( B' z
A. 实例变量是类的成员变量。
$ q/ d/ p, m& j# R% \$ BB. 实例变量用关头字static声明。
6 v6 }8 j+ k" M; k9 G" y' A& ?7 ZC. 在体例中界说的局部变量在该体例被执行时建树
! v; s5 g: L; B! i1 `* N  s" @/ RD. 局部变量在使用前必需被初始化。 : [, ^" g  g* @  f3 K0 }5 ]) L7 E
类中有几种变量,分袂是:局部变量(英文可觉得:localautomatictemporarystack variable)是界耸ё仝体例里的变量;实例变量(英文为:instance variable)是在体例外而在类声明内界说的变量,有时也叫成员变量;类变量(英文为:class variable)是用关头字static声明的实例变量,他们的保留期分袂是:局部变量在界说该变量的体例被挪用时被建树,而在该体例退出后被撤销;实例变量在使用new Xxxx()建树该类的实例时被建树,而其保留期和该类的实例对象的保留期不异;类变量在该类被加载时被建树,不必然要用new Xxxx()建树,所有该类的实例对象共享该类变量,其保留期是类的保留期。任何变量在使用前都必需初始化,可是需要指出的是局部变量必需显式初始化,而实例变量不必,原始类型的实例变量在该类的机关体例被挪用时为它分配的缺省的值,整型是0,布尔型是false,而浮点型是0.0f,引用类型(类类型)的实例变量的缺省值是null(没有进行现实的初始化,对它的使用将引起NullPointException),类变量的轨则和实例变量一样,分歧的是类变量的初始化是在类被加载时。
回复

使用道具 举报

 楼主| 发表于 2012-8-4 12:33:17 | 显示全部楼层

JAVA认证历年真题:SCJP认证套题解析(2)

</p>24、public void test() {
% a9 ]- U1 A$ |try {>System.out.println("finally");
" Y% ]8 {5 I% Q6 M6 e} " P+ w6 A: P" _5 V
}
" N+ q4 z7 b, G; p' W/ B) w5 zWhich will display if oneMethod run normally?
7 y, e: q' A/ u$ |! v  G+ vA. condition 1
" ^; t; j/ E+ }3 w7 c, xB. condition 2
1 _# G* q% L# D8 R& U+ ?' XC. condition 3
3 e. r) |3 }" x: V$ Q- e6 Q. ?0 DD. finally + L0 o! Z4 F' B/ A
(ad)
& @% }. g0 ]; W3 [问题问题:在oneMethod()体例运行正常的情形下将显示什么? ; `9 ~( G% Z+ t. @! D
如不美观try块中的语句在执行时发生异常,则执行年夜该处间断而进入catch块,按照异常的类型进行匹配,最前面的优前进前辈行匹配斗劲,只要该异常是catch中指定的异常的子类就匹配成功进而执行响应的catch中的内容,而finally块中的内容无论是否发生异常都将被执行。 , s1 T8 D9 U% g/ t6 |: I
2 {  |1 Y0 b) Q" s) w1 y
25、Given the following code: ( C4 A! l) \, x4 ~9 `: e
public class Test {
3 k9 v! x' o, }: Rvoid printValue(int m){
" O+ @* q- w1 ido { System.out.println("The value is"+m); 1 Y. [) U, {+ R! S
}
& V) N9 _( h3 p! r( ^" q; uwhile( --m > 10 )
, l, Z0 j: ~+ m$ E' X3 F6 ?: y8 `1 x}
, y  E1 ^; s' ^- ~public static void main(String arg[]) { 6 ?% ?' O; m0 l& g, u& S  o+ X
int i=10; , I# F# E  \( ]& q
Test t= new Test();
6 U* r# i! o" {( ft.printValue(i);
8 v5 W1 |+ b9 f8 u( k% u- o; W}
* l$ C  \; o- d}
8 b$ W5 n! w) }* e# rWhich will be output? 1 `  q5 u% S2 ?
A. The value is 8 & r" @- x9 T  ^1 @
B. The value is 9 6 l! O! Y8 J8 S+ Q, M" v- P
C. The value is 10
6 M& r( J: g5 ED. The value is 11 & N* C1 ?4 _( e4 O3 A
(c) ( C+ L1 L) p5 t
问题问题:给出下面的代码: 1 ?# Y  ^5 W, ]3 n2 F( j& S

+ P/ G) t# s* }4 t5 K9 K输出将是什么? ( g, ?( Z) Y- G6 C( ]# p; b2 c; D
此题考绩的是do… while轮回和 -- 操作符的常识,do…while起码被执行一次,在执行完do中的内容后判定while中的前提是否为true,如不美观为true的话就再执行do中的内容,然后再进行判定,以此类推直到while的判定为false时退出轮回执行轮回后面的内容,而?操作符的轨则是在变量右边的 -- 将前进前辈走运算,然后才是使变量的值减一,而在变量左边的是先将变量的值减几回再三运算。
! ]+ e5 ~2 X: L5 X$ m, A26、Which of the following statements about declaration are true? 0 j5 L+ j2 P! t* N. M# {& r5 N+ @
A. Declaration of primitive types such as boolean, byte and so on does not allocate memory space for the variable. 6 p* J- g6 G: ~# t, K
B. Declaration of primitive types such as boolean, byte and so on allocates memory space for the variable. , k& R9 A6 S* [$ G! u
C. Declaration of nonprimitive types such as String, Vector and so on does not allocate memory space for the object. ; Z. a' ^  ]) A0 h! B( o$ T' D
D. Declaration of nonprimitive types such as String, Vector ans so on allocates memory space for the object. 5 N' r7 B5 x  Y2 V/ P+ u" }  h  S
(ad)
9 W) c" j4 t$ ?* {: @2 C问题问题:下面的有关声明的哪些论说是对的。 7 a  E3 G: V. o/ B
A. 对原始数据类型例如boolean,byte的变量的声明不会为该变量分配内存空间。 ' Z$ ~  h2 ^7 g  e
B. 对原始数据类型例如boolean,byte的变量的声明将为之分配内存空间。
; S+ w+ p- t5 V2 i& z1 \C. 非原始数据类型例如String,Vector的变量的声明不会为该对象分配内存。 2 G- w: I4 d* n& |  E9 ~- w8 G% Y
D. 非原始数据类型例如String,Vector的变量的声明会为该对象分配内存。
0 d4 z/ {5 B9 X8 A8 `! [对原始数据类型的变量的声明将为之分配内存并赋予一个缺省值,参见23题的论说,而非原始数据类型的变量必需用new Xxxx()分配内存及初始化。可是严酷来讲此题的谜底有待确定,因为只有原始类型的实例变量和类变量的声明在类对象被建树/类被加载时完成内存的自动分配,而原始类型的局部变量必需显式初始化,年夜这点来看原始类型的局部变量没有被自动分配内存,SL275中只提出了非原始数据类型的变量必需使用new Xxxx()完成内存的分配而没有指出原始数据类型的变量是否在声明时即自动进行内存分配,而年夜局部变量不能在显式初始化前使用这点来看在声明时没有进行内存分配。是以谜底a的正确性还有待官方简直定。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-6-4 15:13 , Processed in 0.226031 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表