Trong hướng dẫn này, bạn sẽ học cách sử dụng break để kết thúc một vòng lặp. Ngoài ra, bạn cũng sẽ tìm hiểu về các nhãn ngắt.
Giả sử bạn đang làm việc với các vòng lặp. Đôi khi bạn muốn 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 trường hợp như vậy, break
được sử dụng. Nó kết thúc vòng lặp bao quanh gần nhất khi gặp phải (mà không cần kiểm tra biểu thức kiểm tra). Điều này tương tự như cách hoạt động của câu lệnh break trong Java.
Làm thế nào nghỉ làm việc?
Nó hầu như luôn được sử dụng với cấu trúc if… else. Ví dụ,
for (…) (if (testExpression) (break))
Nếu testExpression được đánh giá là true
, break
được thực thi và kết thúc for
vòng lặp.
Ví dụ: Kotlin break
fun main(args: Array) ( for (i in 1… 10) ( if (i == 5) ( break ) println(i) ) )
Khi bạn chạy chương trình, đầu ra sẽ là:
1 2 3 4
Khi giá trị của i bằng 5, biểu thức i == 5
bên trong if
được đánh giá là true
và break
được thực thi. Điều này kết thúc vòng lặp for.
Ví dụ: Tính tổng cho đến khi người dùng nhập 0
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 0.
Truy cập Đầu ra nhập cơ bản của Kotlin để tìm hiểu thêm về cách lấy đầu vào từ người dùng.
fun main(args: Array) ( var sum = 0 var number: Int while (true) ( print("Enter a number: ") number = readLine()!!.toInt() if (number == 0) break sum += number ) print("sum = $sum") )
Khi bạn chạy chương trình, đầu ra sẽ là:
Nhập số: 4 Nhập số: 12 Nhập số: 6 Nhập số: -9 Nhập số: 0 sum = 13
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, while
vòng lặp chạy cho đến khi người dùng nhập 0. Khi người dùng nhập 0, break
được thực thi và kết thúc while
vòng lặp.
Kotlin ngắt gắn nhãn
Những gì bạn đã học cho đến bây giờ là dạng không có nhãn break
, kết thúc vòng lặp bao quanh gần nhất. Có một cách khác break
có thể được sử dụng (dạng có nhãn) để kết thúc vòng lặp mong muốn (có thể là vòng lặp ngoài).
Làm thế nào có nhãn ngắt hoạt động?
Nhãn trong Kotlin bắt đầu bằng số nhận dạng theo sau @
.
Ở đây, test @ là một nhãn được đánh dấu ở vòng lặp while bên ngoài. Bây giờ, bằng cách sử dụng break
với một nhãn ( break@test
trong trường hợp này), bạn có thể phá vỡ vòng lặp cụ thể.
Đây là một ví dụ:
fun main(args: Array) ( first@ for (i in 1… 4) ( second@ for (j in 1… 2) ( println("i = $i; j = $j") if (i == 2) break@first ) ) )
Khi bạn chạy chương trình, đầu ra sẽ là:
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1
Ở đây, khi i == 2
biểu thức được đánh giá thành true
, break@first
được thực thi, kết thúc vòng lặp được đánh dấu bằng nhãn first@
.
Đây là một biến thể nhỏ của chương trình trên.
Trong chương trình bên dưới, ngắt kết thúc vòng lặp được đánh dấu bằng nhãn @second.
fun main(args: Array) ( first@ for (i in 1… 4) ( second@ for (j in 1… 2) ( println("i = $i; j = $j") if (i == 2) break@second ) ) )
Khi bạn chạy chương trình, đầu ra sẽ là:
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 ý: Vì, break
được sử dụng để kết thúc vòng lặp trong cùng trong chương trình này, nên không cần sử dụng dấu ngắt có nhãn trong trường hợp này.
Có 3 thành ngữ nhảy cấu trúc trong Kotlin: break
, continue
và return
. Để tìm hiểu về continue
và return
cách diễn đạt, hãy truy cập:
- Kotlin tiếp tục
- Hàm Kotlin