黑马程序员技术交流社区

标题: 一道选择题 [打印本页]

作者: aohn1117    时间: 2015-11-22 23:37
标题: 一道选择题

8.编译并运行以下代码将发生什么? ( )
public static void main(String args[]){
            char digit = 'a';
            for (int i = 0; i < 10; i++){
                      switch (digit)
                      {
                                case 'x' :
                                {
                                        int j = 0;
                                                System.out.println(j);               
                                }
                                default :
                                {
                                        int j = 100;
                                                System.out.println(j);               
                                }
                      }
           }
        int i = j;
           System.out.println(i);       
}
A. 输出11次100
B. 输出10次100,然后抛出运行期异常
C. 编译错误,因为变量i不能在main() 方法中被声明2次
D. 编译错误,因为变量j不能在main() 方法中被声明2次
E. 以上都不对
作者: 隔壁马良    时间: 2015-11-23 01:01
E?j超出作用域是不是
作者: 猪宝宝Vone    时间: 2015-11-23 10:25
和楼上想的一样
作者: hansnowqiang    时间: 2015-11-28 15:01
沙发正解
作者: zhangguohui    时间: 2015-11-28 21:51
6666666666666666666
作者: zqiang    时间: 2015-11-29 00:02
{}括起来的变量只能在括号内使用
作者: chirst123    时间: 2015-11-29 00:38
j是局部变量,不能保存下来
作者: Good_Man    时间: 2015-11-29 08:55
选择 E,,
作者: 晚睡晚起的    时间: 2015-11-29 11:07
e吧...编译出错,j是局部变量
作者: 萧未然    时间: 2015-11-29 11:38
外面没有定义过j,选择E,不是两次的问题
作者: anuo    时间: 2015-11-29 15:08
E,J是局部变量,用后即死
作者: lvhongli    时间: 2015-11-29 21:17
E,j是局部变量
作者: 洛荣神川    时间: 2015-11-29 22:58
我选择E
作者: 1018chenhaiyang    时间: 2015-11-30 11:48
j  是局部变量
作者: TG·小强    时间: 2015-11-30 12:52
当然是E,超出了作用域,j没有定义,
作者: wyasln    时间: 2015-11-30 13:02
目测是E,范围问题




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2