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);
}
}
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);
}
}
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ã.





