Java 数据类型
数据类型指定可以存储在变量中的不同大小和值。Java 中有两种类型的数据类型:
- 原始数据类型:原始数据类型包括 boolean、char、byte、short、int、long、float 和 double。
- 非基元数据类型:非基元数据类型包括 Classes、Interfaces 和 Arrays。
Java 原始数据类型
在 Java 语言中,原始数据类型是数据操作的构建块。这些是 Java 语言中可用的最基本的数据类型。
有 8 种类型的原始数据类型:
- Boolean 数据类型
- byte 数据类型
- char 数据类型
- short 数据类型
- int 数据类型
- long 数据类型
- float 数据类型
- double 数据类型
数据类型 | 默认值 | 默认大小 |
---|---|---|
boolean | false | 1 bit |
char | '\u0000' | 2 byte |
byte | 0 | 1 byte |
short | 0 | 2 byte |
int | 0 | 4 byte |
long | 0L | 8 byte |
float | 0.0f | 4 byte |
double | 0.0d | 8 byte |
Boolean 数据类型
Boolean 数据类型仅用于存储两个可能的值:true 和 false。此数据类型用于跟踪 true/false 条件的简单标志。
Boolean 数据类型指定了 1 位信息,但无法精确定义其 “size”。
例:
Boolean one = false
byte 数据类型
byte 数据类型是 primitive 数据类型的一个示例。它是一个 8 位有符号 2 的补码整数。其值范围介于 -128 到 127 之间(含)。其最小值为 -128,最大值为 127。其默认值为 0。
byte 数据类型用于在最需要节省内存的大型数组中节省内存。它节省了空间,因为字节比整数小 4 倍。它也可以用来代替 “int” 数据类型。
例:
byte a = 10, byte b = -20
Short 数据类型
short 数据类型是 16 位有符号 2 的补码整数。其值范围介于 -32,768 到 32,767(含)之间。其最小值为 -32,768,最大值为 32,767。其默认值为 0。
short 数据类型也可以像 byte 数据类型一样用于节省内存。short 数据类型比整数小 2 倍。
例:
short s = 10000, short r = -5000
Int 数据类型
int 数据类型是 32 位有符号 2 补码整数。其值范围介于 - 2,147,483,648 (-2^31) 到 2,147,483,647 (2^31 -1)(含)之间。其最小值为 - 2,147,483,648,最大值为 2,147,483,647。其默认值为 0。
int 数据类型通常用作整数值的默认数据类型,除非内存没有问题。
例:
int a = 100000, int b = -200000
Long 数据类型
long 数据类型是 64 位 2 的补码整数。其值范围介于 -9,223,372,036,854,775,808(-2^63) 到 9,223,372,036,854,775,807(2^63 -1)(含)之间。其最小值为 - 9,223,372,036,854,775,808,最大值为 9,223,372,036,854,775,807。其默认值为 0。当您需要的值范围大于 int 提供的值范围时,将使用 long 数据类型。
例:
long a = 100000L, long b = -200000L
float 数据类型
float 数据类型是单精度 32 位 IEEE 754 浮点。其值范围是无限的。如果需要在大型浮点数数组中节省内存,建议使用 float (而不是 double)。float 数据类型绝不应用于精确值,例如 currency。其默认值为 0.0F。
例:
float f1 = 234.5f
Double 数据类型
double 数据类型是双精度 64 位 IEEE 754 浮点。其值范围是无限的。double 数据类型通常用于十进制值,就像 float 一样。double 数据类型也绝不应用于精确值,例如 currency。其默认值为 0.0d。
例:
double d1 = 12.3
Char 数据类型
char 数据类型是单个 16 位 Unicode 字符。它的值范围介于 '\u0000' (或 0) 到 '\uffff' (或 65,535 之间)。char 数据类型用于存储字符。
例:
char letterA = 'A'
为什么 char 在 java 中使用 2 字节,什么是 \u0000 ?
这是因为 java 使用 Unicode 系统而不是 ASCII 码系统。\u0000 是 Unicode 系统的最低范围。要获取有关 Unicode 的详细说明,请访问下一页。