黑马程序员技术交流社区

标题: for循环中变量的问题 [打印本页]

作者: 西贝    时间: 2016-1-21 09:19
标题: for循环中变量的问题
for(int i = 1; i < 10; i ++) {
     System.out.println("该处定义的整型变量 i ,在for循环执行完毕后,弹栈消失,循环体外不能使用");
}
在视频课程学习过程中,for循环这一点儿有点儿不理解,在实际应用中,在for循环的 循环体之外 使用计数器i的最终值,应该是个常见的问题,不能都用while循环代替吧。然后比较 while 循环 和 for 循环,发现区别在于声明变量的位置,只要变量 i 在 for 循环体的前面且在外部声明,那么循环体技术后,即可使用变量 i 的最终值。
希望对存在同样问题的同学带来帮助。
int i ;
for(i = 1; i < 10; i ++) {
     System.out.println("该处定义的整型变量 i ,在for循环执行完毕后,循环体外可以调用其最终值");
}
作者: mj000    时间: 2016-1-21 12:59
Noname1.java:4: 错误: 已在方法 main(String[])中定义了变量 i
作者: mj000    时间: 2016-1-21 13:01
Noname1.java:4: 错误: 已在方法 main(String[])中定义了变量 i
这根本就是错的吧,你自己有编译运行过吗......
public static void main(String[] args) {
                int i;
                for (int i = 1;i<=10 ;i++ ) {
                        System.out.println(i);
                }
                System.out.println(i);
        }
作者: 伊丽莎白.大海    时间: 2016-1-21 21:41
楼上是你自己写的问题吧,他也没在for里重新定议int啊?
作者: sss1234hhh    时间: 2016-1-21 21:59
在循环体没定义的i在循环结束后就释放了,这也是while和for的区别之一,在一定情况下更节约内存
作者: heima7788    时间: 2016-1-21 22:15
同意楼上的
作者: zhourui@^@    时间: 2016-1-21 23:51
局部代码块
作者: black习    时间: 2016-1-22 00:02
同意楼上
作者: qt520    时间: 2016-1-22 09:29
没错,最大的好处是节约内存
作者: 小赵VS老付    时间: 2016-1-22 09:52
和楼主同感
作者: 曹德然    时间: 2016-1-24 00:59
同意楼上
作者: 一步一脚印=-=    时间: 2016-1-27 20:45
3楼明显自己犯了个小错误
作者: 15856681986    时间: 2016-1-27 21:06
class For {
        public static void main(String[] args) {
                int i = 0;
                for (; i < 10; i++) {
                        System.out.println(i);
                }
        }
}
我们老师说这样打
作者: huijiadanipp    时间: 2016-1-27 21:30
同意楼上




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