public class Tets {
public static void main(String[] args) {
int[] lcz={
1,2,3,4,5,6,7};
for (int i = lcz.length - 1; i >= 0; i--) {
System.out.println(lcz[i]);
}
}
}
对应内存图:
逆序输出:
- 因为逆序输出要从索引最后一位输出直到索引第一位为止
- 所以起始位置是索引最后一位,循环终止条件方面要到达到第一位索引后终止
i=lcz.length-1:
- 因为真实占位与数组内的占位相差为1,所以-1等于数组内的占位
- 数组lcz长度为7,7-1=6,6就是数组索引最后一位的占位
i >= 0:
- 因为数组逆序输出的最后一位都是数组的索引第一位(即0)
- 所以条件设立为>=0,符号方面(>和=)有一半满足(50%)条件就为true
- for循环执行过程:
7-1=6,6>=0(true)第一次
6-1=5,5>=0(true)第二次
5-1=4,4>=0(true)第三次
4-1=3,3>=0(true)第四次
3-1=2,2>=0(true)第五次
2-1=1,1>=0(true)第六次
1-1=0,0>=0(true)第七次(最后一次,到达索引第一位0)
0-1=-1,-1>=0(false)(假设第八次)
…
执行过程中只有7次条件可以满足,到0结束,之后条件都无法满足,所以循环到了索引0这里就会终止
IDEA内快速生成循环:
普通for循环:for>Tab
顺序:fori>Tab
逆序:forr>Tab