java的数组倒序的小问题

class Main {
public static void main(String[] args) {
int [] a=new int[]{1,2,3,4,5,6};

for(int i=0,j=a.length-1;i<j;i++,j--){
//这里的循环终止条件。怎么理解
int o=a[i];
a[i]=a[j];
a[j]=o;
}
for(int i=0;i<a.length;i++)
System.out.print(a[i]);

}
}

循环开始时,i的初始值是0,即数组的第一个元素;j的初始值是a.length-1,即数组的最后一个元素。
每次将第i个和第j个元素进行交换,交换之后,i增1,j减1,即i指向下一个元素,j只想前一个元素。
循环进行到,交换到中间位置(即i<j)时,循环结束,所有元素都已经交换完毕。

就是数组的中间位置结束遍历