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

问题描述 投票:0回答:1

我一直在学习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);

现在它正在工作!

好吧,我知道了,但是为什么这实际上没有奏效?我在做什么错?

谢谢你!

java math operators
1个回答
0
投票

由原始提问者发布。

我正在对两个整数进行除法。我应该在两个双打或浮点数上进行此操作:

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

并且因为我们可以缩短双精度数1.0-> 1.,所以我们可以缩短它:

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

谢谢您的回答! (尤其是注释中的Namannjzk2FredK。)

© www.soinside.com 2019 - 2024. All rights reserved.