我是一位经验丰富的php开发人员,刚刚开始学习Java.我现在正在学习一些Lynda课程,而且我还处于早期阶段.我正在编写示例程序,要求用户输入并进行简单的计算和处理.
昨天我遇到了这种情况:
double result = 1 / 2;
Run Code Online (Sandbox Code Playgroud)
有了我的穴居人脑,我会想result == 0.5,但不,不是用Java.显然1 / 2 == 0.0.是的,我知道如果我将其中一个操作数更改为double,结果也将是double.
这实在让我感到害怕.我不禁想到这是非常破碎的.认为整数除法产生整数是非常天真的.我认为这种情况很少发生.
但是,由于Java被广泛使用并且正在搜索"为什么java的部门被破坏?" 不会产生任何结果,我可能错了.
我的问题是:
Java是一种强类型语言,因此您应该了解表达式中值的类型.如果不...
1是int(as 2),1/21和2的整数除法也是如此,因此结果0为a int.然后结果转换为相应的double值,所以0.0.
整数除法与浮点除法不同,如数学(自然数除法不同于实数除法).
| 归档时间: |
|
| 查看次数: |
188 次 |
| 最近记录: |