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

求助各位大神,为什么我的变量count初始化放在for循环的循环变量初始化的时候就报错,放在for循环前赋值就可以?

public class HelloWorld{

    public static void main(String[] args){

        int num = 999;


        for(int i = 1,count = 0;num / i != 0;count++){

            i *= 10;

        }


        System.out.println("它是个"+count+"位的数!");

    }

}

https://img1.sycdn.imooc.com//5bf50f1200010ddb08050376.jpg

正在回答

2 回答

1、定义在for循环初始化那边,就是循环体里面的局部变量,不能被循环体外部访问

2、定义在for循环前赋值,就是当前域的局部变量了,只要是这个域的,就都能访问到了

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

拥抱黑夜的白天 提问者

是不是可以理解为局部变量只能在定义的局部内访问,在外部是不能访问的?
2018-11-21 回复 有任何疑惑可以回复我~
#2

拓哥 回复 拥抱黑夜的白天 提问者

对的,可以这样理解
2018-11-21 回复 有任何疑惑可以回复我~
#3

拥抱黑夜的白天 提问者 回复 拓哥

非常感谢大神的解答~
2018-11-22 回复 有任何疑惑可以回复我~

循环外面没有赋值,只是循环里面的不行

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

拥抱黑夜的白天 提问者

为什么呀?课程里面不是说for循环赋初值可以在里面也可以在外面吗?
2018-11-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

求助各位大神,为什么我的变量count初始化放在for循环的循环变量初始化的时候就报错,放在for循环前赋值就可以?

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