写点什么

Java 中三大类数据类型

作者:迷篱
  • 2022 年 6 月 02 日
  • 本文字数:774 字

    阅读完需:约 3 分钟

字符型

char

布尔型

boolean

数值型

1.整型:byte、short、int、long

2.浮点型:float、double

String 不是基本数据类型,是引用类型。

整型中 byte 、 short 、 int 、 long 的取值范围

Java 中的整型主要包含 byte、short、int 和 long 这四种,表示的数字范围也是从小到大的,之所以表示范围不同主要和他们存储数据时所占的字节数有关。

先来个简答的科普,1 字节=8 位(bit)。java 中的整型属于有符号数。

先来看计算中 8bit 可以表示的数字: 最小值:10000000 (-128)(-2^7) 最大值:01111111(127)(2^7-1) 具体计算方式参考:

Java 中,为什么 byte 类型的取值范围为-128~127?

整型的这几个类型中:

byte:byte 用 1 个字节来存储,范围为-128(-2^7)到 127(2^7-1),在变量初始

化的时候,byte 类型的默认值为 0。

short:short 用 2 个字节存储,范围为-32,768 (-2^15)到 32,767 (2^15-1),

在变量初始化的时候,short 类型的默认值为 0,一般情况下,因为 Java 本身转型的原因,

可以直接写为 0。

int:int 用 4 个字节存储,范围为-2,147,483,648 (-2^31)到 2,147,483,647 (2

^31-1),在变量初始化的时候,int 类型的默认值为 0。

long:long 用 8 个字节存储,范围为-9,223,372,036,854,775,808 (-2^63)

到 9,223,372,036, 854,775,807 (2^63-1),在变量初始化的时候,long 类型的默认值

为 0L 或 0l,也可直接写为 0。

上面说过了,整型中,每个类型都有一定的表示范围,但是,在程序中有些计算会导致

超出表示范围,即溢出。如以下代码:

int i = Integer.MAX_VALUE;

int j = Integer.MAX_VALUE;

int k = i + j;

System.out.println("i (" + i + ") + j (" + j + ") = k (" + k + ")");

输出结果:i (2147483647) + j (2147483647) = k (-2)

这就是发生了溢出,溢出的时候并不会抛异常,也没有任何提示。所以,在程序中,使

用同类型的数据进行运算的时候,一定要注意数据溢出的问题。


用户头像

迷篱

关注

还未添加个人签名 2022.06.01 加入

还未添加个人简介

评论

发布
暂无评论
Java 中三大类数据类型_迷篱_InfoQ写作社区