A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© aohn1117 中级黑马   /  2015-11-22 23:37  /  1236 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


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. 以上都不对

15 个回复

倒序浏览
E?j超出作用域是不是
回复 使用道具 举报
和楼上想的一样
回复 使用道具 举报
沙发正解
回复 使用道具 举报
6666666666666666666
回复 使用道具 举报
{}括起来的变量只能在括号内使用
回复 使用道具 举报
j是局部变量,不能保存下来
回复 使用道具 举报
选择 E,,
回复 使用道具 举报
e吧...编译出错,j是局部变量
回复 使用道具 举报
外面没有定义过j,选择E,不是两次的问题
回复 使用道具 举报
anuo 中级黑马 2015-11-29 15:08:28
11#
E,J是局部变量,用后即死
回复 使用道具 举报
E,j是局部变量
回复 使用道具 举报
我选择E
回复 使用道具 举报
j  是局部变量
回复 使用道具 举报
当然是E,超出了作用域,j没有定义,
回复 使用道具 举报
wyasln 中级黑马 2015-11-30 13:02:15
16#
目测是E,范围问题
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马