为了账号安全,请及时绑定邮箱和手机立即绑定

申明了变量一定要赋值吗?

这个题就是让你赋值,但不赋值不就为空吗,也没有错啊

正在回答

5 回答

给你举个例子:

public class HelloWorld{
  public static void main(String[] agrs){
    String love;  /只是声明了变量 love ,没有赋值。
    System.out.println(love);  /此行代码可以运行出来,但是运行出来的love跟你声明的不是一个love..
                               /你给括号里面的换成任意一个词都能运行出来。此时String love;这行就没                                 用
  }
}


1 回复 有任何疑惑可以回复我~
#1

慕粉3404826 提问者

非常感谢!
2016-07-13 回复 有任何疑惑可以回复我~
#2

Shuryo_jaha

非常感谢!
2016-09-23 回复 有任何疑惑可以回复我~

实名反对最佳回答,“想要的life”的这一段代码

public class HelloWorld{

  public static void main(String[] agrs){

    String love;  /只是声明了变量 love ,没有赋值。

    System.out.println(love);  /此行代码可以运行出来,但是运行出来的love跟你声明的不是一个love..

                               /你给括号里面的换成任意一个词都能运行出来。此时String love;这行就没                                 用

  }

}

编译器是无法编译的,如果你尝试编译,则会报错:

StringTest.java:4: 错误: 可能尚未初始化变量love

        System.out.println(love);

                           ^

1 个错误

因此,变量可以不赋值,这并不违反java的语法规范,但是变量是一个容器,就是用来存放值或引用对象的,

如果不给变量赋值,就好象买了一个杯子,但是从来也不用它来装任何东西一样,就失去它的意义了。

另外,如果你需要输出一个变量,除了声明以外,一定要给它赋值,否则将无法输出。

另外,在main方法中,变量的值如果不主动赋值是不会自动初始化的,例如

String a;

意思就是声明1个名字为a的String类型的变量,如果不赋值的话,a变量此时的值为null,也就是空,什么都没有。

如果你要输出a,编译器就会报错,因为没有任何东西可以输出。

因此简单来回答你的问题,变量可以不赋值,这符合语法规范,但是没有实际意义。

但是如果你要输出一个变量的值,就一定要主动赋值。



1 回复 有任何疑惑可以回复我~

想要输出就要赋值。

0 回复 有任何疑惑可以回复我~

变量声明了,不一定要赋值,系统会自动初始化一个值,但是在main方法中,变量的值就不会被初始化

0 回复 有任何疑惑可以回复我~

声明了,不一定要赋值,如果不赋值,系统会自动会赋一个随机值!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165454    人
  • 解答问题       17585    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

申明了变量一定要赋值吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信