MY mENU


Thursday 9 February 2012

Break Statement in Java


The Break Statement has two forms :

1. Labelled
2. Unlabeled

Unlabeled : You can use an Unlabeled break to terminate a for, while, or do-while loop. An Unlabeled Break Statement terminates the innermost switch, for, while, or do-while statement

Example :

class BreakDemo {
public static void main(String[] args) {

int[] arrayOfInts = { 32, 87, 3, 589, 12, 1076,
2000, 8, 622, 127 };
int searchfor = 12;

int i;
boolean foundIt = false;

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

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

This program searches for the number 12 in an array. The break statement, shown in boldface, terminates the for loop when that value is found. Control flow then transfers to the print statement at the end of the program. This program's output is:

Found 12 at index 4

Labeled : A Labeled break terminates an outer statement.

Example :

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");
}
}
}

This is the output of the program.

Found 12 at 1, 0

- The following program, BreakWithLabelDemo, is similar to the previous program, but uses nested for loops to search for a value in a two-dimensional array. When the value is found, aLabelled Break terminates the outer for loop (labelled "search").

- The Break Statement terminates the Labelled Statement; it does not transfer the flow of control to the Label. Control flow is transferred to the statement immediately following theLabelled (terminated) statement.

No comments:

Post a Comment