忆_卿
2020-08-18 22:43
第一段代码:
public static void main(String[] args) {
int i=0; //这里定义了i
for(int i=0;i<=10;i++) { //这里也有一个,系统提示,命名重复,请修改
System.out.println(i);
}
}
第一段代码有两个i。一个在for外面,一个在for里面,系统提示命名冲突。
第二段代码:
public static void main(String[] args) {
for(int i=0;i<=10;i++) {
System.out.println(i);
}
for(int i=1;1<=10;i++) {
System.out.println("当前累加值为:"+sum);
}
}
第二段代码有两个并列的for循环,都有一个变量i,但是两个不会命名冲突。
为什么第一段代码 i名字会冲突,第二段代码i名字不冲突?
第二段两个i是独立的,只在他们的循环体生效....
第二段的第一个循环i执行完循环会删除i的变量所以不会影响第二个循环定义变量i
第一段的变量i不是循环体里定义的变量不会自动删除
那第一段代码 i 名字会冲突的原因是什么?
Java入门第一季(IDEA工具)升级版
1167018 学习 · 17593 问题
相似问题