1. break
tuyên bố
Hãy xem một ví dụ từ bài học trước:
Mã số | Giải trình |
---|---|
|
Chương trình sẽ đọc một dòng từ bàn phím, cho đến khi bạn nhập "exit" . |
Chương trình đọc các dòng từ bàn điều khiển cho đến khi từ exit
được nhập. Nếu bạn nhập từ này, thì isExit
biến sẽ trở thành true
, điều kiện vòng lặp sẽ là và vòng lặp sẽ kết thúc."!isExit
false
Java có một break
câu lệnh đặc biệt cho phép bạn đơn giản hóa logic như vậy. Nếu một break
câu lệnh được thực thi bên trong một vòng lặp, thì vòng lặp đó sẽ kết thúc ngay lập tức. Chương trình sẽ bắt đầu thực hiện câu lệnh theo sau vòng lặp. Tuyên bố rất ngắn gọn:
break;
Đây là cách bạn có thể sử dụng break
câu lệnh để viết lại ví dụ mà chúng ta vừa thảo luận:
Mã số | Giải trình |
---|---|
|
Chương trình sẽ đọc một dòng từ bàn phím, cho đến khi bạn nhập "exit" . |
2. câu lệnh tiếp tục
Nhưng break
không phải câu lệnh Java duy nhất cho phép bạn kiểm soát hành vi của vòng lặp. Java cũng có continue
tuyên bố. Nếu bạn thực hiện một continue
câu lệnh bên trong một vòng lặp, thì lần lặp lại hiện tại của vòng lặp sẽ kết thúc trước thời hạn.
Thực hiện thân vòng lặp một lần được gọi là một lần lặp của vòng lặp. Câu continue
lệnh làm gián đoạn bước lặp hiện tại của vòng lặp, nhưng không giống như break
câu lệnh, nó không tự kết thúc vòng lặp. Tuyên bố cũng ngắn gọn:
continue;
Câu continue
lệnh cực kỳ tiện lợi trong một vòng lặp nếu chúng ta muốn 'bỏ qua' việc thực thi phần thân vòng lặp trong một số trường hợp nhất định.
Nhiệm vụ: Chúng tôi muốn viết một chương trình in các số từ đến 1
nhưng 20
bỏ qua các số chia hết cho 7
. Đây là những gì mã này có thể trông giống như.
Mã số | Giải trình |
---|---|
|
Chương trình hiển thị các số từ 1 đến 20 . Nếu số đó chia hết cho 7 (dư của phép chia cho 7 là 0 ), thì chúng ta bỏ qua việc hiển thị số. |
Trên thực tế, mã này sẽ không hoạt động , vì i
sẽ bị kẹt mãi mãi ở số 7
. Rốt cuộc, continue
câu lệnh bỏ qua hai câu lệnh khác: System.out.println(i)
và i++
. Kết quả là, khi chúng ta đạt đến giá trị 7
, biến i
sẽ ngừng thay đổi và chúng ta sẽ ở trong một vòng lặp vô tận.
Chúng tôi viết mã theo cách này nhằm mục đích minh họa lỗi rất phổ biến này. Làm thế nào để chúng tôi sửa chữa nó?
Có hai lựa chọn ở đây:
Tùy chọn 1: thay đổi i
trước khi thực hiện continue
, nhưng saui % 7
Tùy chọn 2: luôn tăng dần i
ở đầu vòng lặp. Nhưng i
giá trị bắt đầu của sau đó phải là 0
.
lựa chọn 1 | Lựa chọn 2 |
---|---|
|
|
GO TO FULL VERSION