Câu lệnh ngắt Java

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, breakvà các continuecâ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 breaklệ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 forvòng lặp để in ra giá trị của i trong mỗi lần lặp. Để biết forvò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 whilevò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 , breakcâ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 whilevò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 breaksử dụng câu lệnh ( break label;).

Ở đây, breakcâ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, whilevò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 whilevò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 breakcâ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, forvò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 breaklệnh cũng được sử dụng để kết thúc các trường hợp bên trong switchcâu lệnh. Để tìm hiểu thêm, hãy truy cập câu lệnh Java switch .









Gõ tìm kiếm nhanh...