tôi đã chạy vào dòng đáng ngạc nhiên sau đây:Java int + = đôi cú pháp ngạc nhiên
int x = 7;
x += 0.5;
là cú pháp rõ ràng quy phạm pháp luật! Sau khi bổ sung, x vẫn là 7, do đó, gấp đôi đang được đúc thành một int và làm tròn xuống 0, nhưng điều này được thực hiện mà không có bất kỳ diễn xuất rõ ràng nào trong mã. Có ai ngạc nhiên bởi điều này không? Lý do cơ bản ở đây là gì?
chỉnh sửa để làm rõ câu hỏi của tôi: Có ai có thể đưa ra lý do chính đáng cho quyết định này không? Nó đánh tôi như một quyết định khủng khiếp để đòi hỏi phải đúc rõ ràng ở khắp mọi nơi khác, nhưng có một điểm này trong ngôn ngữ mà bạn âm thầm vứt bỏ dữ liệu. Tui bỏ lỡ điều gì vậy?
Thú vị. Tôi chắc chắn rằng [JLS] (http://docs.oracle.com/javase/specs/jls/se7/html/index.html) địa chỉ này mặc dù. Bạn đã cho nó một cái nhìn để xem những gì nó nói? –
@Hovercraft: JLS cung cấp thông số kỹ thuật, nhưng không phải là biện minh cho quyết định, đó là những gì tôi hỏi. –