这个题就是让你赋值,但不赋值不就为空吗,也没有错啊
给你举个例子:
public class HelloWorld{ public static void main(String[] agrs){ String love; /只是声明了变量 love ,没有赋值。 System.out.println(love); /此行代码可以运行出来,但是运行出来的love跟你声明的不是一个love.. /你给括号里面的换成任意一个词都能运行出来。此时String love;这行就没 用 } }
实名反对最佳回答,“想要的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,编译器就会报错,因为没有任何东西可以输出。
因此简单来回答你的问题,变量可以不赋值,这符合语法规范,但是没有实际意义。
但是如果你要输出一个变量的值,就一定要主动赋值。
想要输出就要赋值。
变量声明了,不一定要赋值,系统会自动初始化一个值,但是在main方法中,变量的值就不会被初始化
声明了,不一定要赋值,如果不赋值,系统会自动会赋一个随机值!