# Java 中的数据类型

> 原文： [https://beginnersbook.com/2017/08/data-types-in-java/](https://beginnersbook.com/2017/08/data-types-in-java/)

**数据类型**定义变量可以采用的值，例如，如果变量具有`int`数据类型，则它只能采用整数值。在 java 中，我们有两类数据类型：1）原始数据类型 2）非原始数据类型 - 数组和字符串是非原始数据类型，我们将在后面的教程中讨论它们。这里我们将讨论 Java 中的原始数据类型和字面值。

Java 是一种静态类型语言。如果在编译时已知变量的数据类型，则静态类型化语言。这意味着您必须先指定变量的类型（声明变量），然后才能使用它。

在上一篇关于 [Java 变量](https://beginnersbook.com/2017/08/variables-in-java/)的教程中，我们学会了如何声明一个变量，让我们回想一下：

```java
int num;
```

因此，为了在程序中使用变量`num`，我们必须首先声明它，如上所示。在程序开头声明所有变量（您将要使用的）是一种很好的编程习惯。

## 1）原始数据类型

在 Java 中，我们有八种原始数据类型：`boolean`，`char`，`byte`，`short`，`int`，`long`，`float`和`double`。 Java 开发人员包含这些数据类型以维护 java 的可移植性，因为这些原始数据类型的大小不会从一个操作系统更改为另一个操作系统。

**`byte`**，**`short`**， **`int`** 和**`long`**数据类型用于存储整数。

**`float`** 和 **`double`** 用于分数。

**`char`** 用于存储字符（字母）。

**`boolean`** 数据类型用于包含`true`或`false`的变量。

### 字节：

这可以保持-128 到 127 之间的整数。主要用于节省内存，当您确定数字将在字节数据类型指定的限制内时。

此数据类型的默认大小：1 个字节。

默认值：0

示例：

```java
class JavaExample {
    public static void main(String[] args) {

    	byte num;

    	num = 113;
    	System.out.println(num);
    }
}
```

输出：

```java
113
```

> 通过为变量`num`分配值 150 来尝试相同的程序，您将得到**类型不匹配**错误，因为值 150 超出了字节数据类型的范围。我上面提到的字节范围是-128 到 127。

### 短整数：

这在大小方面大于字节且小于整数。其范围是-32,768 到 32767。

此数据类型的默认大小：2 个字节

```java
short num = 45678;
```

**`int`** ：当`short`不足以容纳数字时使用，它有更宽的范围：-2,147,483,648 到 2,147,483,647

默认大小：4 字节

默认值：0

示例：

```java
class JavaExample {
    public static void main(String[] args) {

    	short num;

    	num = 150;
    	System.out.println(num);
    }
}
```

输出：

```java
150
```

字节数据类型不能保持值 150，但短数据类型可以因为它具有更宽的范围。

## 长整数：

当`int`不足以容纳该值时使用，它具有比`int`数据类型更宽的范围，范围从-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。

大小：8 字节

默认值：0

示例：

```java
class JavaExample {
    public static void main(String[] args) {

    	long num = -12332252626L;
    	System.out.println(num);
    }
}
```

输出：

```java
-12332252626
```

**`double`** ：足以容纳 15 位十进制数

大小：8 字节

示例：

```java
class JavaExample {
    public static void main(String[] args) {

    	double num = -42937737.9d;
    	System.out.println(num);
    }
}
```

输出：

```java
-4.29377379E7
```

**`float`** ：足以容纳 6 到 7 个十进制数

大小：4 个字节

```java
class JavaExample {
    public static void main(String[] args) {

    	float num = 19.98f;
    	System.out.println(num);
    }
}
```

输出：

```java
19.98
```

**`boolean`** ：保存`true`或`false`。

```java
class JavaExample {
    public static void main(String[] args) {

    	boolean b = false;
    	System.out.println(b);
    }
}
```

输出：

```java
false
```

**`char`** ：持有字符。

大小：2 个字节

```java
class JavaExample {
    public static void main(String[] args) {

    	char ch = 'Z';
    	System.out.println(ch);
    }
}
```

输出：

```java
Z
```

## Java 中的字面值

字面值是我们分配给程序中的变量的固定值。

```java
int num=10;
```

这里的值 10 是整数字面值。

```java
char ch = 'A';
```

这里`A`是一个字符字面值

### 整数字面值

整数字面值分配给数据类型`byte`，`short`，`int`和`long`的变量。

```java
byte b = 100;
short s = 200;
int num = 13313131;
long l = 928389283L;
```

### 浮点字面值

用于数据类型`float`和`double`。

```java
double num1 = 22.4;
float num2 = 22.4f;
```

注意：始终使用`f`后缀浮点值，否则编译器会将其视为`double`。

### 字符和字符串字面值

用于`char`和`String`类型。

```java
char ch = 'Z';
String str = "BeginnersBook";

```

在继续下一个主题之前，查看这些[基本 java 程序](https://beginnersbook.com/2017/09/java-examples/)：

1.  [Java 程序：添加两个数字](https://beginnersbook.com/2017/09/java-program-to-add-two-numbers/)
2.  [Java 程序：乘以两个数字](https://beginnersbook.com/2017/09/java-program-to-multiply-two-numbers/)
3.  [Java 程序：读取数字（由用户输入）](https://beginnersbook.com/2017/09/java-program-to-read-integer-value-from-the-standard-input/)