menu

VanThuong.Com

Blog học lập trình Java và SEO miễn phí.

Tìm hiểu các vòng lặp trong Java

Posted by on
Trong một chương trình Java, bạn sẽ cần có những vòng lặp để xử lý những bài toán cùng kiểu nhiều lần. Lấy ví dụ đơn giản như bạn cần in ra màn hình một dãy số từ 1..10. Nếu như bạn viết 10 câu lệnh System.out.println(1) cho đến System.out.println(10) thì nhìn chương trình của bạn rất chuối. Và hơn thế nữa khi nhìn code của bạn chắc chắn tôi sẽ cho rằng bạn không biết về lập trình.
Tìm hiểu các vòng lặp trong Java

Tìm hiểu vòng lặp for

Trong Java, để xử lý lặp đi lặp lại một hành động nhiều lần chúng ta có nhiều cách để thực hiện. Nếu như bạn biết được số lần mà hành động đó được lặp lại hãy sử dụng vòng lặp for.
Syntax
for (khoi_tao_gia_tri; dieu_kien_lap; cap_nhat) {
  // Các câu lệnh
}
  • Khi bước vào vòng lặp for, phần khoi_tao_gia_tri sẽ được thực hiện đầu tiên và nó chỉ xảy ra đúng 1 lần. Bước này cho phép chúng ta khai báo và khởi tạo các biến điều khiển của vòng lặp.
  • Sau khi các biến điều khiển vòng lặp được khởi tạo xong xuôi thì nó sẽ thực hiện việc kiểm tra dieu_kien_lap (dieu_kien_lap là 1 biểu thức boolean). Nếu như giá trị của dieu_kien_lap là true thì các Các câu lệnh sẽ được thực thi. Nếu biểu thức nhận giá trị false thì vòng lặp sẽ chấm dứt và các câu lệnh này không được thực thi.
  • Sau khi Các câu lệnh thực thi hoàn tất. Phần cap_nhat sẽ được gọi để cập nhật lại giá trị cho các biến điều khiển vòng lặp mà chúng ta đã khai báo ở bước khởi tạo.
  • Một khi phần cap_nhat hoàn tất, biểu thức dieu_kien_lap sẽ được gọi lại và kiểm tra. Nếu thỏa điều kiện thì Các câu lệnh sẽ tiếp tục được thực thi.
Ví dụ:
public class Demo {
  public static void main(String args[]) {
    for (int x = 10; x < 20; x = x+1) {
      System.out.println("value of x : " + x );
    }
  }
}
Kết quả in ra màn hình như sau:
value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19

Tìm hiểu vòng lặp while

Chúng ta có 1 cách khác để thực thi vòng lặp trong Java đó chính là sử dụng vòng lặp while. Trong vòng lặp này, bạn không phải biết chính xác sổ lần mà vòng lặp sẽ thực hiện nhưng bạn cần biết khi nào thì vòng lặp sẽ kết thúc.
Syntax
while (loop_condition) {
  // Các câu lệnh
}
Từ cú pháp của vòng lặp while bạn có thể biết rằng, vòng lặp sẽ tiếp tục thực hiện các câu lệnh bên trong khi và chỉ khi biểu thức loop_condition nhận giá trị true.
Ví dụ:
public class Demo {
  public static void main(String args[]) {
    int x = 0;
    while (x < 10) {
      System.out.println("Gia tri cua x : " + x );
    }
  }
}
Kết quả in ra màn hình như sau
Gia tri cua x : 0
Gia tri cua x : 1
Gia tri cua x : 2
Gia tri cua x : 3
Gia tri cua x : 4
Gia tri cua x : 5
Gia tri cua x : 6
Gia tri cua x : 7
Gia tri cua x : 8
Gia tri cua x : 9

Một cách khác của vòng lặp while bắt đầu bằng từ khóa do:
Syntax
do {
  // các câu lệnh
} while (loop_condition);
Vòng lặp này sẽ kiểm tra điều kiện lặp sau khi thực hiện các dòng lệnh bên trong 2 dấu ngoặc nhọn. Điều đó có nghĩa rằng vòng lặp của bạn sẽ được thực thi ít nhất 1 lần.

Các lệnh điều khiển vòng lặp

Trong khi thực hiện các vòng lặp, bạn có thể sủ dụng hai từ khóa quan trong khác là breakcontinue.

Từ khóa break được sử dụng để chấm dứt và nhảy ra khỏi vòng lặp khi một điều kiện riêng biệt nào đó đúng. Các bạn có thể xem qua ví dụ bên dưới đây để hiểu rõ hơn cách thực thi của câu lệnh này.
public class Demo {
  public static void main(String args[]) {
    int[] numbers = {10, 20, 30, 40, 50};

    for (int x : numbers ) {
      if (x == 30) {
        break;
       }
      System.out.println(x);
    }
  }
}
Kết quả in ra màn hình
10
20
Như bạn thấy thì khi thực hiện vòng lặp, tôi kiểm tra điều kiện nếu x == 30 thì sẽ chấm dứt và thoát khỏi vòng lặp nhờ vào câu lệnh break này.

Từ khóa continue cho phép chúng ta bỏ qua các đoạn mã phía sau nó và quay trở lại điểm bắt dầu của vòng lặp. Lấy lại ví dụ trên, bạn muốn in ra tất cả các số trong mảng numbers nhưng ngoại trừ số 30.
public class Demo {
  public static void main(String args[]) {
    int[] numbers = {10, 20, 30, 40, 50};

    for (int x : numbers ) {
      if (x == 30) {
        continue;
       }
      System.out.println(x);
    }
  }
}
Kết quả in ra màn hình là
10
20
40
50
Đăng bình luận

menu