2014-05-19 34 views
5

Bạn có thể sử dụng dấu gạch dưới trong các số trong Java không? Tôi thấy mã này trong một blog, và nó hoạt động, nhưng nó sẽ tiếp tục hoạt động trong tương lai? Nó là một tính năng hay một lỗi?Dấu gạch dưới được cho phép trong các chữ số trong Java?

long oneBillion = 1_000_000_000L; 
+0

Không được phép cho đến khi JAVA 6 .... – Braj

+0

@GriffeyDog Cảm ơn tôi đã sửa chữa nó. – Braj

+1

@Braj Không, [được thêm vào trong Java 7] (https://docs.oracle.com/javase/7/docs/technotes/guides/language/underscores-literals.html) (không phải 6). –

Trả lời

6

Đây là một tính năng, mới trong Java 7. Bạn có thể dựa vào nó còn lại. Có một số hạn chế, mặc dù; xem the documentation.

+0

+1 '_1' vẫn là một biến. ;) –

1

Java 7 hỗ trợ tính năng có dấu gạch dưới trong các chữ số để cải thiện khả năng đọc của các giá trị được gán.

nhưng việc sử dụng gạch dưới bị giới hạn ở giữa hai chữ số, nghĩa là không ở đầu hoặc cuối giá trị số nhưng phải bị giới hạn giữa hai chữ số, không được làm tiền tố l, f được sử dụng để biểu diễn giá trị dài và float và không ở giữa các tiền tố radix.

0

tl; dr

Bạn có thể sử dụng dấu gạch dưới với số lượng trong Java?

Có.

Sử dụng trong các chữ số: int, long, float, double và nhiều hơn nữa cho các chữ số nhóm như bạn mong muốn.

Làm việc với ký hiệu nhị phân, thập phân, bát phân và hex.

nó sẽ tiếp tục hoạt động trong tương lai?

Có.

Hoạt động trong Java 7, Java 8, Java 9 và phiên bản mới hơn.

Đây có phải là một tính năng hoặc lỗi không?

Tính năng.

Chi tiết

Vâng, bạn đang sử dụng một feature added trong Java 7, và tiếp tục trong Java 8 và Java 9.

Bạn có thể sử dụng một gạch giữa chữ số. Bạn thậm chí có thể sử dụng một nhóm nhiều dấu gạch dưới giữa các chữ số, nếu bạn muốn. Bạn có thể sử dụng chúng trên số nguyên (số nguyên) và số phân số (phao, kép). Trong một số phân số, bạn có thể sử dụng chúng trên một hoặc cả hai bên của dấu thập phân.

Bạn có thể sử dụng chúng theo số thập lục phân (cơ số 16), số nhị phân (cơ số 2) và số bát phân (cơ số 8) cũng như số 10 cơ sở.

Bạn có thể nhóm bất kỳ số chữ số nào bạn thấy phù hợp.

Mục đích đúng là khả năng đọc của con người. Java không thấy ý nghĩa gì trong các dấu gạch dưới. Sự hiện diện hoặc vắng mặt của dấu gạch dưới trong một chữ số có hiệu ứng không trên mã của bạn.

Đọc this half-page of documentation để xem một số ví dụ hữu ích về cách sử dụng đúng và sai.

Các vấn đề liên quan