Java While循环中的后减量操作
结果是 使用后缀减量运算符,循环迭代次数=5,b=-1Java While循环中的后减量操作,java,Java,结果是 使用后缀减量运算符,循环迭代次数=5,b=-1 我不明白为什么b的值是-1。b的值从5开始(在while循环之后它的值是4),然后在1结束(在while循环之后它是0),然后从5到1的迭代是5。如果我认为是正确的,为什么在循环之后b的值是-1。谢谢。这是因为当b==0时,后缀将返回false,而while循环将终止。但是,postifx仍将从b中减去一。因此,循环执行5次,iterations=5。但是,b递减6倍。 **后缀增量或减量实际上是在使用值**之后发生的,b的初始值是5,因此
我不明白为什么b的值是-1。b的值从5开始(在while循环之后它的值是4),然后在1结束(在while循环之后它是0),然后从5到1的迭代是5。如果我认为是正确的,为什么在循环之后b的值是-1。谢谢。这是因为当
b==0
时,后缀将返回false
,而while循环将终止。但是,postifx仍将从b
中减去一。因此,循环执行5次,iterations=5
。但是,b
递减6倍。**后缀增量或减量实际上是在使用值**之后发生的,
b的初始值是5,因此在第一次迭代中,在最后一次迭代后检查5的条件,b在其值(比较时为1)减量后变为0,然后检查0,但条件为false,但由于后缀递减,其值变为-1。 后缀->首先使用值,然后使用减量或增量这就是它的工作原理这段代码
b = 5;
loopiterations = 0;
while (b-- > 0) { // Use a postfix decrement
loopiterations++;
}
System.out.println("Postfix decrement operator used, loopiterations = " +
loopiterations + ", b = " + b);
在语义上与
while (b-- > 0) {
// do something
}
循环
while(b-->0)
在b==0
时立即退出,但由于后减量操作b
将是最后一次减量,因此b
在打印时的值将为-1
。5检查是否存在条件<0可能是输入错误?您解释代码的内部工作。这真的很有帮助。谢谢你,先生
while (b > 0) {
b--;
// do something
}
b--;