main方法里的变量必须先赋值,才能输出
在for循环 {} 里面的不算赋值吗?比如下面的这个
public class HelloWorld{
public static void main(String[] args) {
int i=1;
int j=1;
int sum;
for(;i<10;i++,j++){
sum=i+j;
}
//这样会报错说sum没有初始化,sum=i+j为什么不算初始化?
//为什么只能int sum=0;for(;i<10;i++,j++){sum=i+j;}
//或者int sum;fot(sum=0;i<10;i++,j++){sum=i+j;}
System.out.println(sum);
}
}
sum必须要先初始化
System.out.println(sum); 有这个的原因。
因为程序都是要先编译的,编译的时候不会进行运算,也就是sum=i+j这个赋值操作不会进行,再编译到System.out.println(sum);时系统就会报sum没有赋值。