问题 单项选择题

阅读下列程序 public class VariableUse{ public static void main(String[]args){ inta; if(a==8){ intb=9; System.out.println("a"="+a); System.out.println("b="+b); } System.out.println("a="+a); System.out.println("b="+b); } } 该程序在编译时的结果是( )。

A.变量a未赋值

B.第二个Systeouprintln("b="+语句中,变量b作用域有错

C.第二个Systeouprintln("a="+语句中,变量a作用域有错

D.第一个Systeouprintln("b="+语句中,变量b作用域有错

答案

参考答案:B

解析: 局部变量b是在if(a==8){}里定义的,作用域也只在这个汀语句范围内,第二个System.out.drintln("b="+b)语句中,变量b超出了作用域。

单项选择题
判断题