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

请问赋值放在循环体内是不是循环体外不可用?

public class HelloWorld {

    public static void main(String[] args) {

        

        // 变量保存成绩

        int score = 53; 

        

        // 变量保存加分次数

        // int count = 0;


        //打印输出加分前成绩 

        System.out.println("加分前成绩:"+score);  

    

      

        // 只要成绩小于60,就循环执行加分操作,并统计加分次数

        for(int count=0;score<60;count++){

            score++;

        };

                

        //打印输出加分后成绩,以及加分次数

      System.out.println("加分后成绩:"+score);

      System.out.println("共加了"+count+"次!");

    }

}


正在回答

4 回答

不会啊,你在循环外定义的变量,传到循环里面,发生了改成的话,在外面再次访问时的值也就是改变后的值啊

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

岁月lgx 提问者

非常感谢!
2015-02-05 回复 有任何疑惑可以回复我~

赋值放在循环体里不是不行,你的错误是在最后一句

System.out.println("共加了"+count+"次!");

在这里是无法读取到count的,因为它是属于在循环时生成的变量,循环结束后,count就被销毁了,所以你在这里读count的话会报错

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

岁月lgx 提问者

谢谢!变量是有范围的!
2015-02-06 回复 有任何疑惑可以回复我~

  // int count = 0;

把注释去掉

  for(int count=0;score<60;count++){

把int去掉


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

岁月lgx 提问者

谢谢 我想把计数放在循环体内可以吗?
2015-02-05 回复 有任何疑惑可以回复我~
#2

ybbzbb 回复 岁月lgx 提问者

你应该要知道java的变量是有作用域的。你可以在外面再定义一个变量,再循环体内进行自增。 for(int count=0;score<60;count++)这个里的count变量只是for循环里的一个变量,所以它的作用域也是在for循环内....
2015-02-05 回复 有任何疑惑可以回复我~
#3

岁月lgx 提问者 回复 ybbzbb

好的,谢谢!!
2015-02-05 回复 有任何疑惑可以回复我~

for(int count=0;score<60;count++)

请问我把这个赋值放入循环体里,为什么不行?

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

举报

0/150
提交
取消

请问赋值放在循环体内是不是循环体外不可用?

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