黑马程序员技术交流社区

标题: 变量在for循环中为什么不能被初始化? [打印本页]

作者: 虔诚精    时间: 2015-12-8 20:22
标题: 变量在for循环中为什么不能被初始化?
import java.util.Scanner;
public class Temp
{
        public static void main(String[] args){
       
                int slsNum;

                Scanner sc=new Scanner(System.in);

                //for(int i=0;i<3;i++){
                        slsNum=sc.nextInt();
                //}

                System.out.println(slsNum);

        }
}
这样可以编译通过运行。可是把for循环放开,就提示没有初始化slsNum变量,这是为何?
代码如下:

import java.util.Scanner;
public class Temp
{
        public static void main(String[] args){
       
                int slsNum;

                Scanner sc=new Scanner(System.in);

                for(int i=0;i<3;i++){
                        slsNum=sc.nextInt();
                }

                System.out.println(slsNum);

        }
}
作者: 龙sama    时间: 2015-12-8 20:37
因为无法确定for循环里的东西是百分之百执行的,如果for循环没执行那么slsName就没值
代码编译肯定是不能存在这种不确定的因素,必须是确定的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2