Có vẻ như khi bạn nhập một số vào Java, trình biên dịch sẽ tự động đọc nó dưới dạng số nguyên, đó là lý do tại sao khi bạn nhập (dài) 6000000000 (không nằm trong phạm vi của số nguyên), nó sẽ phàn nàn rằng 6000000000 không phải là số nguyên. Để sửa lỗi này, tôi phải chỉ định 6000000000L. Tôi vừa học về đặc điểm kỹ thuật này.Số đặc tả L (dài) của Java
Có các thông số kỹ thuật số khác như ngắn, byte, float, double không? Nó có vẻ như là sẽ tốt vì có (tôi giả sử) nếu bạn có thể chỉ định số bạn đang gõ là một đoạn ngắn sau đó java sẽ không phải bỏ nó - đó là một giả định, sửa tôi nếu tôi sai . Tôi thường tự mình tìm kiếm câu hỏi này, nhưng tôi không biết loại đặc tả số này thậm chí còn được gọi là gì.
entry muộn: loại bỏ các nguồn tiềm năng của sự mơ hồ luôn luôn là tốt, và * Tôi không đồng ý * ... nhưng tôi tin rằng nếu bạn thấy mình bối rối '1' với' l' và '0' với' O' (và vân vân), * ưu tiên * của bạn là đặt phông chữ đúng (nếu bạn có thể), sau đó lo lắng về việc đảm bảo bạn không bỏ lỡ phím Shift. – davidcesarino
@SimonNickerson Tôi có câu hỏi về hậu tố ... Nếu tôi khai báo biến _long_ hoặc _double_ như: 'long _lo = 30;' và không '30L' có nghĩa là biến của tôi sẽ được chuyển thành _float_ không? Hoặc trong trường hợp '_lo = _lo + 2.77' mà' _lo' sẽ được đúc thành _float_ mặc dù nó được khai báo là _long_ – luigi7up
Không, phao không được tham gia ở đây. Trong trường hợp đầu tiên, '30' là một' int' được tự động chuyển đổi thông qua một chuyển đổi mở rộng thành 'long'.Trong trường hợp thứ hai, tuyên bố của bạn là bất hợp pháp. Bạn sẽ phải đúc một cách rõ ràng phía bên tay phải, ví dụ: '_lo = (long) (_lo + 2.77)' –