JavaScript is required

Đọc đoạn mã sau. Kết quả in ra của đoạn mã trên là gì?
int i = 1,
j = 10;
do {
if (i > j) {
break;
}
j--;
} while (++ i < 5 );
System.out.printIn("i = " + i + " and j = " + j);

A.
i = 6 and j = 5
B.
i = 5 and j = 5
C.
i = 6 and j = 4
D.
i = 5 and j = 6
Trả lời:

Đáp án đúng: D


Đoạn mã sử dụng vòng lặp `do...while`. Ta cùng theo dõi giá trị của `i` và `j` trong quá trình lặp: - **Lần 1:** `i = 1`, `j = 10`. `i > j` là sai. `j` giảm thành 9. `i` tăng thành 2. Điều kiện `i < 5` (tức `2 < 5`) là đúng. - **Lần 2:** `i = 2`, `j = 9`. `i > j` là sai. `j` giảm thành 8. `i` tăng thành 3. Điều kiện `i < 5` (tức `3 < 5`) là đúng. - **Lần 3:** `i = 3`, `j = 8`. `i > j` là sai. `j` giảm thành 7. `i` tăng thành 4. Điều kiện `i < 5` (tức `4 < 5`) là đúng. - **Lần 4:** `i = 4`, `j = 7`. `i > j` là sai. `j` giảm thành 6. `i` tăng thành 5. Điều kiện `i < 5` (tức `5 < 5`) là sai. Vòng lặp kết thúc. Vậy, sau khi vòng lặp kết thúc, `i = 5` và `j = 6`.

Câu hỏi liên quan