在循环内循环,为什么这个数字输出?

时间:2013-06-30 18:05:43

标签: java

public class whatever {
    public static void main(String[] arguments){
        int points = 0;
        int target = 100;
        tagetLoop:
        while (target <= 100) {
            for (int i = 0; i < target; i++) {
                if (points > 50)
                    break tagetLoop;
                points = points + i;
                System.out.println("Points: " + points);

            }
        }

    }
}

每当我运行它时,最终输出将是“Points:55”。为什么它是55而不是50?

2 个答案:

答案 0 :(得分:4)

因为0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55

答案 1 :(得分:3)

points的值将为

0, 1, 3, 6, 10, 15, 21, 28, 36, 45, 55

它不会以值50退出,因为它永远不会等于50。