单选题
阅读下列程序:
public class VariableUse{
public static void main(String[] args){
int a;
if(a==8){
int b=9;
System.out.println("a="+a);
System.out.println("b="+b);
}
System.out.println("a="+a);
System.out.println("b="+b);
}
该程序在编译时的结果是______。
A、
变量a未赋值
B、
第二个System.out.println("b="+b)语句中,变量b作用域有错
C、
第二个System.out.println("a="+a)语句中,变量a作用域有错
D、
第一个System.out.println("b="+b)语句中,变量b作用域有错
【正确答案】
B
【答案解析】
[解析] 程序中局部变量a定义时没有赋初值,Java会赋值一个随机值,第二个Systern.out.println("b="+b)语句中,变量b作用域有错,因为变量b是在if语句中定义的,执行完if语句时,变量b已经不存在。因此,选择B。
提交答案
关闭