为了账号安全,请及时绑定邮箱和手机立即绑定

这两个遍历方法中后者循环中的c变量是不是每次循环都被定义一次,为什么不报错?

public void getcourse(){
        int size = coursesToSelect.size();
        Course c;
        System.out.println("有如下课程:");
        for(int i=0;i<size;i++){
            c = (Course) coursesToSelect.get(i);
            System.out.println(c.id+":"+c.name);
        }
    }

------------------------------------------------------

public void getcourse(){
        int size = coursesToSelect.size();
        System.out.println("有如下课程:");
        for(int i=0;i<size;i++){
            Course c = (Course) coursesToSelect.get(i);
            System.out.println(c.id+":"+c.name);
        }
    }

正在回答

3 回答

第一个遍历的方法c在循环里一直被重新赋值,变量内存地址一直不变,第二个遍历方法中c一直被重新定义,不报错的原因是因为c是局部变量,每次执行完语句便会释放掉内存

0 回复 有任何疑惑可以回复我~
#1

Justeasy

求采纳
2017-08-21 回复 有任何疑惑可以回复我~

并不是每次都定义一次,第一次很明显定义一次,只是赋值不同;第二次写在循环里,但只定义c一次

0 回复 有任何疑惑可以回复我~

每次都重新定义一个c,这没毛病啊,为什么要报错呢?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这两个遍历方法中后者循环中的c变量是不是每次循环都被定义一次,为什么不报错?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信