问题描述
int index = 1,balance = 1000;
while (index % 2 == 1)
{
balance -= index;
index = index * 2 + 1;
}
System.out.println(balance);
我不明白它的输出是1033。代码将如何结束? 代码将如何结束。看来条件将永远得到满足。任何帮助表示赞赏。谢谢。
解决方法
在Java [
{
$lookup: {
from: "article_parent",let: {
pname: "$parent_name"
},pipeline: [
{
$match: {
$expr: {
$eq: [
"$name","$$pname"
]
},group: 2
}
}
],as: "parent"
}
},{
$match: {
parent: {
$ne: []
}
}
}
]
中,正数为1,负数为-1。
如果您继续将index % 2
加倍,很快它就会溢出,然后变成负数。届时index
将不再为真。