在 Java 中,double(双精度浮点数)有多种初始化和赋值方式。下面按常见场景给你一个完整说明。
double a = 3.14;
double b = -0.001;
double c = 10.0;
✅ Java 中 小数默认是
double类型
double d = 1.23e4; // 12300.0
double e = 5.6E-3; // 0.0056
D / d 后缀(可选)double f = 3.14d;
double g = 3.14D;
虽然不强制,但有时为了可读性会写
Double 包装类Double x = 3.14;
Double y = new Double(3.14); // ⚠️ 已过时(Java 9+)
✅ 推荐写法
Double z = Double.valueOf(3.14);
double inf = Double.POSITIVE_INFINITY;
double ninf = Double.NEGATIVE_INFINITY;
double nan = Double.NaN;
double a = 0.0 / 0.0; // NaN
Double.parseDoubledouble d = Double.parseDouble("3.14");
Double.valueOfDouble d = Double.valueOf("3.14");
class Test {
double a; // 默认 0.0
static double b; // 默认 0.0
}
⚠️ 局部变量 不会默认初始化,必须赋值
double x;
System.out.println(x); // ❌ 编译错误
double d = 3.14f; // ✅ 可以,但不推荐
| 方式 | 示例 |
|---|---|
| 直接赋值 | double a = 1.23; |
| 科学计数法 | double b = 1.2e3; |
| 包装类 | Double d = 1.23; |
| 特殊值 | Double.NaN |
| 字符串转 double | Double.parseDouble("1.23") |
如果你是想用在 高精度计算 / 金额计算 / 精度问题 场景,也可以告诉我,我可以帮你选合适的写法(例如 BigDecimal)。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。