未标记的中断和语句

时间:2015-12-24 20:44:14

标签: java for-loop nested break

我不理解标记为break的语句,for语句。它会阻止它下方或离它最远的那个吗?

另外,我不明白为什么j被初始化两次,为什么不在for语句中初始化它?此外,当j < arrayOfInts[i].length无法j成为数组0中的元素时(直到它递增为止),因为j可以是数组lower中的元素1}} arrayOfInt[i]对吧?

class BreakWithLabelDemo {
    public static void main(String[] args) {
        int[][] arrayOfInts = { 
            { 32, 87, 3, 589 },
            { 12, 1076, 2000, 8 },
            { 622, 127, 77, 955 }
        };
        int searchfor = 12;

        int i;
        int j = 0;
        boolean foundIt = false;

    search:
        for (i = 0; i < arrayOfInts.length; i++) {
            for (j = 0; j < arrayOfInts[i].length;
                 j++) {
                if (arrayOfInts[i][j] == searchfor) {
                    foundIt = true;
                    break search;
                }
            }
        }

        if (foundIt) {
            System.out.println("Found " + searchfor + " at " + i + ", " + j);
        } else {
            System.out.println(searchfor + " not in the array");
        }
    }
}

0 个答案:

没有答案