黑马程序员技术交流社区

标题: 关于局部变量的一个小问题 [打印本页]

作者: 必须进黑马    时间: 2013-11-4 15:39
标题: 关于局部变量的一个小问题
class  shit{
        public static void main(String[] args) {
                String a;
                 int b;
                System.out.println("hello world");
        }
}

请问局部变量不是要初始化吗,为什么上面代码不会报错呢
作者: 严铭    时间: 2013-11-4 16:28
- - 你只是做了声明  后面没有调用这两个变量呀。 调用的时候就会报错了
作者: 编程的梦想    时间: 2013-11-4 16:40
之所以没有出错是因为你没有调用,你可以把输出语句改为 System.out.println(a+"hello world"+b);就会发现程序编译不过,变量只有在调用时才会调用java虚拟机去编译,检验此变量是否初始化,如果没有初始化是不能调用的,这时才会报错1
作者: 瓶中人    时间: 2013-11-4 17:42
没有错,声明却没有调用,不会报错。
作者: 狼王    时间: 2013-11-4 19:15
关于这个问题推荐你看一篇文章:http://alanlhy.iteye.com/blog/1163636




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