public class Trying {
public static void main(String[] args){
int i=2;
while(i-->0){
System.out.println("doing it from i is"+i);
}System.out.println("finnis");
}
}这个运行的结果为什么是:
doing it from i is1
doing it from i is0
finnis而不是:
doing it from i is1
finnis
public static void main(String[] args){
int i=2;
while(i-->0){
System.out.println("doing it from i is"+i);
}System.out.println("finnis");
}
}这个运行的结果为什么是:
doing it from i is1
doing it from i is0
finnis而不是:
doing it from i is1
finnis
public static void main(String[] args)
{
int i=2;
while(--i>0)
{
System.out.println("doing it from i is"+i);
}
System.out.println("finnis");
}
}
是楼主所要的答案。
>java Trying
doing it from i is1
finnis
这条语句是先用i与0比较 然后i再减1第一次循环i为2 2>0 进入循环体后 i为1
第二次循环i为1 1>0 进入循环体后 i为0
第三次循环i为0 跳出
//第一次序环
public class Trying {
public static void main(String[] args){
int i=2;
while(i-->0){ //第一次这里i本来是2,执行了i--.
System.out.println("doing it from i is"+i);因为在上面执行了i--,所以这里的i=1
}System.out.println("finnis");
}
}//第二次序环
public class Trying {
public static void main(String[] args){
int i=2;
while(i-->0){ //第二次这里i本来是1,执行了i--.
System.out.println("doing it from i is"+i);因为在上面执行了i--,所以这里的i=0
}System.out.println("finnis");
}
}