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

为什么Java中短整数除法的结果类型不是短整数?

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

为什么Java中短整数除法的结果类型不是短整数?

从Java规范:

5.6.2二进制数值提升

当运算符将二进制数值提升应用于一对操作数时,每个操作数必须表示一个数值类型的值,以下规则按顺序适用,并根据需要使用加宽转换(第5.1.2节)来转换操作数:

如果一个操作数的类型为double,则另一个将转换为double。

否则,如果其中一个操作数的类型为float,则另一个将转换为float。

否则,如果其中一个操作数的类型为long,则另一个将转换为long。

否则,两个操作数都将转换为int类型。

对于二进制运算,会将小整数类型提升为

int
,运算结果为
int


编辑:
为什么会这样?简短的答案是Java从C复制了此行为。更长的答案可能与以下事实有关:所有现代机器都至少执行32位本机计算,而实际上对于某些机器而言,执行8位运算和16位运算。



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

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

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