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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 西贝 中级黑马   /  2016-1-21 09:19  /  1441 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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循环执行完毕后,循环体外可以调用其最终值");
}

13 个回复

倒序浏览
Noname1.java:4: 错误: 已在方法 main(String[])中定义了变量 i
回复 使用道具 举报
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);
        }
回复 使用道具 举报
楼上是你自己写的问题吧,他也没在for里重新定议int啊?
回复 使用道具 举报
sss1234hhh 来自手机 中级黑马 2016-1-21 21:59:02
报纸
在循环体没定义的i在循环结束后就释放了,这也是while和for的区别之一,在一定情况下更节约内存
回复 使用道具 举报
同意楼上的
回复 使用道具 举报
局部代码块
回复 使用道具 举报
同意楼上
回复 使用道具 举报
qt520 中级黑马 2016-1-22 09:29:36
9#
没错,最大的好处是节约内存
回复 使用道具 举报
和楼主同感
回复 使用道具 举报
同意楼上
回复 使用道具 举报
3楼明显自己犯了个小错误
回复 使用道具 举报
class For {
        public static void main(String[] args) {
                int i = 0;
                for (; i < 10; i++) {
                        System.out.println(i);
                }
        }
}
我们老师说这样打
回复 使用道具 举报
同意楼上
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马