下面的程序是冒泡排序。有个奇怪的问题:注释掉的那一段代码,如果不注释而让它运行的话,外层循环就只运行一次,注释掉的话则正常运行正确计算。不知这段打印数组的代码为何会停止循环?    public static void maopaoPro(int[] num) {
        int tmp;
        boolean swap = true;   //交换标记,未交换过则true;
        int n = num.length;
        for (int i = 0; i < n; i++) {
            swap = true;
            System.out.println("[" + n + "]===" + i + "====");
            for (int j = 0; j < n-i-1; j++) {
                if (num[j] > num[j + 1]) {
                    System.out.println(num[j] + "<=>" + num[j + 1]);
                    tmp = num[j];
                    num[j] = num[j + 1];
                    num[j + 1] = tmp;
                    swap = false;
                }
            }
//            for (i = 0; i < num.length; i++) {
//                System.out.print(num[i] + ",");
//            }
            System.out.println();
            System.out.println(swap);
            if (swap==true) { //未交换过
                return;
            }
        }
    }