[Java căn bản] Bài 5: Các kiểu dữ liệu trong Java

[Java căn bản] Bài 5: Các kiểu dữ liệu trong Java

Trong bài trước chúng ta đã tìm hiểu về biến và các kiểu biến trong Java, trong bài đó các bạn thấy các biến thường đi với một kiểu dữ liệu nhất định. Vậy kiểu dữ liệu là gì? và trong Java sẽ có các kiểu dữ liệu nào? trong bài này chúng ta cùng tìm hiểu nhé.

Java là một ngôn ngữ lập trình như các ngôn ngữ lập trình khác. Để đáp ứng được các yêu cầu lập trình Java cũng cung cấp các biến tương tự như các ngôn ngữ lập trình. Các kiểu dữ liệu Java phù hợp với bộ nhớ của nhiều máy, vì thế mà Java có thể chạy trên nhiều nền khác nhau mà không cần phải thay đổi điều gì.

Kiểu dữ liệu gốc trong Java (primitive)

Có 8 kiểu dữ liệu gốc trong Java. Chúng là các kiểu được định nghĩa bởi chính ngôn ngữ lập trình, và được định danh bởi những từ khóa nhất định. Sơ đồ dưới đây sẽ mô tả rõ hơn về 8 kiểu dữ liệu này.

Sơ đồ kiểu dữ liệu gốc trong Java (primitive)

Sơ đồ kiểu dữ liệu gốc trong Java (primitive)

Phía trên là sơ đồ các kiểu dữ liệu được phân rõ trong các nhóm dữ liệu. Mình sẽ cùng tìm hiểu kỹ hơn về từng kiểu sau đây nhé.

Kiểu boolean trong Java

Boolean là một kiểu dữ liệu phổ biến trong nhiều ngôn ngữ lập trình. Độ lớn của kiểu dữ liệu này chỉ có 1 bit và chứa hai giá trị là truefalse. Giá trị mặc định của kiểu boolean trong Java là False. Ví dụ:

 

public class tuandc {
 static boolean gioitinh;
 public static void main(String[] args) {
   if (gioitinh == true)
   {
      System.out.println("Nam");
   }
   else{
      System.out.println("Nữ");
   }
 }
}

Bạn thử đoán xem kết quả là nam hay nữ 🙂

Kiểu char trong Java

Char là kiểu dữ liệu kí tự, có kích thước 2 byte (tương đương 16 bit). nó có thể lưu trữ được nhiều kiểu ký tự nhưng sử dụng kiểu này chỉ dùng cho trường hợp lưu trữ 1 ký tự và không thể lưu trữ số âm.Ví dụ.

public class tuandc {
  static char kytu = '%';
  public static void main(String[] args) {
    System.out.println(kytu);
  }
}

Kiểu byte trong Java

Byte là kiểu dữ liệu số nguyên có kích thước 8 bit (tương được 1 byte). Giá trị nhỏ nhất có thể lưu trữ là -128 (-27) hoặc 127 (27-1). Mặc định kiểu này sẽ có gái trị là 0. Ví dụ.

public class tuandc {
 static byte kytu = 127;
 public static void main(String[] args) {
   System.out.println(kytu + 1);
 }
}

Kiểu short trong Java

Kiểu short trong Java là một kiểu lưu trữ dữ liệu số nguyên, có kích thước 16 bit (tương đương 2 byte), có giá trị nhỏ nhất là -32768 (-2^15) và giá trị lớn nhất là 32767 (2^15 -1). Mặc định có giá trị là 0. Ví dụ

public class tuandc {
 static short so = -2^15;
 public static void main(String[] args) {
   System.out.println(so + 1);
 }
}

Kiểu int trong Java

Int là kiểu dữ liệu thường xuyên được sử dụng trong việc tính toán với các số nguyên ở mức trung bình. Kích thước của kiểu int là 32 bit (tương đương 4 byte) và có thể chứa giá trị lớn nhất là 2147483647 (2^31 -1) và nhỏ nhất là – 2147483648 (-2^31). Int được xem là kiểu mặc định cho kiểu số nguyên. ví dụ:

public class tuandc {
 static int so = 14;
 public static void main(String[] args) {
   System.out.println(so + 1);
 }
}

Kiểu long trong Java

Tương tự như kiểu Int, tuy nhiên với kiểu long, mức độ xử lý số ở quy mô lớn hơn rất nhiều. Kích thước lưu trữ của int chỉ là 4 byte, nhưng với long kích thước của nó là 8 byte (tương đương 64 bit), có khả năng lưu trữ giá trị nhỏ nhất là -9223372036854775808 (-2^63) và lớn nhất là 9223372036854775807 (2^63 -1). Lưu ý, khi bạn sử dụng kiểu Long nếu giá trị trong khoảng mà kiểu int lưu được bạn có thể sử dụng như kiểu int, nhưng nếu ở ngoài khoảng bạn phải thêm chữ “L” ở đàng sau. Ví dụ:

public class tuandc {
 
 static long so = 2147483647; //Giá trị trong khoảng INT
 static long soL = 2147483648L; //Giá trị ngoài khoảng INT
 
 public static void main(String[] args) {
   System.out.println(so);
   System.out.println(soL);
 }
}

Kiểu float trong Java

Tương tự như kiểu int, cũng là 32 bit (tương đương 4 byte), nhưng nó là kiểu dữ liệu lưu trữ số thực. Kiểu này vẫn có thể lưu trữ số nguyên nhưng không khuyến khích sử dụng khi chỉ lưu trữ số nguyên. Giới hạn lưu trữ số nguyên cũng phải nằm trong khoảng mà kiểu int lưu trữ được, ngoài khoảng đó bạn phải sử dụng thêm từ “F” đàng sau, ví dụ.

public class tuandc {
 
 static float so = 2147483647;
 static float soF = 2147483648.9f;
 
 public static void main(String[] args) {
   System.out.println(so);
   System.out.println(soF);
 }
}

Kiểu double trong Java

Kiểu này cũng là kiểu số thực nhưng nó có khả năng lưu trữ lớn hơn float. Nó như kiểu Long vậy, kích thước của nó cũng là 8 byte (tương đương 64 bit) và hỗ trợ số thực. Chạy thử ví dụ sau bạn sẽ thấy sự khác biệt.

public class tuandc {
 
 static float so = 2147483647;
 static double soD = 2147483648.9d;
 
 public static void main(String[] args) {
   System.out.println(so);
   System.out.println(soD);
 }
}

Ép kiểu trong Java (Type casting)

Ép kiểu dữ liệu là một trong những cách làm phổ biến để đưa các loại dữ liệu khác nhau trở thành đồng nhất về kiểu dữ liệu để dễ dàng xử lý hay tính toán. Trong một số trường hợp, ép kiểu dữ liệu có thể làm thay đổi giá trị dẫn đến sai lệnh, vì thế nên trước khi thực hiện ép kiểu bạn cần chú ý cẩn trọng.

Cú pháp ép kiểu (kiểu_dữ_liệu)giá_trị hoặc biến.

Ví dụ:

 public static void main(String[] args) { 
  float c = 34.896751f;
  int b = (int)c +25;
  System.out.println(b);
 }

Kết quả đầu ta của kiểu ép trên sẽ là 59, tức là nó sẽ làm tròn giá trị vốn chính xác là 59.89675 (theo kiểu float). trong ví dụ mình đã sử dụng cách ép biến c có kiểu float thành int. (34.896751 => 34).

Các bài liên quan

Tuấn ĐC

Tuấn ĐC

Tôi thích tự do, làm những gì mình thích, thích đi nhiều nơi và học được nhiều thứ.

Liên hết bài viết: ""