Java 编程语言支持八种基本数据类型。基本数据类型由语言预定义并由保留关键字命名。
八种基本数据类型
-
byte:
byte
数据类型是一个 8 位有符号二进制补码整数。它的最小值为 -128,最大值为 127。数据类型byte
用于在大型数组中节省内存。是网络编程或I/O编程时的基本操作单位。 -
short:
short
数据类型是 16 位有符号二进制补码整数。它的最小值为 -32,768,最大值为 32,767(含)。与byte
一样,适用相同的准则:在节省内存的情况下,可以使用short
在大型数组中节省内存。 - int:默认情况下,
int
数据类型为 32 位有符号二进制补码整数,最小值为 -2^31,最大值为 2^31 -1。在 Java SE 8 及更高版本中,可以使用int
数据类型来表示无符号的 32 位整数,其最小值为 0,最大值为 2^32 -1。使用 Integer 类将int
数据类型用作无符号整数。 -
long:
long
数据类型是 64 位二进制补码整数。有符号长整数的最小值为 -2^63,最大值为 2^63 -1。在 Java SE 8 及更高版本中,可以使用long
数据类型来表示无符号的 64 位长整数,其最小值为 0,最大值为 2^64 -1。 -
float:
float
数据类型是单精度 32 位浮点数。在工程中很少使用。 -
double:
double
数据类型是双精度 64 位浮点数。对于十进制值,此数据类型通常是默认选择。 -
boolean:
boolean
数据类型只有两个可能的值:true
和false
。此数据类型是真/假条件的简单标志。 -
char:
char
数据类型是单个 16 位 Unicode 字符。它的最小值为'\u0000'
(或 0),最大值为'\uffff'
(或 65,535)。
数据类型 | 默认值 |
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
char | '\u0000' |
boolean | false |
八种常用引用数据类型
数据类型 | 包装类 |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
- 当存储大数据时,可采用BigInteger类来存储,也可以使用字符串类String来存储。
- 若对精度要求特别严格,可以使用BigDecimal类来存储小数。
- 在基本类型中,除boolean类型外的其他数据类型可以进行转换,但当占用空间大的数据类型转换为占用空间小的数据类型,会存在精度丢失。
在网上看到的一段对long型数据进行强制类型转换的代码,曾经学C/C++的时候考虑过这种问题,没有深究,做了个判断就提交了代码,今天看到这个包装类,感觉确实方便,所以记录下来
double divider = 1000;
List<Long> listLong = new ArrayList<>();
listLong.add(1500L);
listLong.add(8000L);
for (Long val : listLong)
{
System.out.println((val/ divider));
}
ans:
1.5
8.0
public static void main(String[] args) {
DecimalFormat dcf= new DecimalFormat("#.#");
Long distance = 1500L;
Long distance2 = 8000L;
double divider = 1000;
System.out.println(dcf.format(distance / divider));
System.out.println(dcf.format(distance2 / divider));
}
ans:
1.5
8