在 Java 中,基本数据类型分为四大类,共八种。下面为你详细介绍每种基本数据类型及其所占字节数:
整数类型
整数类型用于表示整数数值,根据取值范围和所占字节数不同分为以下几种:
| 数据类型 | 字节数 | 取值范围 | 示例 |
| ---- | ---- | ---- | ---- |
| byte
| 1 字节(8 位) | -128(-2^7) 到 127(2^7 - 1) | byte num = 10;
|
| short
| 2 字节(16 位) | -32768(-2^15) 到 32767(2^15 - 1) | short num = 1000;
|
| int
| 4 字节(32 位) | -2147483648(-2^31) 到 2147483647(2^31 - 1) | int num = 100000;
|
| long
| 8 字节(64 位) | -9223372036854775808(-2^63) 到 9223372036854775807(2^63 - 1) | long num = 10000000000L;
注意:定义 long
类型变量时,需要在数值后面加 L
或 l
,建议使用大写 L
以避免与数字 1 混淆。 |
浮点类型
浮点类型用于表示带小数部分的数值,分为单精度和双精度两种:
| 数据类型 | 字节数 | 取值范围 | 示例 |
| ---- | ---- | ---- | ---- |
| float
| 4 字节(32 位) | 大约 ±3.40282347E+38F(有效位数大约为 6 - 7 位) | float num = 3.14F;
注意:定义 float
类型变量时,需要在数值后面加 F
或 f
。 |
| double
| 8 字节(64 位) | 大约 ±1.79769313486231570E+308(有效位数大约为 15 位) | double num = 3.14159;
Java 中默认的浮点型字面量为 double
类型。 |
字符类型
字符类型用于表示单个字符,采用 Unicode 编码:
| 数据类型 | 字节数 | 取值范围 | 示例 |
| ---- | ---- | ---- | ---- |
| char
| 2 字节(16 位) | 0 到 65535 | char ch = 'A';
可以使用单引号来表示字符,也可以使用 Unicode 编码值来表示字符,如 char ch = '\u0041';
表示字符 A
。 |
布尔类型
布尔类型用于表示逻辑值,只有两个取值:true
和 false
。
| 数据类型 | 字节数 | 取值范围 | 示例 |
| ---- | ---- | ---- | ---- |
| boolean
| 规范未明确规定具体字节数,不同 JVM 实现可能不同,一般认为占 1 位,但在内存中通常以 1 字节存储 | true
或 false
| boolean isTrue = true;
|
以下是一个包含所有基本数据类型定义的 Java 代码示例:
public class BasicDataTypes {
public static void main(String[] args) {
// 整数类型
byte byteNum = 10;
short shortNum = 1000;
int intNum = 100000;
long longNum = 10000000000L;
// 浮点类型
float floatNum = 3.14F;
double doubleNum = 3.14159;
// 字符类型
char charCh = 'A';
// 布尔类型
boolean boolValue = true;
System.out.println("byte: " + byteNum);
System.out.println("short: " + shortNum);
System.out.println("int: " + intNum);
System.out.println("long: " + longNum);
System.out.println("float: " + floatNum);
System.out.println("double: " + doubleNum);
System.out.println("char: " + charCh);
System.out.println("boolean: " + boolValue);
}
}
上述代码定义了各种基本数据类型的变量,并将它们的值输出到控制台。