java - Java 中 x + x 和 2*x 的区别
问题描述
我正在阅读 Leetcode 问题的答案:https ://leetcode.com/problems/divide-two-integers/ 。这个问题不需要使用乘法。x+x
在阅读了几个答案之后,我莫名其妙地产生了一个比2*x
内存和避免类型溢出更好的误解。发布问题后,我找不到任何证据来支持这一说法。请忽略这个问题。
我看到 Java 中的一个常见做法是使用 x + x 而不是 2*x,尤其是对于 int。例如
int x = 1;
x += x;
代替
int x = 1;
x = 2*x;
使用
if (a < b + b) {
...
}
代替
if (a < 2*b) {
...
}
是否x + x
比 节省更多内存2*x
?
解决方案
这似乎更像是一种习惯,而不是任何理由使用这个约定,除非 JVM 在承载我们的 + 操作方面比 * 更有效,这可能是我们完全可以忽略的
推荐阅读
- python - 图像分类器不能很好地泛化到轻微的图像扰动
- reactjs - 未捕获的类型错误:createTransitionManager2.default
- java - Firebase 数据库和 Android - 如何在注销时销毁“会话”?
- javascript - VTTCue 未检测到 '\n' 用于 Javascript 中的视频字幕
- java - java - 为什么父子关系中的int和Integer总是在java中打印int?
- javascript - 将简单数组转换为对象
- websocket - Websocket - 突然掉线后重新建立连接
- sql - 如何在存储过程中拆分参数
- spring-boot - 通过命令行覆盖spring application.properties
- android - Android MathView 溢出屏幕宽度