JavaScript is required

Kết quả in ra của đoạn mã trên là gì?
int i = 0;
do {
flag = false;
System.out.print(i++);
flag = i < 10;
continue;
} while (( flag ) ? true: false);

A.
000000000
B.
0123456789
C.
Lỗi biên dịch
D.
Đoạn mã thực thi nhưng không in ra kết quả gì
Trả lời:

Đáp án đúng: B


Đoạn mã sử dụng vòng lặp `do...while`. - `int i = 0;`: Khởi tạo biến `i` bằng 0. - `do { ... } while (( flag ) ? true: false);`: Vòng lặp `do...while` sẽ thực hiện ít nhất một lần. - `flag = false;`: Gán `flag` bằng `false` ở mỗi lần lặp. - `System.out.print(i++);`: In giá trị hiện tại của `i` (ban đầu là 0), sau đó tăng `i` lên 1. - `flag = i < 10;`: Gán `flag` bằng `true` nếu `i` nhỏ hơn 10, ngược lại gán `flag` bằng `false`. - `continue;`: Bỏ qua các câu lệnh còn lại trong vòng lặp và chuyển đến lần lặp tiếp theo. - `( flag ) ? true: false`: Điều kiện của vòng lặp `while`. Nó tương đương với `flag`. Vòng lặp tiếp tục nếu `flag` là `true`. Như vậy, vòng lặp sẽ in ra các giá trị từ 0 đến 9, vì khi `i` bằng 10, `flag` sẽ là `false`, và vòng lặp kết thúc.

Câu hỏi liên quan