我来做个比喻吧,首先你们有 身高分别为(1,2,3,4,5,6,5)的人站成一排,你们脚下的位子分别是0-6,你们要找出身高相同的人 你站在0这个位子上.
for (int i = 0; i < age.length-1; i++) 从你开始,你不动(i=0),让其他人过来和你比身高,比完后回到原位
for (int j = i+1; j < age.length; j++) 从你后面的那个人开始(i+1)过来比,直到最后(age.length位子上的人)一个比完
if(age[i] == age[j]) 如果有和你相同身高的人,
System.out.println("有重复的!"+i+" "+j);就把你和另一个人的所在的位子打印出来,没有就继续比较
break;并停止你和j位子以后的人的比较,(严格来说这是不严谨的,万一有三个一样的数字呢)
for (int j = i+1; j < age.length; j++) 此时i=1,你比完了,轮到第二个人不动,从第三个人开始走过来和第二个人比较...下面情景和第一次相似
直到第四个位子上的人(身高为5)和第六个位子上的人(身也为5)才会出现第一次打印
循环到最后结束时候的状态 倒数第二个人不动,倒数第一个人走过来和他比较
|