为什么这样打破工作?

时间:2015-11-26 12:09:17

标签: java for-loop break

我正在测试一个java代码,我想打印1到10之间的数字

import java.util.Timer;
import java.util.TimerTask;
import java.util.Random;

public class test2
{   
    test2()
    {
        for (int i = 0; i<10; i++)
        {
            System.out.println(i);
            if (i == 5) 
                break;
            if (i == 6)
                break;  
            System.out.println(i);
            break;
        }
    }

    public static void main(String[] args)
    {
        new test2();
    }
} 

如果我删除了最后一个break,则代码可以正常运行。但如果我不删除它,只会打印数字0。为什么呢?

3 个答案:

答案 0 :(得分:5)

break;突破了循环。因此,最后一个没有条件的中断会导致循环在第一次迭代后终止。

答案 1 :(得分:1)

break;留下了一个循环。

  

break语句有两种形式:标记和未标记。您在switch语句中看到了未标记的表单。您还可以使用未标记的中断来终止for,while或do-while循环[...]

     

未标记的break语句终止最内层的switch,for,while或do-while语句,但带标签的break断开了外部语句。

答案 2 :(得分:0)

当控件到达最后的'break'时,它没有找到任何条件。因此,它将强制断开循环,因此只打印'0'。

同样第一次在循环中,控件不会进入任何'if'。