跳到主要内容
Java 数据类型、运算符与方法核心要点总结 | 极客日志
Java java
Java 数据类型、运算符与方法核心要点总结 Java 数据类型分为基本与引用两类,涵盖八种基本类型及其默认值、取值范围。重点解析了包装类装箱拆箱机制、BigDecimal 解决浮点精度问题、算术与位运算符特性、方法重载规则及参数传递原理。针对 int 与 long 转换溢出风险、== 与 equals 区别、短路求值等常见考点进行梳理,帮助开发者夯实基础并规避潜在陷阱。
时间旅人 发布于 2026/3/24 更新于 2026/4/25 1 浏览一、数据类型
在 Java 中,数据类型主要分为 基本数据类型 和 引用数据类型 。
1.1 基本数据类型
基本数据类型共有四类八种:
整型:byte, short, int, long
浮点型:float, double
字符型:char
布尔型:boolean
八种基本数据类型的位数、取值范围和默认值如下表:
数据类型 占用大小(字节) 位数 取值范围 默认值 描述 byte 1 8 -128(-2⁷)到 127(2⁷-1) 0 最小的整数类型,适合用于节省内存的场景 short 2 16 -32768(-2¹⁵)到 32767(2¹⁵-1) 0 较少使用,通常用于需要节省内存且数据范围在该区间的场景 int 4 32 -2147483648(-2³¹)到 2147483647(2³¹-1) 0 最常用的整数类型,是 Java 中表示整数的默认类型 long 8 64 -9223372036854775808(-2⁶³)到 9223372036854775807(2⁶³-1) 0L 用于表示非常大的整数,定义时需要在数值后加上 L 或 l float 4 32 1.4E - 45 到 3.4028235E38 0.0F 单精度浮点数,定义时需要在数值后加上 F 或 f double 8 64 4.9E - 324 到 1.7976931348623157E308 0.0D 双精度浮点数,精度比 float 高,是 Java 中表示小数的默认类型 char 2 16 '\u0000'(0)到 '\uffff'(65535) '\u0000' 用于表示单个字符,采用 Unicode 编码 boolean 无明确字节大小 无明确位数 true 或 false false 用于逻辑判断,只有两个取值
需要注意以下几点:
与 C/C++ 不同,无论在 16 位还是 32 位系统,int 都占 4 字节,long 都占 8 字节。
整型和浮点型默认都是有符号的。
整型数据默认是 int,浮点型数据默认是 double。
定义 float 变量时,赋值数字后需加 f,否则被视为 double。
类型使用 Unicode 编码,可存放整型数据和中文字符。
char
boolean 类型不可与 int 转换,不存在 "1 表示 true" 的情况。考点解析 :int 和 long 的位数与字节数常考。int 为 32 位/4 字节,最大值约 21 亿;long 为 64 位/8 字节,范围更大。处理大文件传输等场景时,若用 int 可能溢出,应改用 long。
考点解析 :long 和 int 可以互相转换。int 转 long 是自动提升,不会丢失数据;long 转 int 需强制转换 (int),可能因截断导致溢出。
考点解析 :数据类型转换方式包括自动类型转换(隐式)、强制类型转换(显式)、字符串转换及包装类转换。小范围转大范围自动完成,大范围转小范围需手动且注意精度损失。
1.2 引用数据类型 引用数据类型存储的是地址,主要包括字符串、基本数据类型的包装类和 BigDecimal。
字符串
int num = 10 ;
String str1 = num + "" ;
String str2 = String.valueOf(num);
String str = "100" ;
int n = Integer.parseInt(str);
包装类 集合类要求元素必须是对象,而基本类型不是,因此设计了包装类。
基本数据类型 对应包装类 byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean
除 int 和 char 外,其他包装类名均为原类型首字母大写。包装类是引用类型,值可以为 null,而基本类型不可以。
int i = 10 ;
Integer objInt = i;
int j = objInt;
考点解析 :自动装箱拆箱在 Java 1.5+ 支持,编译器会在赋值和方法调用时自动处理。但在循环等高频场景中需注意性能开销。
考点解析 :Integer 相比 int 的优点在于封装了操作数据的方法(如 parseInt),可用于集合和泛型,且作为成员变量默认为 null,能明确表示缺失值。但 int 性能更高,占用内存更少。
考点解析 :Integer 有缓存机制。通过 valueOf() 或自动装箱创建对象时,-128 到 127 范围内的值会复用缓存池实例,提升效率。
BigDecimal 浮点数 float 和 double 存在精度问题,涉及资金计算时应使用 BigDecimal。
import java.math.BigDecimal;
BigDecimal a = new BigDecimal ("11.1" );
BigDecimal b = new BigDecimal ("0.8" );
System.out.println(b.multiply(a));
考点解析 :计算机二进制无法精确表示十进制小数(如 0.1),连续计算会累积误差。BigDecimal 采用十进制整数 + 缩放比例结构,保证精度。
二、运算符
2.1 算术运算符 包括四则运算(+ - * / %)、增量运算(+= -= *= /= %=)和自增自减(++ --)。
int a = 20 , b = 10 ;
System.out.println(a + b);
System.out.println(a / b);
System.out.println(a % b);
System.out.println(a += b);
System.out.println(a++);
System.out.println(++a);
除法运算中,int 除以 int 结果仍为 int(舍去小数)。
取模运算右操作数不能为 0,可对浮点数进行。
混合运算时,结果向范围大的类型转型。
2.2 关系运算符 主要有 == != < > <= >=,结果为布尔值。
int a = 10 , b = 20 ;
System.out.println(a == b);
考点解析 :== 比较基本类型看数值,比较引用类型看地址;equals() 方法源自 Object 类,常被重写用于比较内容。
2.3 逻辑运算符 主要有 && || !。&& 和 || 具有短路特性:当左侧能确定结果时,右侧不再执行。
2.4 位运算符 包括 & | ~ ^。按二进制位运算,& 和 | 不支持短路求值。
2.5 移位运算符
<<:左移,低位补 0,相当于乘 2 的 N 次方。
>>:右移,高位补符号位(正数补 0,负数补 1)。
>>>:无符号右移,高位始终补 0。
2.6 条件运算符 三目运算符 表达式 1 ? 表达式 2 : 表达式 3,根据条件返回不同值。
三、方法
3.1 方法的定义 修饰符 返回值类型 方法名称 ([参数类型 形参 ...]) {
方法体代码;
[return 返回值];
}
public static boolean isLeapYear (int year) {
if ((year % 4 == 0 && year % 100 != 0 ) || year % 400 == 0 ) {
return true ;
} else {
return false ;
}
}
考点解析 :形参是实参的拷贝。对于基本类型,修改形参不影响实参;对于引用类型(如数组),修改对象内容会影响实参。
public static void swap (int [] arr) {
int t = arr[0 ];
arr[0 ] = arr[1 ];
arr[1 ] = t;
}
3.2 方法重载 方法重载指同一个类中方法名相同但参数列表不同(个数、类型、顺序)。返回值类型不作为重载依据。
相关免费在线工具 Keycode 信息 查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
Escape 与 Native 编解码 JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
JavaScript / HTML 格式化 使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
JavaScript 压缩与混淆 Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
Base64 字符串编码/解码 将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
Base64 文件转换器 将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online