狭路
2016-05-19 12:01
int sum = 0; // 保存不能被3整除的数之和 int i = 1; for (int i = 1; i<=100; i++) { if (i % 3 != 0) { sum = sum + i; // 累加求和 } } System.out.println("1到100之间不能被3整除的数之和为:" + sum); } } 定义了int=1 for 括号里面 就不能定义 int=1了吗?
for(int i=1;i<100;i++){
}还可以写成
int i=1;
for( ;i<100;i++){
}
当你定义了 int i=1; 然后又在 for(){}循环的括号里写 一个 int i=1;的时候 会报 定义了两个同名变量错误。
Java变量是有作用域的。如果两个作用域完全不同的变量同名,不会引起冲突。
我知道你想问什么,假如一个班 有两个小明 那么点名的时候就会冲突 但是如果一班有个小明 二班有一个小明,分开班级点名就不会冲突。
如果一个函数中(最外层)定义了x,在函数中的另外一处也定义了x,或者说在函数的某个循环中定义了x,就会引起冲突。
如果在一个函数的一个循环A中定义了x,循环B中也定义了x,只要A,B不是相互包含的,那么也不会有冲突。
不太明白你的问题,你是想问“如果在for循环外面定义了一个变量 int i =1;
那么在for循环里面还能不能再定义一个同名变量 int i =1 吗?“
这种情况是不可以的,在同一类或方法中不能重复定义一个同名变量,想了解更多关于变量的,可以在后面的课程中看一下变量的生存期和作用域。
两个都是定义并初始化同一个变量i,这不是重复了嘛
Java入门第一季(IDEA工具)升级版
1165551 学习 · 17586 问题
相似问题