Kiểu dữ liệu trong java?

Các giá trị có dạng dấu chấm động trong mã nguồn java được hiểu mặc định là các giá trị trực tiếp dấu chấm động thuộc kiểu float.

Câu này nghĩa là gì vậy, mình đọc mà không hiểu? bạn nào giải thích giúp mình với.

là như này

float oof = 1234.5678;
//              ^ đây là dấu chấm động 
2 Likes

mình biết float là kiểu dữ liệu biểu diễn số thực với độ chính xác đơn nhưng mà mình muốn hỏi cái câu bên trên nghia là như nào?

  • Các giá trị có dạng dấu chấm động trong mã nguồn java ==> (post trên)
  • được hiểu mặc định là các giá trị trực tiếp dấu chấm động ==> là 1 số thập phân
  • thuộc kiểu float. ==> cái này là ý chốt cho câu nói nè (cách trình bày quy nạp)

còn kiểu float như nào thì em nghĩ bác biết rồi nhỉ ?
nói thật là vế 2 em ko biết giải thích thế nào cho bác “thông” nữa

2 Likes

Tức là khi các số thực (dấu chấm động) viết trực tiếp trong mã nguồn sẽ tự hiểu là kiểu float (thực 32).

Nhưng kiểm tra thì nó tự hiểu là double chứ không phải float:

public class HelloWorld{

     public static void main(String []args){
         Object o = 0.1;
         // Kết quả: class java.lang.Double
         System.out.println(o.getClass().toString());

         // gán thành công
         double d = 0.1;

         // lỗi khi biên dịch
         // incompatible types: possible lossy conversion from double to float.
         float f = 0.1;
     }
}

Có nhầm lẫn chăng?

1 Like

Sách sai :smiley: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

D or d (64-bit double literal; this is the default and by convention is omitted)

Mặc định là double.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?