了解Java中的自动减量

时间:2014-07-06 07:56:05

标签: java while-loop decrement

我是Java新手。我试图运行while循环,如果条件在while循环中。 while循环中间有减量。 我可以把减量(x = x-1)放在最后吗?如果我把它放在中间,如果我把它放在最后,这意味着什么? 请解释我的区别。

public class shuffle1 {

    public static void main(String[] args) {

        int x = 3;

        while (x > 0) {
            if (x > 2) {
                System.out.print("a");
            }

            x = x - 1;

            System.out.print("-");

            if (x == 2) {
                System.out.print("b c");
            }

            if (x == 1) {
                System.out.print("d");
                x = x - 1;
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

如果你把x = x-1放在中间,那么while循环中的两个语句将在单次迭代中执行,即a-b c将在单次迭代中打印。当你把它放在最后时,a-b c将在循环的两次迭代中打印出来。所以你用这种方法保存了一次迭代。更清洁的方式来编写相同的代码,   int x = 3;

do {
    if (x > 2) {
        System.out.print("a");
    }

    System.out.print("-");

    if (x == 2) {
        System.out.print("b c");
    }

    if (x == 1) {
        System.out.print("d");
    }
}while (0 < --x);