1
我想了解的Java 7环境中,该代码,Java表达式
int T = getIntVal();
while (T--> 0) {
// do stuff here
}
T没有while循环内进行修改。有人可以解释这个代码吗?
我想了解的Java 7环境中,该代码,Java表达式
int T = getIntVal();
while (T--> 0) {
// do stuff here
}
T没有while循环内进行修改。有人可以解释这个代码吗?
让您感到困惑的是之间没有空格和>
,所以你可能会认为有一个-->
运营商。
看起来像这样:
while (T-- > 0) {
}
它更有意义,在每个循环中,您减少牛逼一个
- 每次运行循环时(从循环条件开始运行之后, - 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-------
[这里有一个相关的问题(http://stackoverflow.com/questions/1642028/what-这是应该给你的答案(即使它是C++,行为是相同的)。 – resueman
你觉得'T - '做什么? – bradimus
使用以块字母开头的变量名是不好的做法。没有这样的表达 - >在java中。不要混淆在 - 和>之间。 – PKR