本帖最后由 李盼 于 2012-6-14 10:47 编辑
一 首先,swap(3);执行,会先打印i的值,此时为3
二 然后i--,此时i的值为2,定义j=0,i大于j,条件满足,继续调用swap(2);打印i的值,此时为2
三 然后i--,此时i的值为1,又重新定义了j=0,i大于j条件满足,继续调用swap(1);,打印i的值,此时为1
四 然后i--,此时i的值为0.重新定义j=0,i大于j条件不满足,那么就会停止调用swap(0)
五 此时就会继续判断第三步,for循环里面的j自加1后,变为了1,而第三步里面的i的值为1,i大于j条件不满足,那么就会停止调用swap(1)
六 第三步循环已经结束了,那么这个方法调用完了,会返回第二步,此时i为2,j++后为1,那么ii大于j条件满足,调用swap(2),然后打印i的值,此时i为2
七 然后i--,此时i的值为1,重新定义j=0,i大于j条件满足,继续调用swap(1);,打印i的值,此时为1
八 然后i--, 此时i的值为0,重新定义j=0,i大于j条件不满足,循环结束,方法执行完,返回第七步
九 第七步循环继续,j++,j=1而i也等于1.不满足条件,循环结束,返回第二步
十 第二步的j在第六步时自加了1,这次循环再加1.结果为2,此时i的值也是2,条件不满足,循环结束。整个方法调用完
结果就是 3 2 1 2 1 |
|