java 基本数据类型共有八种,分为布尔型、字符型、整数型和浮点型。选择使用时应遵循“够用且高效”原则:默认优先使用 int 和 double;内存敏感或需精确计算时分别选用 long/`biginteger` 和 `bigdecimal`;表示状态用 boolean,处理文本用 char。

整数类型中 int 与 long 的内存差异是什么
在 Java 中,int 占用 4 字节(32位),范围约为 ±21亿;long 占用 8 字节(64位),范围极大。若数值未超出 int 范围却使用 long,会浪费内存并可能增加 GC 压力。

public class IntVsLong {
public static void main(String[] args) {
int i = 100;
long l = 100L;
System.out.println("Int size: " + Integer.BYTES);
System.out.println("Long size: " + Long.BYTES);
}
}
浮点数 double 与 float 的精度区别在哪里
double 是双精度(64位),float 是单精度(32位)。日常开发中除非明确需要节省内存或调用特定 API,否则一律使用 double 以避免精度丢失。
立即学习“Java免费学习笔记(深入)”;

public class FloatPrecision {
public static void main(String[] args) {
float f = 0.1f;
double d = 0.1;
System.out.println(f == 0.1); // false
System.out.println(d == 0.1); // true
}
}
当输入为负数时 byte 类型的溢出表现如何
byte 范围为 -128 到 127。若对 byte 进行算术运算,Java 会自动提升为 int,因此不会发生运行时溢出,但赋值回 byte 时需强制转换,高位截断可能导致逻辑错误。


















