Computer >> Máy Tính >  >> Lập trình >> Java

Trong khi vòng lặp Java

Trong lập trình, thường có những trường hợp bạn có một nhiệm vụ lặp đi lặp lại mà bạn muốn thực hiện nhiều lần. Vòng lặp được sử dụng để tự động hóa các tác vụ lặp đi lặp lại này và cho phép bạn tạo mã hiệu quả hơn.

whiledo...while vòng lặp trong Java được sử dụng để thực thi một khối mã miễn là một điều kiện cụ thể được đáp ứng. Các vòng lặp này tương tự như if có điều kiện các câu lệnh, là các khối mã chỉ thực thi nếu một điều kiện cụ thể được đánh giá là true. Không giống như if tuy nhiên, câu lệnh while vòng lặp chạy cho đến khi một điều kiện không còn đúng nữa.

Hướng dẫn này sẽ thảo luận về những điều cơ bản của whiledo...while các câu lệnh trong Java, và sẽ xem qua một vài ví dụ để minh họa những câu lệnh này trong chương trình Java.

Vòng lặp trong khi Java

while vòng lặp lặp qua một khối mã miễn là một điều kiện được chỉ định đánh giá là true. Cú pháp cho while vòng lặp tương tự như vòng lặp if truyền thống tuyên bố. Đây là cú pháp cho một Java while vòng:

 while (condition_is_met) {// Mã để thực thi} 

while vòng lặp sẽ kiểm tra biểu thức bên trong dấu ngoặc đơn. Nếu biểu thức Boolean được đánh giá là true, phần thân của vòng lặp sẽ thực thi, sau đó biểu thức được đánh giá lại. Chương trình sẽ tiếp tục quá trình này cho đến khi biểu thức được đánh giá là false, sau đó dấu while vòng lặp bị tạm dừng và phần còn lại của chương trình sẽ chạy.

Hãy xem qua một ví dụ để cho thấy cách while vòng lặp có thể được sử dụng trong Java. Giả sử chúng tôi là một thợ mộc và chúng tôi đã quyết định bắt đầu bán một chiếc bàn mới trong cửa hàng của mình. Chúng tôi chỉ có khả năng đặt năm bàn, sau thời điểm này, những người muốn có bàn sẽ được đưa vào danh sách chờ.

Chúng tôi muốn tạo một chương trình cho chúng tôi biết có bao nhiêu người nữa có thể đặt bàn trước khi chúng tôi phải đưa họ vào danh sách chờ. Chúng tôi có thể làm như vậy bằng cách sử dụng while vòng lặp như thế này sẽ thực hiện phần thân của vòng lặp cho đến khi số lượng đơn đặt hàng được thực hiện không nhỏ hơn giới hạn:

 int limit =5; int order_made =0; while (order_made  

Mã của chúng tôi trả về:

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình đã dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

 Có thể đặt thêm 4 bàn nữa. 3 bàn có thể được đặt thêm. 2 bàn nữa có thể được đặt. 1 có thể đặt thêm bàn. 0 có thể đặt thêm bàn. 

Hãy chia nhỏ mã của chúng ta. Trên dòng đầu tiên, chúng tôi khai báo một biến có tên là limit theo dõi số lượng bảng tối đa mà chúng tôi có thể thực hiện. Sau đó, chúng tôi khai báo một biến có tên là orders_made lưu trữ số lượng đơn đặt hàng đã thực hiện.

Sau đó, chương trình của chúng tôi thực thi một while vòng lặp, chạy trong khi orders_made nhỏ hơn limit . Sau đó, chúng tôi sử dụng orders_made++ toán tử gia tăng để thêm 1 vào orders_made .

Sau khi toán tử tăng dần được thực thi, chương trình của chúng tôi sẽ tính toán dung lượng còn lại của các bảng bằng cách trừ đi “orders_made từ limit . Sau đó, nó in ra thông báo [capacity] more tables can be ordered. vào bảng điều khiển.

Câu lệnh “while” của chúng tôi ngừng chạy khi orders_made lớn hơn limit .

Java Do While Loop

do…while vòng lặp là một loại while vòng. do...while vòng lặp thực thi khối mã trong do chặn một lần trước khi kiểm tra xem một điều kiện có giá trị đúng hay không. Sau đó, chương trình sẽ lặp lại vòng lặp miễn là điều kiện đúng.

Sự khác biệt giữa whiledo...while vòng lặp là while các vòng lặp đánh giá một điều kiện trước đó chạy mã trong while khối, ngược lại thì làm… vòng lặp while đánh giá điều kiện sau chạy mã trong do khối.

Cú pháp của vòng lặp do… while như sau:

 do {// Mã để thực thi} while (condition_is_met); 

Hãy sử dụng một ví dụ để giải thích cách hoạt động của vòng lặp do… while.

Giả sử rằng chúng tôi đang tạo một trò chơi đoán yêu cầu người dùng đoán một số từ một đến mười. Chúng tôi muốn người dùng của mình trước tiên được yêu cầu nhập một số trước khi kiểm tra xem họ có đoán đúng số hay không. Nếu người dùng nhập sai số, họ nên được khuyến khích để thử lại. Chúng tôi có thể hoàn thành nhiệm vụ này bằng cách sử dụng vòng lặp do… while.

Dưới đây là một ví dụ về chương trình yêu cầu người dùng đoán một số, sau đó đánh giá xem liệu người dùng có đoán đúng số hay không bằng cách sử dụng vòng lặp do… while:

 import java.util.Scanner; class GuakenGame {public static void main (String [] args) {int number =8; int đoán =0; Scanner input =new Scanner (System.in); do {System.out .print ("Nhập một số từ 1 đến 10:"); đoán =input.nextInt ();} while (number! =đoán); System.out.println ("Bạn đúng!"); }} 

Khi chúng tôi chạy mã của mình, chúng tôi được yêu cầu đoán số đầu tiên , trước điều kiện trong do...while của chúng tôi vòng lặp được đánh giá. Dưới đây là những gì sẽ xảy ra khi chúng tôi cố gắng đoán một vài con số trước khi cuối cùng đoán đúng:

 Nhập số từ 1 đến 10:9 Nhập số từ 1 đến 10:1 Nhập số từ 1 đến 10:4 Nhập số từ 1 đến 10:5 Nhập số từ 1 đến 10:8 Bạn đúng!  

Hãy chia nhỏ mã của chúng ta. Đầu tiên, chúng tôi nhập util.Scanner , được sử dụng để thu thập thông tin đầu vào của người dùng. Sau đó, chúng tôi xác định một lớp có tên là GuessingGame trong đó mã của chúng tôi tồn tại.

Sau đó, chúng tôi xác định hai biến:một được gọi là number nơi lưu trữ số được đoán và một số khác được gọi là guess lưu trữ dự đoán của người dùng.

Sau đó, chúng tôi sử dụng phương thức Máy quét để bắt đầu nhập liệu của người dùng. Chúng tôi in ra thông báo Enter a number between 1 and 10: vào bảng điều khiển, sau đó sử dụng input.nextInt() phương pháp để lấy số mà người dùng đã nhập.

Sau khi mã này được thực thi, vòng lặp do… while sẽ đánh giá xem số mà người dùng đã đoán có bằng với số mà người dùng sẽ đoán hay không. Nếu người dùng đã đoán sai số, nội dung của do chạy lại vòng lặp; nếu người dùng đoán đúng số, vòng lặp do… while ngừng thực thi và thông báo You’re correct! được in ra bảng điều khiển.

Vòng lặp vô hạn

Vòng lặp vô hạn là vòng lặp sẽ tiếp tục chạy mãi mãi. Nếu bạn có while vòng lặp có câu lệnh không bao giờ đánh giá thành false, vòng lặp sẽ tiếp tục và có thể làm hỏng chương trình của bạn. Vì vậy, điều quan trọng là phải đảm bảo rằng vào một thời điểm nào đó, vòng lặp while của bạn ngừng chạy.

Dưới đây là một ví dụ về vòng lặp vô hạn trong Java:

 while (true) {// Mã để thực thi} 

Vòng lặp này sẽ chạy vô hạn. Tuy nhiên, chúng tôi có thể dừng chương trình của mình bằng cách sử dụng break tuyên bố. Giả sử chúng tôi đang tạo một chương trình theo dõi số lượng bảng còn hàng. Chúng tôi chỉ có năm bảng trong kho. Khi không có bảng trong kho, chúng tôi muốn while vòng lặp để dừng lại. Chúng tôi có thể tạo một chương trình đáp ứng các thông số kỹ thuật này bằng cách sử dụng mã sau:

 Boolean table_in_stock =true; int order_made =0; while (table_in_stock) {order_made ++; if (order_made ==5) {System.out.println ("Chúng tôi hết hàng."); nghỉ; } else {int table_left =5 - order_made; String message ="Có" + table_left + "bảng trong kho."; System.out.println (tin nhắn); }} 

Khi chúng tôi chạy mã của mình, phản hồi sau được trả về:

 Có 4 bảng trong kho.Có 3 bảng trong kho, 2 bảng còn hàng, còn 1 bảng. Chúng tôi đã hết hàng. 

Trong ví dụ của chúng tôi, while vòng lặp sẽ tiếp tục thực thi miễn là tables_in_stock là đúng. Nhưng chúng tôi không bao giờ chỉ định cách mà tables_in_stock có thể trở thành sai.

Vì vậy, trong mã của chúng tôi, chúng tôi sử dụng break câu lệnh được thực thi khi orders_made bằng 5.

Điều này có nghĩa là khi có ít hơn năm đơn đặt hàng được thực hiện, một thông báo sẽ được in ra nói rằng, There are [tables_left] tables in stock. Nhưng khi orders_made bằng 5, một thông báo cho biết We are out of stock. sẽ được in ra bảng điều khiển và câu lệnh break được thực thi. Khi câu lệnh break được chạy, while của chúng tôi tuyên bố sẽ dừng lại.



Kết luận

while Vòng lặp được sử dụng trong Java thực thi một khối mã cụ thể trong khi một câu lệnh là đúng và dừng khi câu lệnh sai. do...while vòng lặp thực thi một khối mã trước tiên, sau đó đánh giá một câu lệnh để xem liệu vòng lặp có tiếp tục tiếp tục hay không.

Hướng dẫn này thảo luận về cách sử dụng cả whiledo...while vòng lặp trong Java. Chúng ta cũng đã nói về các vòng lặp vô hạn và xem qua một ví dụ về từng phương thức này trong chương trình Java. Giờ đây, bạn đã được trang bị kiến ​​thức cần thiết để viết Java whiledo...while lặp lại như một chuyên gia!