a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 81|回复: 0

[考试试题] JAVA试题:SCJP035经典104题分析笔记(二)

[复制链接]
发表于 2012-8-4 12:33:16 | 显示全部楼层 |阅读模式
5.
+ y! |, J4 |- t5 r/ l4 n7 M6 ?5 i: bpublic class test{ , A' V# I. E2 `3 i& ?
public static string output=''; ' y: A9 F) m  L" d  q* _
public static void foo(int i){
6 {& j$ W$ m: C: _% ]try { ' N2 Q4 H! \6 \! b2 K* _
if(i==1){ 2 H/ [: [$ T: `2 P( t+ k
throw new exception();
2 E+ E, T3 P. R( A: H2 H: i( N} * [+ v3 X  ~9 k4 B* Z, |" ^; W& T
output +='1'; 0 S: \$ E' o! `
} 4 r: y* D/ [  q. G3 o2 e" @
catch(exception e){
) {/ ~  q) o) m& toutput+='2';
+ H% O) h5 E' [+ m3 h; {  }. r2 l$ _return;
  k5 m* z# j2 A2 n: ^8 a/ L}
% Y* O1 C! E& Vfinally{
  q8 R9 E( k5 Y5 k0 T2 foutput+='3'; " ^( E/ l, M" ~
} - _7 S$ J. g: g/ e. M. p
output+='4'; . ], c/ B. k) t$ g7 F
}
; p  S" X8 H' e; Vpublic static void main(string args[]){ 6 e8 W# I9 U8 E. Y5 l( a
foo(0);
1 b9 Y, y, K2 r# ]2 t  Qfoo(1); " x% o5 w' F/ \9 G5 {7 G
24) + H( ~1 |1 v4 }$ K3 c; K
}
) V; g) \1 c0 |) l( \+ y( d}
+ J! R' n6 Z% h+ ~) S/ b5 dwhat is the value of output at line 24? 1 c1 B9 k" @5 _- E
题意: 在第24行处,output的值是什么。3 L: v2 \3 G! u4 w0 a1 a
剖析: 本题考绩static类型的变量和try—catch语句的执行。try—catch语句参见第4题的讲解。所谓静态,据本人理解指的是其在内存中的位置是固定的,即轨范装载完成后所有静态变量就固定于某一内存地址中,它们不跟着类的实例化而随对象的地址而变换,所以有人说静态变量属于类而不属于对象。所以静态体例可以不合错误类进行实例化而直接挪用,静态变量也可以不合错误其所属类进行实例化而直接使用。而多次实例化的对象使用静态变量时,现实是使用统一内存地址的内容。
! X* C1 G0 }. D6 j0 L: {/ N解答: 年夜主轨范的挪用入手剖析。1、foo(0)挪用foo函数,并将0传给foo函数的i变量。2、运行try语句块,斗劲i==1不成立,执行if后面的语句output +='1',此时output的值为“1”。3、try语句没有异常抛出,在执行finally语句后即竣事。finally语句改变output的值为“13”。4、执行try语句外面的语句output+='4',此时output的值为“134”,foo(0)挪用竣事。5、foo(1)挪用foo函数并将1传给foo函数的i变量。6、运行try语句块,斗劲i==1成立,执行if语句块内的语句。7、抛出一个异常。8、catch语句马上捕捉异常并执行output+='2',此时output的值为“1342”。9、继续向下执行return筹备竣事foo函数,可是return前要执行finally语句的内容output+='3',此时output的值为“13423”。然后竣事foo函数。在第24行处output的值为“13423”。( C. i5 h( S0 B" O
注重: 谜底时应该写“”?
0 [3 T: w0 e7 @0 [+ v1 q0 J$ e示例: w05.java
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-22 00:32 , Processed in 0.191941 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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