public static void perm(String[] str, int start, int end) {
        if (start == end) {                            //当只要求对数组中一个字母进行全排列时,只要就按该数组输出即可            for (int i = 0; i <= end; i++) {                System.out.print(str[i] + " ");            }
            System.out.println();        } else {                                     //多个字母全排列
            for (int i = start; i <= end; i++) {                String temp = str[start];           //交换数组第一个元素与后续的元素
                str[start] = str[i];
                str[i] = temp;                perm(str, start + 1, end);          //后续元素递归全排列                //程序什么时候执行此语句块啊???????????????
                temp = str[start];                  //将交换后的数组还原
                str[start] = str[i];
                str[i] = temp;            }
        }
    }此方法是对str中的元素进行全排列,谁能帮我具体分析分啊,因为以前我遇到的递归方法后面都没有语句,但是这个方法后还有三行代码,那么这三行代码在什么时候执行的呢?