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

来源:2-7 Java中变量的使用规则

慕粉3404826

2016-05-25 22:43

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

写回答 关注

5回答

  • 想要的life
    2016-06-12 22:11:04
    已采纳

    给你举个例子:

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


    Shuryo...

    非常感谢!

    2016-09-23 23:06:10

    共 2 条回复 >

  • 袁乐方
    2016-08-23 10:34:51

    实名反对最佳回答,“想要的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,编译器就会报错,因为没有任何东西可以输出。

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

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



  • 南风莫过境
    2016-06-26 23:23:31

    想要输出就要赋值。

  • Mrkn
    2016-05-28 22:09:41

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

  • 小龙虾0129
    2016-05-25 22:47:38

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

Java入门第一季(IDEA工具)升级版

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

1165172 学习 · 17581 问题

查看课程

相似问题