高分悬赏:Java语言以下表达式为什么不正确

int r = 10;
int area = 3.14 * 2r;
Sysmt.out.println(area);

2r 是数学的描述方法,省略了乘号,任何编程语言都无法识别这个运算,除非写成正确的语法 2*r 。

3.14 * 2r;是double类型,需要强转

  1. 3.14 * 2r这里。 2r应该加乘号
  2. 计算结果是double, 赋值给int会丢失精度,只剩下整数为

综上: 第二句改成 double area = 3.14 * 2 * r;

首先 2r 应该改为 2 * r
其次 3.14 默认double类型
所以 高精度的double赋值给低精度的int 需要类型转换