4、阅读下列程序
, p$ {" V; I+ N% \. k9 y public class VariableUse{
0 L( o @3 }6 d2 R% | public static void main(String[] args){
1 E' B0 H) _; }* l4 I' g/ R) [" U int a; + u) c9 F/ o A/ B$ f, D, C5 i% J. X
if(a==8){ % q3 h+ H2 d9 n& }
int b=9;
( I6 I# B% i6 W- z; _ System.out.println("a="+a); - d' `+ o# q0 M+ p& \
System.out.println("b="+b); + q, b& B- a. o
} ! k/ b8 b' k: F6 ]* C2 q
System.out.println("a="+a); I% C: u# ]: [+ E
System.out.println("b="+b); ) Z% C' H0 _. V; Y' L9 K8 L
}
) R$ h7 y4 l- a/ |0 b } 5 b# `& I: z( S# l" R' U8 _
A、变量a未赋值//采取默认取值,为0 ( z9 z; _. h0 E2 W! M" z
B、第二个System.out.println("b="+b)语句中,变量b作用域有错
& @3 p6 c; g# V5 V8 ?3 ^ C、第二个System.out.println("a="+a)语句中,变量a作用域有错 9 k( m) g! ?8 J6 \3 C
D、第一个System.out.println("b="+b)语句中,变量b作用域有错 9 u M3 ^ F* o$ }
本题考查的是变量的作用域。 ( W, z! _5 V( U' ^& ?
{}表示的是Java语句体的范围,在一个语句体中定义的变量,其生命周期仅限于该语句体。像if、for、while等语句,{}中定义的变量的作用范围也只是在该语句体中的。本题中,整型变量b是在if语句中定义的,其作用域也仅限于if语句中,所以在if语句外的输出语句"System.out.println("b="+b);"会发生变量b作用域的错误。 9 }* _4 u3 ^: h& S1 D
故本题答案为B。
7 @" }# ?, `/ e, ?# v# f, c; J8 ^+ S 5、Java类库中,将信息写入内存的类是______。 8 c" Z1 X' s: z) B; n
A、java.io.FileOutputStream 4 ]5 M1 b" f7 {5 L8 m+ \! V
B、java.io.ByteArrayOutputStream 1 s- R c" W2 E
C、java.io.BufferedOutputStream ( R* L; g5 I" {
D、java.io.DataOutputStream
0 U7 v, r5 u/ }9 q+ U4 K6 I 本题考查的是输入输出及文件操作。
' }, l, T" f2 E% T; c |2 r FileOutputStream:用于对磁盘文件涉及的数据流进行输出处理,即向一个文件对象中写入数据。 . \5 ~4 p m( L; }( y0 M% \1 o
ByteArrayOutputStream:字节数组输出流。这个类将一个字节数组作为输出流,而任何内存块都可以以字节数组的形式使用,故利用该类可以对内存进行写入操作。
& I8 m0 C: ?) X- Q& s# p; M9 Z BufferedOutputStream:缓冲区优化了字节数据传送。
: E4 w5 P/ d0 _6 Y p' S1 A DataOutputStream:进行字节输出的基本数据类型判断。 故本题答案为B。 |