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?
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
if (i == j) {
continue;
}
System.out.println("i = " + i + "j = " + j);
}
}

A.

i = 0 j = 0

B.

i = 2 j = 1

C.

i = 0 j = 2

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

Đáp án đúng: C


Đoạn mã có hai vòng lặp `for` lồng nhau. Vòng lặp ngoài chạy từ `i = 0` đến `i = 1`. Vòng lặp trong chạy từ `j = 0` đến `j = 2`. Bên trong vòng lặp trong, có một câu lệnh `if (i == j) { continue; }`. Câu lệnh `continue` sẽ bỏ qua các câu lệnh còn lại trong vòng lặp hiện tại và chuyển đến lần lặp tiếp theo. Vì vậy, nếu `i` bằng `j`, dòng `System.out.println` sẽ không được thực thi. Chúng ta hãy xem xét từng khả năng: - Khi `i = 0` và `j = 0`, `i == j` là đúng, nên `continue` được thực thi và dòng `System.out.println` không được in. - Khi `i = 0` và `j = 1`, `i == j` là sai, nên dòng `System.out.println` được in: "i = 0 j = 1". - Khi `i = 0` và `j = 2`, `i == j` là sai, nên dòng `System.out.println` được in: "i = 0 j = 2". - Khi `i = 1` và `j = 0`, `i == j` là sai, nên dòng `System.out.println` được in: "i = 1 j = 0". - Khi `i = 1` và `j = 1`, `i == j` là đúng, nên `continue` được thực thi và dòng `System.out.println` không được in. - Khi `i = 1` và `j = 2`, `i == j` là sai, nên dòng `System.out.println` được in: "i = 1 j = 2". Trong các lựa chọn đưa ra, chỉ có "i = 0 j = 2" là một trong các kết quả có thể được in ra.

Câu hỏi liên quan