JavaScript is required

Đọc đoạn mã lệnh sau

1:public class Main {

2: public static void main(String[] args) {

3: int x = -1;

4: String y = x + 3;

5: System.out.println("x = " + x + "y = " + y);

6: }

7:}

Sau khi thực thi chương trình sẽ in ra kết quả gì ?

A.

x=-1 y=2

B.

Lỗi biên dịch: Uncompilable source code - incompatible types

C.

x=-1 y=-13

D.

x=-1 y=4

Trả lời:

Đáp án đúng: B


Đoạn mã Java thực hiện phép cộng một số nguyên và một chuỗi. Trong Java, khi toán tử `+` được sử dụng với một chuỗi, nó sẽ thực hiện phép nối chuỗi (string concatenation). Do đó, `-1 + 3` được coi như một biểu thức chuỗi, trong đó số nguyên -1 và 3 sẽ được tự động chuyển đổi thành chuỗi và nối với nhau. Biến `x` có giá trị là `-1`. Biến `y` được gán giá trị bằng biểu thức `x + 3`. Do `x` là một số nguyên, nhưng vì biểu thức này được gán cho một chuỗi `y`, nên java sẽ tự động chuyển đổi phép cộng thành nối chuỗi, kết quả của `y` sẽ là `-13`.

Câu hỏi liên quan