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;
}
}
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;
}
}
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.





