Biểu thức nào sau đây hợp lệ
Trả lời:
Đáp án đúng: D
Đáp án A đúng vì phép toán `+=` được sử dụng để nối chuỗi (String) với một kiểu dữ liệu khác (trong trường hợp này là int). Java tự động chuyển đổi `int` thành `String` và thực hiện nối chuỗi.
Đáp án B sai vì trong Java, bạn không thể gán trực tiếp kết quả của phép cộng giữa một `String` và một `int` cho một biến `String` mà không có sự chuyển đổi kiểu tường minh. Mặc dù Java sẽ tự động chuyển `int` thành `String` trong phép cộng, nhưng nó đòi hỏi bạn phải thực hiện gán một cách chính xác (ví dụ: `x = x + String.valueOf(y);` hoặc `x = x + y;` đều hợp lệ do cơ chế tự động unboxing và widening)
Đáp án C sai vì nếu `x` là `null`, khi đó `x.length()` sẽ gây ra ngoại lệ `NullPointerException`. Biểu thức điều kiện `(x != null) && (x.length()>0)` sẽ bị lỗi khi `x` là `null` vì vế `x.length()` vẫn bị thực thi trước khi kiểm tra `x != null`.





