📜  Java分配给原始数据类型的默认值

📅  最后修改于: 2022-05-13 01:54:57.487000             🧑  作者: Mango

Java分配给原始数据类型的默认值

原始数据类型是Java中内置的数据类型,可以直接使用,无需使用任何new关键字。正如我们所知, Java对原始数据类型的处理方式不同,其中包装类概念也发挥了作用。但在这里我们将完全关注数据类型。因此,在Java,有 8 种原始数据类型,如下表所示,它们具有相应的大小。

Data TypeSize
Byte1 byte
Short2 bytes
Int4 bytes
Long8 bytes
Float4 bytes
Double8 bytes
Boolean1 bit
Char1 byte

现在,这里的默认值是编译器分配给已声明但未初始化或未赋予值的变量的值。它们根据数据类型的返回类型而不同,如下所示,表中给出了分配给不同原始数据类型的变量的默认值。然而,依赖这样的默认值不被认为是一种好的编程风格。

Data Type

Default Values

Byte



0

Short

0

Int

0

Long

0

Float

0.0

Double

0.0

Boolean

false

Char

\u0000′ or null

现在我们知道初始化一个变量 意味着在使用变量之前给它一个初始值。因此,为了首先使用默认值,如果您之前没有声明变量,请使用数据类型和名称声明变量(例如, int x ,这里的int是数据类型, x是变量的名称)使用它会导致编译时错误。现在使用变量的默认值不要初始化它,即不要给它赋值。

示例 1

Java
// Java Program to Print Default Value Assigned
// to Primitive Datatype
  
// Importing input output classes
import java.io.*;
  
// Main class
public class GFG {
  
    // Global class variable
    static int a;
  
    // Main driver method
    public static void main(String[] args)
    {
        // Trying to prin the default value
        // assigned to variable
        System.out.println(a);
    }
}


Java
// Java Program to Print Default Value Assigned
// to Primitive Datatype
  
// Main class
public class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
        // Declaring class member variable
        // (inside a local scope)
        int a;
  
        // Trying to printing the default value assigned
        System.out.println(a);
    }
}


输出

0

输出说明:

这里' a '是一个类成员变量,或者你可以说一个实例变量,它会被编译器初始化为其默认值。

在这种情况下,将有一个错误指向变量 ' a ',变量 ' a ' 可能尚未初始化。这是因为这里的 ' a ' 是 main() 方法的局部变量,必须在使用前进行初始化。编译器永远不会为未初始化的局部变量分配默认值。如果您没有在声明变量的地方初始化它,请在使用之前为变量赋值,否则会导致编译时错误。

为了更好地理解类变量,如下所示,如下所示。

示例 2

Java

// Java Program to Print Default Value Assigned
// to Primitive Datatype
  
// Main class
public class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
        // Declaring class member variable
        // (inside a local scope)
        int a;
  
        // Trying to printing the default value assigned
        System.out.println(a);
    }
}

输出: