Java 中的8种基本数据类型

Java 中有 8 种基本数据类型,分别为:

  • 6 种数字类型:4 种整数型:byte、short、int、long2 种浮点型:float、double
  • 1 种字符类型:char
  • 1 种布尔型:boolean。

这 8 种基本数据类型的默认值以及所占空间的大小如下:

基本类型

位数

字节

默认值

取值范围

byte

8

1

0

-128 ~ 127

short

16

2

0

-32768(-2^15) ~ 32767(2^15 - 1)

int

32

4

0

-2147483648 ~ 2147483647

long

64

8

0L

-9223372036854775808(-2^63) ~ 9223372036854775807(2^63 -1)

char

16

2

'u0000'

0 ~ 65535(2^16 - 1)

float

32

4

0f

1.4E-45 ~ 3.4028235E38

double

64

8

0d

4.9E-324 ~ 1.7976931348623157E308

boolean

1


false

true、false

可以看到,像 byte、short、int、long能表示的最大正数都减 1 了。这是为什么呢?这是因为在二进制补码表示法中,最高位是用来表示符号的(0 表示正数,1 表示负数),其余位表示数值部分。所以,如果我们要表示最大的正数,我们需要把除了最高位之外的所有位都设为 1。如果我们再加 1,就会导致溢出,变成一个负数。

对于 boolean,官方文档未明确定义,它依赖于 JVM 厂商的具体实现。逻辑上理解是占用 1 位,但是实际中会考虑计算机高效存储因素。

另外,Java 的每种基本类型所占存储空间的大小不会像其他大多数语言那样随机器硬件架构的变化而变化。这种所占存储空间大小的不变性是 Java 程序比用其他大多数语言编写的程序更具可移植性的原因之一(《Java 编程思想》2.2 节有提到)。

注意:

  1. Java 里使用 long 类型的数据一定要在数值后面加上 L,否则将作为整型解析。
  2. Java 里使用 float 类型的数据一定要在数值后面加上 f 或 F,否则将无法通过编译。
  3. char a = 'h'char :单引号,String a = "hello" :双引号。

这八种基本类型都有对应的包装类分别为:Byte、Short、Integer、Long、Float、Double、Character、Boolean 。

相关文章

java基本数据类型

前言前两节对java做了一个简单的介绍以及java环境的安装,那么本节就算是基本进入到java编程的正式学习,在进行学习java编程之前我首先要认识一下java里面有哪几种数据类型。四类八种Java的...

java float精度引发的问题

最近做地图相关的项目,因为使用float导致精度损失的问题回顾:根据百度地图api标注的经纬度返回类型为float,所以字段类型也定义为float// 百度地图api返回值 {"status":0,"...

JAVA中的浮点数与二进制

先来看一段简单的代码public static void main(String[] args) { System.out.println(0.1+0.2); }打印结果如下:0.30...

Java程序员,一周Python入门:数据类型、变量、字符串和字符编码

Java程序员,一周Python入门:数据类型、变量、字符串和字符编码对比学习Java 和 Python 在数据类型、变量管理、字符串处理等方面有很大的区别,下面进行详细对比。1. 数据类型和变量1....

Java泛型全方位剖析:从入门到精通的完整指南(上篇)

Java泛型全方位剖析:从入门到精通的完整指南第一部分:引言与基础概念Java泛型是Java 5引入的重要特性,它允许类、接口和方法在定义时使用类型参数,提高了代码的类型安全性和可读性。本文将全面解析...