- Bài 1: Tổng quan ngôn ngữ Java
- Bài 2: Hướng dẫn cài đặt và cấu hình Java
- Bài 3: Hướng dẫn cài đặt và cấu hình Intellij IDEA trên Window
- Bài 4: Tạo Project và làm quen với Intelij IDEA
- Bài 5: Cú pháp và quy tắc cơ bản trong Java
- Bài 6: Các kiểu dữ liệu trong Java
- Bài 7: Các kiểu biến trong Java
- Bài 8: Toán tử trong Java
- Bài 9: Hệ thống Unicode trong Java
- Bài 10: Các kiểu vòng lặp
- Bài 11: Câu lệnh điều khiển rẽ nhánh
- Bài 12: Câu lệnh Break, Continue trong Java
- Bài 13: Lớp và đối tượng
- Bài 14: Tính chất của lập trình hướng đối tượng trong Java
- Bài 15: Abstract class và Interface trong Java
- Bài 16: Từ khóa super và this trong Java
- Bài 17: Từ khóa static và final trong Java
- Bài 18: Mảng (Array) trong Java
- Bài 19: Package trong Java
- Bài 21: String trong Java
- Bài 22: StringBuffer và StringBuilder
- Bài 23: Tổng quan về File và I/O
- Bài 24: Xử lý nhập xuất bằng Byte Stream và Character Stream
- Bài 25: Thao tác với tệp và thư mục trong Java
- Bài 26: Tổng quan về Collection trong Java
- Bài 27: Những Interface phổ biến trong Java Collection Framework
- Bài 28: Những Class được triển khai dựa trên Interface của Java Collection
- Bài 29: Khái niệm xử lý ngoại lệ trong Java
- Bài 30: Hướng dẫn xử lý ngoại lệ trong Java
- Bài 31: Đa luồng trong Java
- Bài 32: Thread synchronization trong Java
- Bài 33: Tổng quan về Java AWT
- Bài 34: Container trong Java AWT
- Bài 35: Component trong Java AWT
- Bài 36: Layout Manager trong Java AWT
- Bài 37: Xử lý sự kiện trong Java AWT
- Bài 38: Tổng quan về Java Swing
- Bài 39: Container trong Java Swing
- Bài 40: Component trong Java Swing
- Bài 41: Layout trong Java Swing
- Bài 42: Event trong Java Swing
- Bài 43: Menu trong Java Swing
- Bài 44: Kết nối cơ sở dữ liệu với thư viện JDBC trong Java
Bài 6: Các kiểu dữ liệu trong Java - Lập trình Java cơ bản
Đăng bởi: Admin | Lượt xem: 8591 | Chuyên mục: Java
Trong các bài trước, mình đã hướng dẫn các bạn về những vấn đề cơ bản nhất trước khi học lập trình với Java. Ở bài này, chúng ta sẽ tìm hiểu về một khái niệm rất quan trọng trong Java đó là các kiểu dữ liệu trong Java.
1. Kiểu dữ liệu trong Java
Kiểu dữ liệu trong Java dùng để xác định kích thước và loại giá trị có thể được lưu trữ trong một định danh( định danh ở đây bao gồm tên biến, phương thức, tên lớp, Interface và tên Package). Có 2 kiểu dữ liệu thường gặp tron Java đó là Primitive data (kiểu dữ liệu cơ sở) và Wrapper class.
Primitive data: Có 8 kiểu dữ liệu gốc được hỗ trợ bởi Java. Các kiểu dữ liệu gốc này được tiền định nghĩa bởi ngôn ngữ và được định danh bởi một từ khóa.
Wrapper Class: Trong Java, ứng với mỗi kiểu dữ liệu cơ sở thì chúng ta sẽ có một kiểu dữ liệu Wrapper class, sở dĩ chúng ta gọi kiểu dữ liệu này là Wrapper class là vì nó "gói" các kiểu dữ liệu cơ sở vào trong một đối tượng của nó. Vì vậy, Wrapper class là kiểu dữ liệu vừa có thể lưu trữ giá trị đơn và vừa có thêm các phương thức khác.
- Lớp Byte là lớp Wrapper cho kiểu dữ liệu byte.
- Lớp Short là lớp Wrapper cho kiểu dữ liệu short.
- Lớp Integer là lớp Wrapper cho kiểu dữ liệu int.
- Lớp Long là lớp Wrapper cho kiểu dữ liệu long.
- Lớp Float là lớp Wrapper cho kiểu dữ liệu float.
- Lớp Double là lớp Wrapper cho kiểu dữ liệu double.
- Lớp Character là lớp Wrapper cho kiểu dữ liệu char.
- Lớp Boolean là lớp Wrapper cho kiểu dữ liệu boolean.
Vậy tại sao phải dùng Wrapper Class? Đó là bởi các lớp Wrapper sẽ giúp chúng ta chuyển đổi qua lại giữa một kiểu dữ liệu nguyên thủy sang kiểu dữ liệu đối tượng và ngược lại. Trong nhiều trường hợp, ví dụ như sử dụng ArrayList, List,.. thì đều sử dụng các tập hợp kiểu dữ liệu đối tượng thay vì nguyên thủy nên sử dụng Wrapper Class là điều bắt buộc. Ngoài ra, các kiểu đối tượng còn chứa nhiều phương thức thuận tiện để lập trình hiệu quả hơn.
2. Ép kiểu (Type Casting) trong Java.
Ép kiểu trong Java là việc gán giá trị của một biến có kiểu dữ liệu này tới biến khác có kiểu dữ liệu khác.
Ví dụ:
float a=15.5f;
int b=(int)a+5;
Trong Java, có hai loại ép kiểu dữ liệu đó là
- Nới rộng (widening): Chuyển từ kiểu có vùng lưu trữ nhỏ lên kiểu có vùng lưu trữ lớn hoặc về kiểu có cùng kiểu dữ liệu. Loại này không làm mất mát dữ liệu.
- Thu hẹp (narrowwing): Chuyển từ kiểu có vùng lưu trữ lớn về kiểu có vùng lưu trữ nhỏ. Loại này có thể làm mất mát dữ liệu.
Ví dụ về Widening:
package com.company.bkitsoftware;
public class WideningDemo {
public static void main(String[] args) {
int a = 10;
long b = a; // chuyển từ kiểu dữ liệu integer lên kiểu long
float c = b; // chuyển từ kiểu dữ liệu long lên kiểu float
System.out.println("Giá trị biến a = " + a);
System.out.println("Giá trị biến b = " + b);
System.out.println("Giá trị biến c = " + c);
}
}
Kết quả thu được:
Giá trị biến i = 10
Giá trị biến l = 10
Giá trị biến f = 10.0
Ví dụ về Narrowwing:
package com.company.bkitsoftware;
public class NarrowwingDemo {
public static void main(String[] args) {
double a = 10.123;
long b = (long) a; // Chuyển từ kiểu dữ liệu double xuống kiểu long
int c = (int) b; // Chuyển từ kiểu dữ liệu long xuống kiểu int
System.out.println("Giá trị a: " + a);
System.out.println("Giá trị b: " + b);
System.out.println("Giá trị c: " + c);
}
}
Kết quả thu được:
Giá trị Double: 10.123
Giá trị Long: 10
Giá trị Int: 10
Trong bài này, mình đã giới thiệu đến các bạn về khái niệm kiểu dữ liệu trong Java và 2 cách ép kiểu dữ liệu thường dùng (ép kiểu rộng và ép kiểu hẹp). Bài tiếp theo, chúng ta sẽ tìm hiểu về khái niệm biến trong Java.
Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!
- Bài 1: Tổng quan ngôn ngữ Java
- Bài 2: Hướng dẫn cài đặt và cấu hình Java
- Bài 3: Hướng dẫn cài đặt và cấu hình Intellij IDEA trên Window
- Bài 4: Tạo Project và làm quen với Intelij IDEA
- Bài 5: Cú pháp và quy tắc cơ bản trong Java
- Bài 6: Các kiểu dữ liệu trong Java
- Bài 7: Các kiểu biến trong Java
- Bài 8: Toán tử trong Java
- Bài 9: Hệ thống Unicode trong Java
- Bài 10: Các kiểu vòng lặp
- Bài 11: Câu lệnh điều khiển rẽ nhánh
- Bài 12: Câu lệnh Break, Continue trong Java
- Bài 13: Lớp và đối tượng
- Bài 14: Tính chất của lập trình hướng đối tượng trong Java
- Bài 15: Abstract class và Interface trong Java
- Bài 16: Từ khóa super và this trong Java
- Bài 17: Từ khóa static và final trong Java
- Bài 18: Mảng (Array) trong Java
- Bài 19: Package trong Java
- Bài 21: String trong Java
- Bài 22: StringBuffer và StringBuilder
- Bài 23: Tổng quan về File và I/O
- Bài 24: Xử lý nhập xuất bằng Byte Stream và Character Stream
- Bài 25: Thao tác với tệp và thư mục trong Java
- Bài 26: Tổng quan về Collection trong Java
- Bài 27: Những Interface phổ biến trong Java Collection Framework
- Bài 28: Những Class được triển khai dựa trên Interface của Java Collection
- Bài 29: Khái niệm xử lý ngoại lệ trong Java
- Bài 30: Hướng dẫn xử lý ngoại lệ trong Java
- Bài 31: Đa luồng trong Java
- Bài 32: Thread synchronization trong Java
- Bài 33: Tổng quan về Java AWT
- Bài 34: Container trong Java AWT
- Bài 35: Component trong Java AWT
- Bài 36: Layout Manager trong Java AWT
- Bài 37: Xử lý sự kiện trong Java AWT
- Bài 38: Tổng quan về Java Swing
- Bài 39: Container trong Java Swing
- Bài 40: Component trong Java Swing
- Bài 41: Layout trong Java Swing
- Bài 42: Event trong Java Swing
- Bài 43: Menu trong Java Swing
- Bài 44: Kết nối cơ sở dữ liệu với thư viện JDBC trong Java