A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

(1)class lianxi {
        public static void main(String[] args){
                int a=100;
                int b=20;
                int z;
                if (a>b) {
                        z=a;               
                        System.out.println(z);       
                }
               
               
        }
}
(2)外边就会提示没有初始化变量
class lianxi {
        public static void main(String[] args){
                int a=100;
                int b=20;
                int z;
                if (a>b) {
                        z=a;                               
                }
                System.out.println(z);               
        }
}
这是为什么呢?   

16 个回复

倒序浏览
本帖最后由 zf2501 于 2016-11-21 21:46 编辑

局部变量在使用之前必须赋值,int z=0;再试试
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
zf2501 发表于 2016-11-21 21:44
局部变量在使用之前必须赋值,int z=0;再试试

前边那个也没赋值啊。也有输出
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
杨森的安卓路 发表于 2016-11-21 22:02
前边那个也没赋值啊。也有输出

应该是路线不同的原因吧
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
回复 使用道具 举报
zhy20160915 发表于 2016-11-21 22:30
局部变量得原因。

源哥,晚上好
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
zf2501 发表于 2016-11-21 22:34
源哥,晚上好

小伙子。٩(๑òωó๑)۶
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
zf2501 中级黑马 2016-11-21 22:36:02
8#
杨森的安卓路 发表于 2016-11-21 22:02
前边那个也没赋值啊。也有输出

前面那个 z=a的时候就已经赋值了
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
1,首先,局部变量在使用前必须赋值;
回复 使用道具 举报
1.首先,局部变量在使用前必须赋值;
2.第一个输出语句紧跟着z的赋值语句,所以在使用前z已经赋值,故不报错;
3.第二个以为赋值语句放在if条件语句里面,当条件不成立时,z就没有赋值了,所以报错;
回复 使用道具 举报
zf2501 中级黑马 2016-11-21 22:43:37
11#
zhy20160915 发表于 2016-11-21 22:35
小伙子。٩(๑òωó๑)۶

源哥,有何吩咐~
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
zf2501 发表于 2016-11-21 22:43
源哥,有何吩咐~

过来。(ง •̀_•́)ง
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
zf2501 中级黑马 2016-11-21 23:23:58
13#
zhy20160915 发表于 2016-11-21 23:23
过来。(ง •̀_•́)ง

我过来了,你洗干净没得
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
zf2501 发表于 2016-11-21 23:23
我过来了,你洗干净没得

洗白白了得。( ^_^)/
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
zf2501 中级黑马 2016-11-21 23:30:31
15#
zhy20160915 发表于 2016-11-21 23:26
洗白白了得。( ^_^)/

你个没良心的,洗得白白的,是不是又要出去勾搭小白脸
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
dahei 初级黑马 2016-11-21 23:47:10
16#
定义变量其实是两步   int  x;   x=5;
回复 使用道具 举报
先定义后使用,局部和全局的区别吧
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马