java - Java 中的运算符怪异
问题描述
int number = 10;
int result = 0
for (int i = 10; i <= 50; i += 10) {
number = i;
result = --number - number--;
System.out.println("i = " + i + ", number = " + number +
", result = " + result);
结果是
i = 10,数字 = 8,结果 = 0
i = 20,数字 = 18,结果 = 0
i = 30,数字 = 28,结果 = 0
i = 40,数字 = 38,结果 = 0
i = 50,数字 = 48,结果 = 0
我想知道操作员是如何一步步工作的 result = --number - number-- ;
。执行上述语句时 number 的值是多少?谢谢你。
解决方案
我认为只有这么多的代码足以让你理解这个概念:
public class Main {
public static void main(String[] args) {
int number = 10;
int result = --number - number--;
System.out.println("number = " + number + ", result = " + result);
}
}
这是它的处理方式:
--number => number = number - 1 => number = 10 - 1 => number = 9
result = --number - number-- => result = 9 - 9 => result = 0
number-- => number = number - 1 => number = 9 - 1 => number = 8
因此输出:
number = 8, result = 0
推荐阅读
- html - 如何将第二个框的宽度设置为与第一行中两个框的宽度相同?
- javascript - MailChimp 提交按钮微调器
- python - 用硒在python中刮取亚马逊网址图像/图片
- unix - 循环遍历目录并对 unix 中具有特定权限的文件执行操作
- scala - 有没有一种很好的方法可以对“cats.effect.Resource”中的错误处理进行精细控制?
- javascript - Javascript ScrollLeft 什么都不做
- r - 重构任意嵌套列表
- javascript - 是什么导致在内容大的网页上编辑缓慢?
- r - 只要给定向量的所有值都相等,如何设置while循环的条件?
- c# - 如何在 .net core 5 中将 appsettings.json 的一部分读取为原始字符串?