CodeGym/Blog Java/Ngẫu nhiên/Java cho vòng lặp

Java cho vòng lặp

Xuất bản trong nhóm
Một lần Mark Zuckerberg lưu ý rằng máy tính thực sự tốt trong việc lặp lại các lệnh. Nó không đơn giản đối với con người, chúng ta lặp đi lặp lại cùng một việc nhiều lần đến phát chán, nhưng một chiếc máy tính có thể làm hàng triệu, hàng tỷ lần mà không bao giờ chán. Nếu bạn cố gắng gửi lời chúc đến tất cả người dùng Facebook, sẽ không có con người nào có đủ thời gian để làm điều đó. Tuy nhiên, bạn có thể tạo một máy tính để giải quyết nhiệm vụ này bằng cách viết một vài dòng mã. Đây là cách vòng lặp hoạt động. Họ để chúng tôi không lặp lại những hành động thường ngày giống nhau. Vòng lặp phổ biến nhất trong Java được gọi là vòng lặp định nghĩa hoặc vòng lặp for.

Làm cách nào để viết một vòng lặp for trong Java? Đối với vòng lặp nói chung

Vòng lặp for thực thi một số câu lệnh trong một số lần nhất định. Ví dụ: viết năm mươi lần “Tôi không được như vậy, ho-ho, ho” hoặc gửi lời mời tới tất cả bạn bè của bạn là những nhiệm vụ điển hình cho loại vòng lặp này. Cú pháp của phiên bản phổ biến nhất của vòng lặp for:
for ([counter initialization]; [checking conditions]; [changing of the counter])
{
    //  statements
}
Biểu thức khởi tạo được thực thi một lần, sau đó điều kiện được đánh giá, đây phải là biểu thức boolean.
  • Khi vòng lặp bắt đầu thực thi khởi tạo.
  • Khi các điều kiện đánh giá là sai, vòng lặp của chúng tôi sẽ dừng hoạt động.
Bộ đếm đang thay đổi, thường thì việc tăng (hoặc giảm) xảy ra sau mỗi lần lặp qua vòng lặp. Bạn có thể bỏ qua bất kỳ biểu thức nào trong ba biểu thức vòng lặp (khởi tạo, kiểm tra điều kiện, thay đổi bộ đếm). Điều kiện vòng lặp được kiểm tra trước bước tiếp theo của vòng lặp. Nếu điều kiện sai, chương trình sẽ thoát khỏi vòng lặp và tiếp tục với lệnh theo sau cấu trúc for. Ở đây chúng ta có sơ đồ khối của vòng lặp for. Vòng lặp for trong Java - 2

Cách sử dụng vòng lặp for trong Java. Ví dụ đơn giản.

Đây là một ví dụ cụ thể về vòng lặp Java for. Hãy viết mười lần "Xin chào!" Chuỗi mỗi lần nó sẽ là từ dòng mới với một số dòng này. Chúng ta sẽ nhận được đầu ra tiếp theo:
  1. Xin chào!
  2. Xin chào!
  3. Xin chào!
  4. Xin chào!
  5. Xin chào!
  6. Xin chào!
  7. Xin chào!
  8. Xin chào!
  9. Xin chào!
  10. Xin chào!
Đây là chương trình Java của chúng tôi giải quyết vấn đề này:
public class ForExample {
   public static void main(String[] args) {
       for (int i = 0; i < 10; i++) {
           System.out.println(i + 1 + ". Hello!");
       }
   }
}

Làm thế nào nó hoạt động?

Bước 1. Bộ đếm i = 0. Vòng lặp kiểm tra điều kiện của chúng ta, i << 10, do đó, các câu lệnh vòng lặp được thực thi. Nó in cụm từ "1. Xin chào!". 1 là xâu i + 1 (vì ta tính từ số 0 mà dòng đầu tiên vẫn là dòng đầu tiên). Bộ đếm i được tăng lên. Bây giờ, i = 1. Bước 2. Bộ đếm i = 1. i < 10, vì vậy chúng ta có cụm từ "2. Xin chào!" và i + 1 = 2. … Bước 10. Bộ đếm i = 9, chúng ta có "10. Xin chào!" và i tăng lên 10. Bước 11. Bộ đếm i = 10. i < 10 ? Không, nó là sai. Do đó, vòng lặp kết thúc. Vòng lặp for trong Java - 3

Vòng lặp While và vòng lặp for: sự khác biệt và tương đồng

Trong Java vòng lặp không xác định hoặc vòng lặp while được thực thi liên tục nếu điều kiện boolean trở thành sự thật. Cú pháp của vòng lặp while:
while (boolean condition)
       {
            loop statements...
       }
Thông thường, bạn có thể chọn vòng lặp nào bạn muốn sử dụng. Đôi khi chúng rất gần nhau và bạn có thể sử dụng cả hai. Ví dụ: đây là mã cho cùng một tác vụ (viết mười lần "Xin chào!" với một số dòng) được viết bằng vòng lặp while:
public class ForAndForEach {
   public static void main(String[] args) {
       int j = 0;  //  we use the counter this way
       while (j < 10) {
           System.out.println(j + 1 + ". Hello!");
           j++;
       }
   }
}
Tuy nhiên, các lập trình viên chuyên nghiệp không thực sự thích vòng lặp while, và bất cứ khi nào có thể, hãy thử sử dụng vòng lặp for.
TRONG KHI

Chúng tôi sử dụng vòng lặp for nếu chúng tôi đã biết số lần lặp.

Chúng ta sử dụng vòng lặp while nếu không biết chính xác số lần lặp.

Khởi tạo, kiểm tra điều kiện và thay đổi bộ đếm đã được thực hiện theo cú pháp của một vòng lặp

Khởi tạo và kiểm tra điều kiện bên trong vòng lặp. Ngoài ra, bạn có thể sử dụng bộ đếm trong các câu lệnh.

Vòng lặp vô hạn cho:

for(;;){
	System.out.println("working...");
}

Vòng lặp vô hạn trong khi:

while(true){
	System.out.println("working...");
}

Cách thoát khỏi vòng lặp for trong java

Thông thường vòng lặp for đang chạy như một dòng chảy và cách tự nhiên để thoát khỏi vòng lặp là khi một điều kiện nhận giá trị sai. Tuy nhiên, có hai câu lệnh điều khiển cho phép bạn thoát khỏi vòng lặp trước khi bạn nhận được giá trị sai của một điều kiện — ngắt và tiếp tục.
  • break cho phép thoát khỏi thân vòng lặp hiện tại như thể điều kiện vòng lặp đã được đánh giá là sai.
  • continue làm cho vòng lặp chuyển sang bước tiếp theo (lặp lại bộ đếm) mà không cần thực hiện các câu lệnh.
Hãy giải quyết vấn đề tiếp theo bằng cách sử dụng ngắt và tiếp tục. Chúng tôi có một mảng tên và chúng tôi chào tất cả mọi người trong mảng này ngoại trừ những người lạ. Vì vậy, nếu chúng ta gặp chuỗi “Người lạ” trong vòng lặp của mình, chúng ta sẽ thoát khỏi chuỗi đó (đi chỗ khác và dừng lại để chào bất kỳ ai khác).
public class ForBreakExample {
   public static void main(String[] args) {
       String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
       for (int i = 0; i < names.length; i++) {
//  how to break out of a for loop, java: check if we have any "Stranger" in  //  our array
if (names[i].equals("Stranger")) {
               System.out.println("I don't chat with strangers");
               break;
           }
           System.out.println("Hello," + names[i]);
       }
   }
}
Kết quả thực hiện chương trình của chúng ta là:
Hello,Mike
Hello,Dustin
I don't chat with strangers
Nhìn thấy? Chúng tôi chạy khỏi vòng lặp trước khi chào Lucas và Will. Bây giờ, hãy sử dụng tiếp tục, chỉ để bỏ qua "Người lạ" nhưng vẫn ở trong vòng lặp để nói xin chào với những người bạn khác.
public class ForContinueExample {
   public static void main(String[] args) {
       String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
       for (int i = 0; i < names.length; i++) {
           if (names[i].equals("Stranger")) {
               System.out.println("I don't chat with strangers");
               continue;
           }
           System.out.println("Hello," + names[i]);
       }
   }
}
Kết quả là:
Hello,Mike
Hello,Dustin
I don't chat with strangers
Hello,Lucas
Hello,Will
Xuất sắc! Chúng tôi chào tất cả bạn bè, nhưng không nói chuyện với người lạ.

Phiên bản nâng cao của vòng lặp for hoặc for-each

For-each là một loại vòng lặp for được sử dụng khi bạn cần xử lý tất cả các phần tử của một mảng hoặc tập hợp. Trên thực tế, cụm từ for-each không được sử dụng trong chu trình này. Cú pháp như sau:
for (type itVar: array)
{
    Block of operators;
}
Trong đó type là kiểu của biến lặp (giống kiểu dữ liệu của mảng), ItVar là tên của nó, array là mảng hoặc có thể có cấu trúc dữ liệu khác, ArrayList chẳng hạn. Như bạn có thể thấy, không có bộ đếm, biến lặp lặp lại trên các phần tử của một mảng hoặc tập hợp chứ không phải các giá trị chỉ mục. Khi một vòng lặp như vậy được thực thi, biến lặp được gán tuần tự giá trị của từng phần tử của mảng hoặc tập hợp, sau đó khối câu lệnh (hoặc toán tử) đã chỉ định được thực thi. Chú ý: vòng lặp for-each có thể được áp dụng cho mảng và bất kỳ lớp nào triển khai giao diện java.lang.Iterable. Hãy giải quyết vấn đề tương tự với lời chào bạn bè, phớt lờ người lạ ("Stranger") nhưng lần này sử dụng vòng lặp for-each.
public class ForEachExample {
   public static void main(String[] args) {
       String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
	//  for each loop, Java code
       for (String name : names) {
           if (name.equals("Stranger")) {
               System.out.println("I don't chat with strangers");
               continue;
           }
           System.out.println("hello, " + name);
       }
   }
}
Để củng cố những gì bạn đã học, chúng tôi khuyên bạn nên xem một video bài học từ Khóa học Java của chúng tôi
Bình luận
  • Phổ biến
  • Mới
Bạn phải đăng nhập để đăng nhận xet
Trang này chưa có bất kỳ bình luận nào