我正在尝试理解Java 7环境中的这段代码,
int T = getIntVal();
while (T--> 0) {
// do stuff here
}
在 while 循环中,T 没有被修改。能有人解释一下这段代码吗?
我正在尝试理解Java 7环境中的这段代码,
int T = getIntVal();
while (T--> 0) {
// do stuff here
}
在 while 循环中,T 没有被修改。能有人解释一下这段代码吗?
让您困惑的是在T--
和>
之间没有空格,因此您可能会认为存在一个-->
运算符。
实际情况如下:
while (T-- > 0) {
}
在每个循环中将T减1更有意义。
-- (递减) 运算符将在每次循环中从 T 减去一个值(由于它在 T 之后,因此是在循环条件运行之后)。
最简单的方法就是尝试一下:
public class Tester {
public static void main(String[] args) {
System.out.println("-------STARTING TESTER-------");
int T = 5;
while (T-- > 0) {
System.out.println(T);
}
System.out.println("-------ENDING TESTER-------");
}
}
输出:
-------STARTING TESTER-------
4
3
2
1
0
-------ENDING TESTER-------
-------STARTING TESTER-------
4
3
2
1
-------ENDING TESTER-------
T--
是什么意思? - bradimus