Java - Vòng Lặp While

Xin chào các bạn, các nhà lập trình Java tương lai! Hôm nay, chúng ta sẽ đi mạo hiểm vào một trong những khái niệm cơ bản nhất trong lập trình: vòng lặp while. Là một giáo viên khoa học máy tính thân thiện, tôi rất hứng thú để hướng dẫn các bạn trong hành trình này. Vậy, hãy lấy đồ uống yêu thích của bạn, thoải mái đi, và hãy cùng nhau bắt đầu cuộc phiêu lưu lập trình này!

Java - While Loops

Vòng lặp While là gì?

Hãy tưởng tượng bạn đang chơi trò "Simon Says" với máy tính. Máy tính liên tục đưa ra các hướng dẫn, và bạn liên tục làm theo... cho đến khi máy tính nói "dừng." Đó chính là điều gì mà vòng lặp while làm trong lập trình!

Vòng lặp while là một câu lệnh kiểm soát luồng cho phép mã được thực thi liên tục dựa trên điều kiện boolean nhất định. Nó như là bạn nói với máy tính, "Này, tiếp tục làm nhiệm vụ này trong khi điều kiện này là đúng."

Cấu trúc của Vòng lặp While

Hãy cùng nhìn vào cấu trúc cơ bản của vòng lặp while:

while (condition) {
// khối mã sẽ được thực thi
}

Thật đơn giản! Điều kiện được đánh giá trước mỗi lần lặp. Nếu nó là đúng, mã bên trong vòng lặp sẽ được thực thi. Quá trình này tiếp tục cho đến khi điều kiện trở thành sai.

Vòng lặp While hoạt động như thế nào?

Hãy phân tích quá trình thực thi của vòng lặp while:

  1. Điều kiện được đánh giá.
  2. Nếu điều kiện là đúng, mã bên trong vòng lặp được thực thi.
  3. Sau khi thực thi, điều kiện được đánh giá lại.
  4. Bước 2 và 3 lặp lại cho đến khi điều kiện trở thành sai.
  5. Khi điều kiện trở thành sai, vòng lặp kết thúc, và chương trình tiếp tục với câu lệnh tiếp theo sau vòng lặp.

Đồ thị Luồng

Để hình dung quá trình này, hãy tưởng tượng một biểu đồ luồng như sau:

┌─────────────┐
│   Bắt đầu   │
└──────┬──────┘
│
┌──────▼──────┐
┌────►│   Điều kiện  │
│     │   Đúng?     │
│     └──────┬──────┘
│            │
│     ┌──────▼──────┐
│     │  Thực thi   │
│     │  Khối mã   │
│     └──────┬──────┘
│            │
└────────────┘
│
┌──────▼──────┐
│    Kết thúc │
└─────────────┘

Ví dụ về Vòng lặp While

Bây giờ, hãy xem một số ví dụ thực tế để thấy vòng lặp while hoạt động như thế nào!

Ví dụ 1: Đếm từ 1 đến 5

int count = 1;
while (count <= 5) {
System.out.println("Count is: " + count);
count++;
}

Trong ví dụ này, chúng ta bắt đầu với count bằng 1. Vòng lặp sẽ tiếp tục cho đến khi count nhỏ hơn hoặc bằng 5. Mỗi lần qua vòng lặp, chúng ta in ra giá trị hiện tại của count và sau đó tăng nó lên 1.

Output:

Count is: 1
Count is: 2
Count is: 3
Count is: 4
Count is: 5

Ví dụ 2: Tổng của các Số

Hãy tính tổng các số từ 1 đến 10:

int sum = 0;
int number = 1;

while (number <= 10) {
sum += number;
number++;
}

System.out.println("The sum of numbers from 1 to 10 is: " + sum);

Vòng lặp này thêm mỗi số từ 1 đến 10 vào biến sum. Khi number trở thành 11, điều kiện number <= 10 trở thành sai, và vòng lặp kết thúc.

Output:

The sum of numbers from 1 to 10 is: 55

Ví dụ 3: Trình kiểm tra Mật khẩu

Dưới đây là một ví dụ thực tế hơn. Hãy tạo một trình kiểm tra mật khẩu đơn giản:

import java.util.Scanner;

public class PasswordChecker {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String password = "java123";
String userInput;

while (true) {
System.out.print("Enter the password: ");
userInput = scanner.nextLine();

if (userInput.equals(password)) {
System.out.println("Correct password! Access granted.");
break;
} else {
System.out.println("Incorrect password. Try again.");
}
}

scanner.close();
}
}

Chương trình này sẽ liên tục yêu cầu mật khẩu cho đến khi nhập đúng mật khẩu. Nó minh họa cách chúng ta có thể sử dụng vòng lặp while để tạo một chương trình tương tác.

Vòng lặp Vô hạn trong Java

Bây giờ, hãy nói về một điều nguy hiểm nhưng quan trọng để hiểu: vòng lặp vô hạn. Vòng lặp vô hạn là một vòng lặp không bao giờ kết thúc vì điều kiện của nó luôn là đúng.

while (true) {
System.out.println("This is an infinite loop!");
}

Vòng lặp này sẽ chạy mãi mãi, in ra "This is an infinite loop!" liên tục. Mặc dù vòng lặp vô hạn có thể hữu ích trong một số tình huống cụ thể (như vòng lặp trò chơi hoặc chương trình máy chủ), chúng thường là kết quả của lỗi của nhà lập trình và có thể gây ra chương trình bị treo.

Nhớ rằng, với quyền lớn đến đến trách nhiệm lớn! Luôn đảm bảo bạn có cách để thoát khỏi vòng lặp của mình.

Kết luận

Và thế là, các bạn! Chúng ta đã đi qua hành trình của vòng lặp while, từ cấu trúc cơ bản đến các ví dụ thực tế và thậm chí cả vòng lặp vô hạn nguy hiểm. Vòng lặp while là công cụ mạnh mẽ trong tủ đồ lập trình của bạn, cho phép bạn tự động hóa các nhiệm vụ lặp đi lặp lại và tạo ra các chương trình động, phản hồi.

Khi bạn tiếp tục hành trình Java của mình, bạn sẽ tìm thấy nhiều ứng dụng cho vòng lặp while. Chúng giống như là người bạn đồng hành đáng tin cậy trong câu chuyện siêu anh hùng lập trình của bạn - luôn ở đó khi bạn cần làm điều gì đó liên tục một lần nữa.

Nhớ rằng, luyện tập sẽ làm bạn hoàn hảo. Hãy thử tạo vòng lặp while của riêng bạn, thử các điều kiện khác nhau, và xem bạn có thể tạo ra điều gì. Ai biết? Vòng lặp while tiếp theo của bạn có thể là nền tảng cho ứng dụng hoặc trò chơi lớn tiếp theo!

Chúc các bạn lập trình vui vẻ, và cho đến lần sau, hãy tiếp tục lặp và học hỏi!

Happy coding!

Credits: Image by storyset