初学Java那阵子,最头疼的就是分不清各类基础变量,反复记混java的基本数据类型有哪些,写代码时总报数据类型不匹配的错误。

一开始偷懒不想系统梳理,随便定义变量,想用数字就瞎写类型,结果做数值运算、字符录入的练习题时,代码频繁报错,调试半天找不出问题。后来老老实实对着实操案例拆分,一点点摸清每一种基础类型的使用场景,才彻底理顺。

java的基本数据类型之数值整型

整型是日常编码里用的最多的类型,专门用来存不带小数的整数,四种整型的区别只在于取值范围和占用内存大小,适配不同数值场景。最常用的就是int,绝大多数普通整数赋值、计数、循环变量,用它完全够用,不用刻意纠结其他类型。

byte占用内存最小,只占1字节,取值范围特别窄,只有-128到127,基本不会用来存普通数值,一般只在文件读写、字节流操作的时候会用到。short占2字节,取值范围比byte大一点,但日常开发里使用率极低,几乎可以忽略。

long是长整型,占8字节,专门用来存超大整数,比如订单编号、时间戳这类超出int取值范围的数值。实操的时候必须注意,定义long类型变量,数值末尾一定要加L,不加的话程序会默认按int处理,超出范围就会直接报错溢出。

java的基本数据类型之浮点型

浮点型就是用来存储带小数点的小数,一共两种,精度差距很大,实操里踩过不少坑。

float是单精度浮点型,占4字节,精度只有6-7位有效数字,定义变量时数值末尾必须加F,不然会触发类型报错。这个类型精度不足,做金额、精密计算很容易出现误差,基本不推荐用于精准数值计算。

double是双精度浮点型,占8字节,精度能达到15-16位有效数字,是小数存储的默认类型。平时写代码定义小数,不用加任何后缀,程序默认就是double类型,日常普通小数计算、数据统计,用它完全足够。

java的基本数据类型之字符型

char类型只占2字节,专门用来存储单个字符。

使用规则很简单,变量值必须用单引号包裹,且只能放一个字符,字母、数字、符号都可以,就是不能放多个字符或者字符串。之前写错好几次,用双引号包裹字符,或者单引号里放两个字,每次编译都会直接报错,改了无数次才记住这个硬性规则。

java的基本数据类型之布尔型

boolean是最简洁的基础类型。

它只有两个取值,true和false,专门用来做逻辑判断、条件分支,不参与任何数值运算,也不能和其他数据类型互相转换。写if判断、循环条件的时候,几乎都会用到这个类型,没有复杂的取值规则,上手最简单。

折腾这么久才搞明白,Java八大基本数据类型,细分就是四类:四种整型、两种浮点型、一种字符型、一种布尔型,没有多余的衍生基础类型。

后来每次写基础变量定义,都会下意识对应类型场景,再也没出现过类型不匹配的低级错误。

睡前复盘代码的时候,随手把这八种类型的取值范围和使用规则抄在了笔记首页。