Trong hướng dẫn này, bạn sẽ tìm hiểu về câu lệnh break, câu lệnh break được gắn nhãn trong Java với sự trợ giúp của các ví dụ.
Trong khi làm việc với vòng lặp, đôi khi bạn muốn bỏ qua một số câu lệnh bên trong vòng lặp hoặc kết thúc vòng lặp ngay lập tức mà không cần kiểm tra biểu thức kiểm tra.
Trong những trường hợp như vậy, break
và các continue
câu lệnh được sử dụng. Bạn sẽ tìm hiểu về câu lệnh Java continue trong hướng dẫn tiếp theo.
Câu break
lệnh trong Java kết thúc vòng lặp ngay lập tức và quyền điều khiển chương trình chuyển sang câu lệnh tiếp theo sau vòng lặp.
Nó hầu như luôn được sử dụng với các câu lệnh ra quyết định (Câu lệnh Java if … else ).
Đây là cú pháp của câu lệnh break trong Java:
break;
Câu lệnh break hoạt động như thế nào?
Làm việc của câu lệnh ngắt Java
Ví dụ 1: Câu lệnh ngắt trong Java
class Test {
public static void main(String[] args) {
// for loop
for (int i = 1; i <= 10; ++i) {
// if the value of i is 5 the loop terminates
if (i == 5) {
break;
}
System.out.println(i);
}
}
}
Đầu ra :
1 2 3 4
Trong chương trình trên, chúng ta đang sử dụng for
vòng lặp để in ra giá trị của i trong mỗi lần lặp. Để biết for
vòng lặp hoạt động như thế nào , hãy truy cập vòng lặp for Java . Ở đây, hãy chú ý tuyên bố,
if (i == 5) {
break;
}
Điều này có nghĩa là khi giá trị của i bằng 5, vòng lặp kết thúc. Do đó, chúng tôi chỉ nhận được đầu ra với giá trị nhỏ hơn 5.
Ví dụ 2: Câu lệnh ngắt trong Java
Chương trình dưới đây tính tổng các số do người dùng nhập cho đến khi người dùng nhập vào một số âm.
Để lấy đầu vào từ người dùng, chúng tôi đã sử dụng Scanner
đối tượng. Để tìm hiểu thêm Scanner
, hãy truy cập Java Scanner .
import java.util.Scanner;
class UserInputSum {
public static void main(String[] args) {
Double number, sum = 0.0;
// create an object of Scanner
Scanner input = new Scanner(System.in);
while (true) {
System.out.print("Enter a number: ");
// takes double input from user
number = input.nextDouble();
// if number is negative the loop terminates
if (number < 0.0) {
break;
}
sum += number;
}
System.out.println("Sum = " + sum);
}
}
Đầu ra :
Enter a number: 3.2 Enter a number: 5 Enter a number: 2.3 Enter a number: 0 Enter a number: -4.5 Sum = 10.5
Trong chương trình trên, biểu thức kiểm tra của while
vòng lặp luôn là true
. Ở đây, hãy để ý dòng,
if (number < 0.0) {
break;
}
Điều này có nghĩa là khi người dùng nhập số âm, vòng lặp while sẽ kết thúc.
Ngắt Java và Vòng lặp lồng nhau
Trong trường hợp các vòng lặp lồng nhau , break
câu lệnh kết thúc vòng lặp trong cùng.Hoạt động của câu lệnh nghỉ với các vòng lặp lồng nhau
Ở đây, câu lệnh break kết thúc while
vòng lặp trong cùng và điều khiển sẽ nhảy ra vòng ngoài.
Tuyên bố ngắt được gắn nhãn
Cho đến bây giờ, chúng tôi đã sử dụng câu lệnh ngắt không gắn nhãn. Nó kết thúc vòng lặp trong cùng và câu lệnh chuyển đổi. Tuy nhiên, có một dạng lệnh break khác trong Java được gọi là lệnh break có nhãn.
Chúng ta cũng có thể sử dụng câu lệnh break được gắn nhãn để kết thúc vòng lặp ngoài cùng.Hoạt động của câu lệnh break được gắn nhãn trong Java
Như bạn có thể thấy trong hình trên, chúng tôi đã sử dụng mã nhận dạng nhãn để chỉ định vòng lặp bên ngoài. Bây giờ, hãy chú ý cách break
sử dụng câu lệnh ( break label;
).
Ở đây, break
câu lệnh đang kết thúc câu lệnh có nhãn (tức là vòng lặp ngoài). Sau đó, điều khiển của chương trình chuyển đến câu lệnh sau câu lệnh được gắn nhãn.
Đây là một ví dụ khác:
while (testExpression) {
// codes
second:
while (testExpression) {
// codes
while(testExpression) {
// codes
break second;
}
}
// control jumps here
}
Trong ví dụ trên, khi câu lệnh break second;
được thực thi, while
vòng lặp có nhãn là thứ hai sẽ kết thúc. Và, điều khiển của chương trình chuyển sang câu lệnh sau while
vòng lặp thứ hai .
Ví dụ 3: Câu lệnh break được gắn nhãn
class LabeledBreak {
public static void main(String[] args) {
// the for loop is labeled as first
first:
for( int i = 1; i < 5; i++) {
// the for loop is labeled as second
second:
for(int j = 1; j < 3; j ++ ) {
System.out.println("i = " + i + "; j = " +j);
// the break statement breaks the first for loop
if ( i == 2)
break first;
}
}
}
}
Đầu ra :
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1
Trong ví dụ trên, labeled break
câu lệnh được sử dụng để kết thúc vòng lặp có nhãn là đầu tiên. Đó là,
first:
for(int i = 1; i < 5; i++) {...}
Ở đây, nếu chúng ta thay đổi câu lệnh break first;
thành break second;
chương trình sẽ hoạt động khác. Trong trường hợp này, for
vòng lặp có nhãn là thứ hai sẽ bị chấm dứt. Ví dụ,
class LabeledBreak {
public static void main(String[] args) {
// the for loop is labeled as first
first:
for( int i = 1; i < 5; i++) {
// the for loop is labeled as second
second:
for(int j = 1; j < 3; j ++ ) {
System.out.println("i = " + i + "; j = " +j);
// the break statement terminates the loop labeled as second
if ( i == 2)
break second;
}
}
}
}
Đầu ra :
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1 i = 3; j = 1 i = 3; j = 2 i = 4; j = 1 i = 4; j = 2
Lưu ý : Câu break
lệnh cũng được sử dụng để kết thúc các trường hợp bên trong switch
câu lệnh. Để tìm hiểu thêm, hãy truy cập câu lệnh Java switch .