Chu kỳ là gì
Một chương trình viết bằng Java bao gồm một mã cụ thể. Thông thường nó được thực hiện tuần tự: từng dòng, từ trên xuống dưới. Nhưng cũng có những cấu trúc mã làm thay đổi cách thực thi tuyến tính của chương trình. Chúng được gọi là cấu trúc điều khiển . Nhờ chúng, mã có thể được thực thi một cách có chọn lọc. Ví dụ: chạy một khối mã thay vì khối mã khác. Vòng lặp là một loại cấu trúc điều khiển để tổ chức thực thi lặp lại cùng một đoạn mã. Mã bên trong cấu trúc điều khiển như vậy được thực thi theo chu kỳ. Mỗi lần thực thi mã là một lần lặp của vòng lặp . Số lần lặp được kiểm soát bởi điều kiện vòng lặp. Đoạn mã chạy bên trong vòng lặp được gọi là thân vòng lặp . Các loại chu kỳ sau đây được biết đến :-
Vòng lặp điều kiện tiên quyết: Điều kiện thực hiện được xác định trước lần lặp đầu tiên.
-
Vòng lặp có hậu điều kiện: Điều kiện thực hiện được xác định sau lần lặp đầu tiên (vì vậy chúng luôn được thực thi ít nhất một lần). Hữu ích khi bạn cần thực hiện một hành động nhất định cho đến khi nhận ra một điều kiện nhất định: ví dụ: đọc dữ liệu đầu vào của người dùng cho đến khi anh ta nhập từ “stop”.
-
Vòng lặp bộ đếm: Số lần lặp được xác định bởi bộ đếm mô phỏng. Điều kiện vòng lặp xác định giá trị ban đầu và giá trị cuối cùng của nó. Mỗi lần lặp bộ đếm được tăng lên. Chúng ta có thể xác định trước số lần lặp.
Các vòng lặp này rất hữu ích khi bạn cần lặp qua tất cả các phần tử trong một bộ sưu tập. Vòng lặp có bộ đếm được gọi là “vòng lặp cho…”. “Đối với mỗi phần tử của một bộ sưu tập nhất định, hãy thực hiện các hành động sau.”
Có những trường hợp việc thực hiện vòng lặp có thể bị gián đoạn trước khi đạt được điều kiện của nó. Ví dụ: nếu chúng ta có một bộ sưu tập gồm 100 số và chúng ta cần hiểu liệu nó có chứa số âm hay không. Chúng ta có thể bắt đầu lặp qua tất cả các số bằng vòng lặp for. Nhưng khi tìm được số âm đầu tiên, chúng ta không cần phải duyệt các số còn lại. Chúng ta có thể làm gián đoạn việc thực hiện vòng lặp nếu việc thực hiện tiếp theo của nó không có ý nghĩa. Những tình huống như vậy được gọi là gián đoạn chu kỳ.
-
Vòng lặp vô điều kiện là vòng lặp chạy vô tận. Ví dụ: “Khi 1=1, in ra “1=1”. Một chương trình như vậy sẽ chạy cho đến khi nó bị gián đoạn theo cách thủ công.
Các vòng lặp này cũng hữu ích khi được sử dụng kết hợp với việc ngắt vòng lặp từ bên trong. Hãy sử dụng chúng một cách cẩn thận để không khiến chương trình bị treo.
Bạn có thể tìm hiểu thêm về vòng lặp trong ngôn ngữ lập trình Java ở cấp độ 4 của khóa học JavaRush. Đặc biệt với các vòng lặp while và for.
Vòng lặp trong Java
Bây giờ hãy xem xét các vòng lặp trong Java. Có một số loại trong ngôn ngữ này:while
- vòng lặp với điều kiện tiên quyết;do..while
- một chu trình có hậu điều kiện;for
— vòng lặp với bộ đếm (vòng lặp for);for each..
— vòng lặp “for each…” — một loại vòng lặp for để lặp qua một tập hợp các phần tử.
while
và do.. while
có for
thể được sử dụng như các vòng lặp vô điều kiện. Bạn có thể so sánh cú pháp của các vòng lặp trong các ngôn ngữ lập trình khác nhau ở cấp độ đào tạo thứ tư trong khóa học JavaRush. Ví dụ: vòng lặp for và while. Chúng ta hãy xem xét ngắn gọn từng loại được trình bày.
trong khi lặp lại
Vòng lặp này trong Java trông như thế này:while (expression) {
statement(s)
}
Đây:
expression
— một điều kiện vòng lặp, một biểu thức sẽ trả vềboolean
một giá trị.statement(s)
— thân vòng lặp (một hoặc nhiều dòng mã).
expression
. Nếu kết quả của biểu thức là đúng thì phần thân vòng lặp sẽ được thực thi statement(s)
. Ví dụ:
public class WhileExample {
public static void main(String[] args) {
int countDown = 10;
while (countDown >= 0) {
System.out.println("До старта: " + countDown);
countDown --;
}
System.out.println("Поехали !");
}
}
Phần kết luận:
До старта: 10
До старта: 9
До старта: 8
До старта: 7
До старта: 6
До старта: 5
До старта: 4
До старта: 3
До старта: 2
До старта: 1
До старта: 0
Поехали !
Sử dụng while
, bạn có thể tạo một vòng lặp vô hạn:
while (true) {
// тело цикла
}
Để làm gián đoạn việc thực hiện vòng lặp, toán tử được sử dụng break
. Ví dụ:
public class WhileExample {
public static void main(String[] args) {
int count = 1;
while (true) {
System.out.println("Строка №" + count);
if (count > 3) {
break;
}
count++; // Без наращивания цикл будет выполняться вечно
}
}
}
Phần kết luận:
Строка №1
Строка №2
Строка №3
Строка №4
Bạn có thể thực hành viết vòng lặp của riêng mình ở cấp độ 4 của khóa học JavaRush.
vòng lặp do..while
Cấu trúcdo.. while
trông như thế này:
do {
statement(s)
} while (expression);
Đây:
expression
— một điều kiện vòng lặp, một biểu thức sẽ trả vềboolean
một giá trị.statement(s)
— thân vòng lặp (một hoặc nhiều dòng mã).
while
, giá trị của biểu thức sẽ được đánh giá sau mỗi lần lặp. Nếu kết quả của biểu thức là true thì phần thân vòng lặp sẽ được thực thi lại statement(s)
(ít nhất một lần). Ví dụ:
public class DoWhileExample {
public static void main(String[] args) {
int count = 1;
do {
System.out.println("count = " + count);
count ++;
} while (count < 11);
}
}
Phần kết luận:
count = 1
count = 2
count = 3
count = 4
count = 5
count = 6
count = 7
count = 8
count = 9
count = 10
vòng lặp for
Vòng lặp Java này trông như thế này:for (initialization; termination; increment) {
statement(s)
}
Đây:
initialization
- một biểu thức bắt đầu thực hiện vòng lặp. Chỉ thực hiện một lần ở đầu vòng lặp. Thông thường, biểu thức này khởi tạo bộ đếm vòng lặptermination
-boolean
một biểu thức quy định sự kết thúc của vòng lặp. Nếu kết quả của biểu thức là sai thì vòng lặpfor
sẽ bị ngắt.increment
— một biểu thức được thực thi sau mỗi lần lặp của vòng lặp. Thông thường, biểu thức này liên quan đến việc tăng hoặc giảm một biến đếm.statement(s)
- phần thân của chu trình.
initialization
, termination
, increment
là tùy chọn. Nếu chúng ta bỏ qua từng cái, chúng ta sẽ có một vòng lặp vô hạn:
// бесконечный цикл
for ( ; ; ) {
// code тела цикла
}
Vòng lặp ví dụ for
:
public class ForExample {
public static void main(String[] args) {
for (int i = 1; i < 6; i++) {
System.out.println("Строка №" + i);
}
}
}
Phần kết luận:
Строка №1
Строка №2
Строка №3
Строка №4
Строка №5
Hội thảo về vòng lặp for được trình bày ở cấp độ 4 của khóa học JavaRush.
Vòng lặp cho mỗi
Vòng lặp Java này là một loại vòng lặpfor
để lặp lại các bộ sưu tập và mảng. Cấu trúc for each
trông như thế này:
for (Type var : vars) {
statement(s)
}
Đây:
vars
- biến, danh sách hoặc mảng hiện cóType var
— xác định một biến mới cùng loại (Type
) với tập hợpvars
.
public class ForExample {
public static void main(String[] args) {
String[] daysOfWeek =
{ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" };
for (String dayOfWeek : daysOfWeek) {
System.out.println(dayOfWeek);
}
}
}
Vòng lặp Java được nghiên cứu trong khóa học JavaRush ở cấp độ thứ tư của nhiệm vụ Cú pháp Java. Hãy thử giải quyết các vấn đề về chủ đề này :)
GO TO FULL VERSION