Java有8种基本数据类型:整数型(byte、short、int、long)、浮点型(float、double)、字符型(char)和布尔型(boolean),它们非对象、高性能,适用于高频计算与底层逻辑。

Java基本数据类型是程序开发的基石,直接决定内存使用、运算效率和代码可读性。它们不是对象,不继承自Object,也不具备方法,但性能高、开销小,适合高频计算和底层逻辑。
八种基本类型及其典型用途
Java共定义8种基本数据类型,分为四类:
-
整数类型:byte(-128~127)、short(-32768~32767)、int(默认,常用)、long(大数或时间戳,如
System.currentTimeMillis()) - 浮点类型:float(单精度,节省内存但精度低)、double(双精度,科学计算和日常小数首选)
-
字符类型:char(16位Unicode字符,如
'A'、'中',注意用单引号) -
布尔类型:boolean(仅
true或false,不能与0/1互转,不可参与算术运算)
声明、初始化与隐式/显式转换规则
基本类型变量必须先声明再使用,支持直接字面量赋值:
int count = 100;
double price = 29.99;
char grade = 'B';
boolean isActive = true;
立即学习“Java免费学习笔记(深入)”;
本文档主要讲述的是mybatis语法和介绍;MyBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架。MyBatis 摒除了大部分的JDBC代码、手工设置参数和结果集重获。MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型、Map 接口和POJO 到数据库记录。相对Hibernate和Apache OJB等“一站式”ORM解决方案而言,Mybatis 是一种“半自动化”的ORM实现。感兴趣的朋友可
类型转换需注意:
- 小范围→大范围自动转换(如
byte → int → long → double),安全无损 - 大范围→小范围需强制转换(如
int i = (short) 30000;),可能截断或溢出 - float/double 转整数会直接截去小数部分(非四舍五入)
- char 可与 int 混合运算(本质是ASCII/Unicode码值),如
'a' + 1结果为98
基本类型与包装类的关键区别
每种基本类型对应一个包装类(如int ↔ Integer),区别在于:
- 基本类型存栈或作为对象字段存堆;包装类实例始终在堆上,有额外对象开销
- 基本类型默认值明确(如
int为0,boolean为false);包装类引用默认为null - 集合(如
ArrayList)只能存对象,所以自动装箱(int → Integer)会发生,但频繁装箱/拆箱影响性能 - 比较时:
==对基本类型比数值,对包装类比地址(除非在-128~127缓存范围内,Integer等可能复用对象)
实际编码中的注意事项
写代码时容易忽略但影响稳定性的细节:
- 避免用
float做精确计算(如金额),改用BigDecimal或按“分”用long存储 - long字面量末尾加
L(如10000000000L),否则超int范围会编译报错 - boolean不参与任何数值运算,
if (flag == true)应简化为if (flag) -
switch语句支持
byte、short、char、int及String、枚举,但不支持long或double
基本上就这些。掌握基本类型的边界、转换逻辑和适用场景,能帮你写出更高效、更少bug的Java代码。









