gpt4 book ai didi

java - 为什么Java的划分被打破了?

转载 作者:行者123 更新时间:2023-12-01 07:02:13 24 4
gpt4 key购买 nike

我是一名经验丰富的 php 开发人员,刚刚开始学习 Java。我目前正在学习 Lynda 的一些类(class),但我仍处于早期阶段。我正在编写示例程序,要求用户输入并进行简单的计算之类的事情。

昨天我遇到了这样的情况:

double result = 1 / 2;

以我的穴居人的大脑,我会认为结果== 0.5,但不,不是在Java中。显然 1/2 == 0.0。是的,我知道如果我将其中一个操作数更改为 double ,结果也将是 double 。

这实际上让我害怕。我不禁认为这很 splinter 。认为整数除法会得到整数的想法是非常天真的。我认为这种情况甚至很少。

但是,由于 Java 的使用非常广泛,并且正在寻找“为什么 Java 的除法被破坏?”没有产生任何结果,我可能是错的。

我的问题是:

  1. 为什么除法会这样?
  2. 我还能在哪里找到这样的魔法/巫毒/意外行为?

最佳答案

Java 是一种强类型语言,因此您应该了解表达式中值的类型。如果没有...

1int(如 2),因此 1/2 是 1 的整数除法和 2,因此结果是 0 作为 int。然后将结果转换为相应的 double 值,即 0.0

整数除法与 float 除法不同,就像数学中的那样(自然数除法与实数除法不同)。

关于java - 为什么Java的划分被打破了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41034020/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com