JavaScript is required

Cho đoạn mã sau. Dòng nào sẽ là một trong số các kết quả được in ra?

outer: for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
if (i == j) {
continue outer;
}
System.out.println("i = " + i + " j = " + j);
}
}

A.

i = 0 j = 0

B.

i = 0 j = 1

C.

i = 0 j = 2

D.
i = 1 j = 0
Trả lời:

Đáp án đúng: D


Đoạn mã sử dụng vòng lặp `for` lồng nhau với một nhãn `outer`. Lệnh `continue outer;` sẽ bỏ qua các câu lệnh còn lại trong vòng lặp `for` bên trong và tiếp tục vòng lặp `for` bên ngoài với giá trị `i` tiếp theo. Khi `i = 0` và `j = 0`, điều kiện `i == j` là đúng, do đó `continue outer;` được thực thi. Vòng lặp bên trong bị bỏ qua và `i` tăng lên 1. Khi `i = 1` và `j = 0`, điều kiện `i == j` là sai, do đó `System.out.println("i = " + i + " j = " + j);` được thực thi, in ra "i = 1 j = 0". Các lựa chọn khác không phải là kết quả có thể được in ra từ đoạn mã.

Câu hỏi liên quan