JavaScript is required

Cho đoạn mã sau. Giá trị in ra của câu lệnh dòng thứ 6 là:

class Q7 {
public static void main(String[] args) {
double d = 12.3;
Decrement dec = new Decrement();
dec.decrement(d);
System.out.println(d);
}
};
class Decrement {
public void decrement(double decMe) {
decMe = decMe - 1.0;
}
}

A.

0.0

B.

-1.0

C.

12.3

D.
11.3
Trả lời:

Đáp án đúng: C


Đoạn mã Java này minh họa cách tham số được truyền theo giá trị (pass-by-value) trong Java. Biến `d` trong phương thức `main` được khởi tạo với giá trị 12.3. Sau đó, nó được truyền cho phương thức `decrement` của đối tượng `Decrement`. Trong phương thức `decrement`, biến `decMe` nhận giá trị của `d`, và sau đó `decMe` bị trừ đi 1.0. Tuy nhiên, đây chỉ là một bản sao của `d`. Do đó, giá trị của `d` trong phương thức `main` không bị thay đổi. Khi `System.out.println(d)` được gọi, nó in ra giá trị ban đầu của `d`, tức là 12.3.

Câu hỏi liên quan