Java 数据类型完整专业讲解
Java 数据类型分为两大类基本数据类型原生类型 primitive、引用数据类型reference。Java 是强类型语言所有变量声明必须指定类型类型一旦确定不可随意转换。一、基本数据类型8种存值在栈内存共四类整数、浮点、字符、布尔无对象、无方法占用固定字节。1. 整数类型4种有符号类型字节取值范围说明byte1字节(-128~127)小范围数值、文件字节读取short2字节(-32768~32767)较少使用int4字节-2³¹ ~ 2³¹-1默认整数类型最常用long8字节-2⁶³ ~ 2⁶³-1大数字面量后缀加L/linta100;longb9999999999L;2. 浮点类型2种小数类型字节精度说明float4字节6~7位小数后缀加F/fdouble8字节15~16位小数默认浮点类型floatf3.14F;doubled2.718;注意浮点存在精度丢失金融计算用BigDecimal。3. 字符型 char2字节存储 Unicode 字符范围\u0000 ~ \uFFFF单引号包裹单个字符可存汉字、转义字符charc1A;charc2中;charc3\n;//换行转义符4. 布尔型 boolean仅2个值true / false内存无固定标准不能和数字互相转换booleanflagtrue;二、引用数据类型存地址栈存引用堆存实际对象类 Class自定义类、String、包装类等接口 Interface数组 Array枚举 Enum记录 RecordJava16特点变量存储对象内存地址不是真实数值默认初始值null拥有方法、属性可调用使用new在堆中创建实例。StringstrnewString(java);int[]arrnewint[5];三、包装类基本类型 ↔ 对象桥梁8种基本类型对应8个包装类位于java.lang支持自动装箱/拆箱byte→Byte、short→Short、int→Integer、long→Longfloat→Float、double→Double、char→Character、boolean→Boolean//装箱基本→对象Integernum10;//拆箱对象→基本intnnum;四、类型转换规则1. 自动转换隐式小→大byte → short → int → long → float → doublechar 可直接转 int。2. 强制转换显式大→小可能丢失精度doublex3.99;inty(int)x;// y3小数截断五、核心区别基本类型 vs 引用类型存储位置基本在栈引用栈存地址对象在堆默认值基本有默认0/false引用默认null内存开销基本固定字节引用伴随对象开销比较判断基本用比数值引用比地址equals()比内容传参机制均为值传递基本传数值副本引用传地址副本六、面试核心要点8种基本类型熟记字节与范围String 是引用类型不是基本类型boolean 不能和数字转换浮点不适合高精度财务运算自动装箱缓存池Integer(-128~127)复用对象局部基本变量无默认值必须手动赋值才能使用。