Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中静态整型变量如何分配默认零_Java - Fatal编程技术网

java中静态整型变量如何分配默认零

java中静态整型变量如何分配默认零,java,Java,我的问题是:如何将默认零分配给静态整数变量 这是我的代码: class Point { static int i; public static void main(String[] args) { System.out.println("" + i); } } 输出必须是: 0所有类级编号的原语将初始化为0 所有类级对象将初始化为null 其他默认值包括 byte 0 char '\u0000' boolean false 由于i是一个整数,

我的问题是:如何将默认零分配给静态整数变量

这是我的代码:

class Point {
    static int i;
    public static void main(String[] args) {
       System.out.println("" + i);
    }
}
输出必须是:


0

所有类级编号的
原语
将初始化为
0

所有类级
对象
将初始化为
null

其他默认值包括

byte    0
char    '\u0000'
boolean false

由于
i
是一个整数,它将
0

声明字段时并不总是需要赋值。已声明但未初始化的字段将由编译器设置为合理的默认值。一般来说,此默认值将为零或null,具体取决于数据类型。然而,依赖这些默认值通常被认为是糟糕的编程风格

只有当你在课堂上学习时才会发生这种情况 如果它是一个局部变量,则必须在使用之前初始化。否则编译时错误。

类的基元成员(静态或非静态)设置为默认值,如下所述


int
值默认设置为
0

相反,您可以说它们是默认值。short、int、long、float、double、char、byte都是原语-它们不是对象。但不完全正确:
boolean
默认设置为
false
char
默认设置为
\u0000
。此外,不仅类级别,而且局部变量默认为0,null、false和
\u0000
@ChristiaandeJong局部原语变量不会默认为
0
@user2310289如果我可以加倍投票,我会这样做。既然您这么说了,就确实想到了局部变量不会被初始化。我错了,谢谢提醒。
byte    0
short   0
int 0
long    0L
float   0.0f
double  0.0d
char    '\u0000'
String (or any object)      null
boolean false