对于没有事先定义变量的不同的for循环体内 可否为初始值起同样的标识符:
public class Try {
public static void main(String[] args) {
for (int a = 0; a < 5; a++) { //在for循环里初始化变量a,跳出这个for循环,a将不存在
int b = 0; //跳出这个for循环,里面的b自动销毁
for (int a = 0; a < 5; a++) { //在包括该循环的循环体内已有同标识符,b红波浪线,不可同名
int b = 0; //在包括该循环的循环体内已有同标识符,b红波浪线,不可同名
}
}
for (int a = 0; a < 5; a++) { //同名标识符仍可正常使用
int b = 0; //同名标识符仍可正常使用
}
for (int a = 0; a < 5; a++) { //同名标识符仍可正常使用
int b = 0; //同名标识符仍可正常使用
}
System.out.println(a); //跳出全部的循环,这里的b报红,没有这个a
System.out.println(b); //跳出全部的循环,这里的b报红,没有这个b
}
}
也可以先在for循环外面定义一个变量:跳出循环也可以继续保留变量 i
int i;
for (i = 0; i < 5; i++){
int a = 5; //随便写一个代码
}
System.out.println(i);