Java数组逆序输出

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]);
        }
    }
}

对应内存图:

Java数组逆序输出_第1张图片

逆序输出:

  • 因为逆序输出要从索引最后一位输出直到索引第一位为止
  • 所以起始位置是索引最后一位,循环终止条件方面要到达到第一位索引后终止

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

你可能感兴趣的:(Java,算法,索引,java)