💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# Java 中的数据类型 > 原文: [https://javabeginnerstutorial.com/core-java-tutorial/data-types-in-java/](https://javabeginnerstutorial.com/core-java-tutorial/data-types-in-java/) Java 是一种静态类型的语言,这意味着必须先声明所有变量,然后才能使用它们。 这意味着变量的名称和类型必须先定义,然后才能在代码中使用。 ```java boolean bool = true; ``` 通过编写上面的行,我们告诉程序创建了一个名为`boolean`的布尔类型的变量,其默认值为`true`。 Java 有 8 种原始数据类型。 ## 不同的原始数据类型 Java 支持以下提到的原始数据类型。 | | 原始类型 | 默认值 | 包装类 | | --- | --- | --- | --- | | | `boolean` | `false` | `Boolean` | | | `char` | `\u0000` | `Char` | | 整数 | `byte` | `(byte)0` | `Byte` | | | `short` | `(short)0` | `Short` | | | `int` | `0` | `Integer` | | | `long` | `0l` | `Long` | | 浮点 | `float` | `0.0` | `Float` | | | `double` | `0.0d` | `Double` | ### `boolean` 布尔数据类型用`boolean`关键字声明。 它只有两个可能的值:`true`和`false`。 此数据类型可用于简单标记目的,以跟踪真/假条件。 ### `char` `char`数据类型是单个 16 位 Unicode 字符。 最小值为`'\u0000'`(或 0),最大值为`'\uffff'`(或 65,535(含))。 ### `byte` 字节数据类型用`byte`关键字声明。 它的最小值可以为 -128,最大值可以为 127(含)。 默认值为 0。如果假定变量在给定范围内包含较小的值,则可以使用字节数据类型代替`int`。 它有两个目的 * 以字节节省空间是 8 位有符号整数,比`int`小 4 倍 * 它们的限制有助于澄清您的代码,变量范围有限的事实可以作为文档的一种形式。 ### `short` `short`数据类型可以使用`short`关键字声明。 `short`数据类型是 16 位带符号的二进制补码整数。 其值介于 -32,768 到 32,767(含)之间。 它的默认值为 0。当变量的值介于范围之间时,可以使用`short`数据类型代替`int`。 如上所述,它将用于两个目的。 ### `int` 默认情况下,`int`数据类型是 32 位**带符号的**(`+/-`)二进制补码整数,最小值为`-2^31 `,最大值为`2^31-1`。 在 Java SE 8 和更高版本中,您可以使用`int`数据类型表示**无符号**(`+`)32 位整数,其最小值为 0,最大值为`2^32-1`。 请注意,即使在 Java 8 中,`int`也是带符号的。 但是有些方法将它们视为无符号,但是无法在 Java 8 或更高版本中声明`Unsigned int`。 尝试打印以下代码以获得`int`支持的最小值和最大值。 这些值可以分配给变量。 * `Inetegr.MAX_VALUE` * `Inetegr.MIN_VALUE` ### `long` `long`数据类型是 64 位二进制补码**整数**。 有符号长号的最小值为`-2^63`,最大值为`2^63-1`。 用简单的方式,您可以说它是`int`的增强版本。 当您需要的值范围比`int`提供的值宽时,应使用此数据类型。 在 Java 8 及更高版本中,您可以使用`long`数据类型表示无符号的 64 位长,其最小值为 0,最大值为`2^64-1`。 请注意,即使在 Java 8 中,`long`也是带符号的。 但是,有些方法将它们视为无符号。 `compareUnsigned`和`divideUnsigned`是`Long`包装器类中的一些方法,支持无符号`long`的算术运算。 有关`Unsigned Int`或`Long`的更多详细信息,可以在[这里找到](https://blogs.oracle.com/darcy/unsigned-integer-arithmetic-api-now-in-jdk-8)。 ### `float` `float`数据类型是单精度(32 位)IEEE 754 浮点。 当您需要小数部分但不需要很高的精度时,`float`类型的变量很有用。 在单精度中,小数部分使用 23 位。 此数据类型可用于常规的日常计算。 ### `double` `double`数据类型是双精度(64 位)IEEE 754 浮点数。 它是浮点数,精度更高。 在双精度中,小数部分使用 52 位。 由于双精度比单精度需要更多的内存,因此不建议将其用于正常计算。 它主要用于科学计算。