2011-11-22 24 views
5

Loại dữ liệu cho số 9.6352 trong Java là gì?Làm thế nào để quyết định liệu giá trị đã cho là nổi hay gấp đôi trong Java?

Thực ra nếu tôi postfix số bằng 'd' hoặc 'f'. sau đó nó sẽ được khá dễ dàng để quyết định. Nhưng nếu tôi để nó như một mình, thì đó sẽ là loại mặc định của số trong java?

+0

Và một điều nữa Double là lớp trong khi double là dataype. Tôi có đúng không? – Developer

+1

'Double' là một lớp thực sự,' double' là [kiểu nguyên thủy] (http://java.sun.com/docs/books/jls/third_edition/html/typesValues.html#4.2) – Mat

Trả lời

10

Đi kiểm tra phần JLS trên literals điểm nổi (§3.10.2):

Một dấu chấm đen là kiểu float nếu nó được hậu tố với một lá thư ASCII F hoặc f; nếu không thì kiểu của nó là gấp đôi và nó có thể tùy chọn được gắn liền với một chữ cái ASCII D hoặc d.

Vì vậy, nó là gấp đôi nếu nó không bị hậu tố.

+0

Bạn có nghĩa là 'hậu tố ', đúng? ;-) –

+0

Ooups, vâng, cảm ơn :-) – Mat

1

Theo mặc định, nó là double loại nguyên thủy.

8

Theo mặc định, bất kỳ loại dữ liệu dấu phẩy động nào không có 'f' hoặc 'F' được đặt cố định, được coi là loại double. Vì số đã cho không kết thúc bằng 'f'/'F', nó thuộc loại double.

Chúng tôi có thể tùy chọn thêm 'd' hoặc 'D' ở cuối để đánh dấu nó là loại double, nhưng lại là tùy chọn.

2

Để bạn quan tâm;

  • 0xD là 13, 0xF là 15
  • 0D(double) 00F(float) 0.
Các vấn đề liên quan