Java为什么不能正确计算此计算?

时间:2020-03-28 19:40:50

标签: java math operators

我一直在学习JavaScript,然后是Python,然后是C ++,但是现在我开始学习Java。

我编写了一个非常简单的代码:

public class MyClass
{
    public static void main(String[] args)
    {
        System.out.println(1 + 1 / 2);
    }
}

,这是错误的!返回1。

我尝试了另一种方式(如果有区别):

double x = 1 + 1 / 2;
System.out.println(x);

没有成功。

让我们尝试另一种方式吧!

double x = 1 + Math.pow(2, -1);
System.out.println(x);

现在它正在工作!

好的,我知道了,但是为什么这实际上没有奏效?我怎么了?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

由原始提问者发布,这就是为什么它以“ I”形式编写的原因。 (我在做...)

我正在对两个整数进行除法。我应该在两个双打或浮点数上做到这一点:

System.out.println(1.0 + 1.0 / 2.0);

由于我们可以将double缩短为1.0-> 1.,因此可以缩短:

System.out.println(1.+1./2.);

谢谢您的回答! (尤其是评论中的Namannjzk2FredK。)