JavaScript is required

Đoạn chương trình sau in ra thông tin gì?

<%

int a=5,b=10; out.println(a&&b);

%>

A.

A. 5

B.

B. 10

C.

C. 50

D.

D. Không in gì

Trả lời:

Đáp án đúng: D


Đoạn chương trình sử dụng toán tử `&&` trong Java Server Pages (JSP). Trong JSP, biểu thức `a && b` sẽ trả về `true` nếu cả `a` và `b` đều khác 0, và `false` nếu một trong hai hoặc cả hai bằng 0. Tuy nhiên, kết quả này là một giá trị boolean (true/false), và `out.println()` sẽ in ra "true" hoặc "false" (dạng chuỗi) chứ không phải giá trị số. Trong trường hợp này, a = 5 và b = 10, cả hai đều khác 0, do đó biểu thức `a && b` sẽ cho kết quả `true`. Vậy, chương trình sẽ in ra "true", nhưng không có đáp án nào tương ứng. Vì vậy, đáp án chính xác nhất là "Không in gì", vì không có đáp án nào cho ra kết quả "true". Tuy nhiên, cần lưu ý rằng trong nhiều ngôn ngữ lập trình (như C/C++), toán tử `&&` khi áp dụng cho số nguyên sẽ trả về 1 nếu cả hai toán hạng khác 0, và 0 nếu một trong hai toán hạng bằng 0. Nhưng trong Java và JSP, nó trả về `true` hoặc `false`.

Câu hỏi liên quan