问答详情
源自:2-7 Java中变量的使用规则

变量的初始化赋值,在什么位置赋值算正确的初始化?为什么不能在for循环内部赋值?

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);

    }

}



提问者:慕圣3045325 2019-03-27 10:31

个回答

  • FrankXiang
    2019-04-17 10:27:41

    sum必须要先初始化

  • 想要上天的树
    2019-03-27 11:09:23

    System.out.println(sum); 有这个的原因。

    因为程序都是要先编译的,编译的时候不会进行运算,也就是sum=i+j这个赋值操作不会进行,再编译到System.out.println(sum);时系统就会报sum没有赋值。