栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么Java的部门破裂了?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么Java的部门破裂了?

您正在像一个PHP开发人员那样思考;PHP是动态类型的语言。这意味着类型是在运行时推导的,因此小数不能在逻辑上产生整数,因此从除法运算中隐含一个

double
(或
float
)。

Java,C,C
++,C#和许多其他语言都是强类型化语言,因此,当将整数除以整数时,您会得到一个整数,

100/50
将其还给我
2
,就像
100/45
给我一样
2
,因为
100/45
实际上是
2.2222...
,将十进制截断以获得一个整数(整数除法),您得到
2

在强类型语言中,如果要使结果符合预期,则需要显式(或隐式),这就是为什么在除法运算中将参数之一设为double或float会导致浮点除法(可返回分数)。

因此,在Java中,您可以执行以下任一操作来获取小数:

double result = 1.0 / 2;double result = 1f / 2;double result = (float)1 / 2;

从松散类型的动态语言到强类型的静态语言可能会令人讨厌,但不必担心。只是要了解,除了输入之外,您还必须格外小心进行验证,还必须验证类型。

从PHP到Java,您应该知道您 不能 做这样的事情:

$result = "2.0";$result = "1.0" / $result;echo $result * 3;

在PHP中,这会产生输出

1.5
(因为
(1/2)*3 == 1.5
),但是在Java中,

String result = "2.0";result = "1.0" / result;System.out.println(result * 1.5);

这将导致错误,因为您不能分割字符串(不是数字)。

希望能对您有所帮助。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/449612.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号