全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📅 2026-05-07 7 分钟 ✍️ juanwangdev

Java 类型转换

Java 是强类型语言,不同类型之间转换需遵循特定规则。

自动类型转换(隐式)

从小类型到大类型自动转换,无需额外代码。

Java
int i = 100;
long l = i;      // int → long,自动转换
double d = i;    // int → double,自动转换

// 转换顺序:byte → short → int → long → float → double
//           char → int → long → float → double

强制类型转换(显式)

从大类型到小类型需强制转换,可能丢失精度。

Java
double d = 3.14;
int i = (int) d;    // 强制转换,i = 3

long l = 1000L;
int j = (int) l;    // 强制转换

精度丢失示例

Java
int i = 300;
byte b = (byte) i;  // b = 44,溢出截断

double d = 9.99;
int n = (int) d;    // n = 9,小数丢失

表达式类型提升

混合运算时,结果自动提升为较大类型。

Java
byte a = 10;
int b = 20;
long c = 30L;
long result = a + b + c;  // 结果为 long 类型

byte、short、char 在运算时自动提升为 int。

常见问题

Java
int a = 10;
int b = 3;
double result = a / b;      // result = 3.0,整数除法

double result2 = a * 1.0 / b; // result2 = 3.333...,正确做法

要点总结

  • 小类型→大类型:自动转换
  • 大类型→小类型:强制转换,可能丢失精度
  • 运算时类型自动提升

📝 发现内容有误?点击此处直接编辑

← 上一篇 Java 常量与final关键字
下一篇 → static关键字
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库