这个代码如何运行的,数值是怎样变化的?

public class YHSJ_1 {

public static void main(String[] args) {
    int rows = 10;

    for (int i = 0; i < rows; i++) {
        int number = 1;
        // 打印空格字符串
        System.out.format("%" + (rows - i) * 2 + "s", "");
        for (int j = 0; j <= i; j++) {
            System.out.format("%4d", number);
            number = number * (i - j) / (j + 1);
        }
        System.out.println();
    }
}

}

row控制外循环的次数。
System.out.format()用于格式化输出指定长度字符串。
内循环输出number 数的次数

public static void main(String[] args) {
    int rows = 10;
    for (int i = 0; i < rows; i++) {
        int number = 1;
        // 打印空格字符串
        System.out.format("%" + (rows - i) * 2 + "s", "");
        for (int j = 0; j <= i; j++) {
            System.out.format("%4d", number);
            number = number * (i - j) / (j + 1);
        }
        System.out.println();
    }
}