Kiểu Dữ Liệu Trong Java

Học Java cơ bản và nâng cao
  • Khóa học Java
  • Khóa học Offline tại Hà Nội
  • Khóa học Java Online tại Udemy
  • Java cơ bản
  • Giới thiệu Java
  • Java là gì?
  • Lịch sử Java
  • Tổng quan
  • Cài đặt Java
  • Cách thiết lập Path
  • Chương trình Hello World
  • Phân tích chương trình Hello World
  • Cú pháp Java cơ bản
  • JDK, JRE và JVM
  • Biến trong Java
  • Kiểu dữ liệu
  • Toán tử
  • Các kiểu vòng lặp
  • Lệnh if, switch
  • Đối tượng Number
  • Đối tượng Character
  • Khái niệm Hướng đối tượng
  • Khái niệm OOP
  • Lớp và Đối tượng
  • Phương thức
  • Nạp chồng phương thức (Overloading)
  • Constructor
  • Từ khóa static
  • Từ khóa this
  • Tính kế thừa (IS-A)
  • Quan hệ (HAS-A)
  • Ghi đè phương thức (Overriding)
  • Kiểu trả về Covariant
  • Từ khóa super
  • Từ khóa final
  • Tính đa hình
  • Dynamic Binding
  • Toán tử instanceof
  • Tính trừu tượng
  • Lớp abstract
  • Interface
  • Lớp abstract vs Interface
  • Java Package
  • Các kiểu Modifier
  • Non-Access Modifier
  • Access Modifier
  • Tính bao đóng
  • Lớp Object
  • Nhân bản đối tượng
  • Mảng (Array)
  • Lớp Wrapper
  • Gọi bởi giá trị
  • Từ khóa strictfp
  • Date & Time
  • Regular Expression
  • File và I/O trong Java
  • File và I/O
  • ByteArrayInputStream
  • DataInputStream
  • ByteArrayOutputStream
  • DataOutputStream
  • Lớp File
  • Lớp FileReader
  • Lớp FileWriter
  • String trong Java
  • Đối tượng String
  • Immutable String
  • So sánh chuỗi
  • Nối chuỗi
  • Chuỗi con
  • Phương thức của lớp String
  • Lớp StringBuffer
  • Lớp StringBuilder
  • String vs StringBuffer
  • StringBuilder vs StringBuffer
  • Tạo Immutable String
  • Phương thức toString()
  • Lớp StringTokenizer
  • Xử lý ngoại lệ (Exception Handling)
  • Exception là gì
  • Khối try-catch
  • Khối finally
  • Từ khóa throw
  • Từ khóa throws
  • ExceptionHandling vs MethodOverriding
  • Custom Exception
  • Cấu trúc dữ liệu trong Java
  • Cấu trúc dữ liệu
  • Enumeration Interface
  • Lớp BitSet
  • Lớp Vector
  • Lớp Stack
  • Lớp Dictionary
  • Lớp Hashtable
  • Lớp Properties
  • Collection trong Java
  • Java Collection
  • Collection Interface
  • List Interface
  • Set Interface
  • SortedSet Interface
  • Map Interface
  • MapEntry Interface
  • SortedMap Interface
  • Lớp LinkedList
  • Lớp ArrayList
  • Lớp HashSet
  • Lớp LinkedHashSet
  • Lớp TreeSet
  • Lớp HashMap
  • Lớp TreeMap
  • Thuật toán Collection
  • Sử dụng Iterator
  • Sử dụng Comparator
  • Java nâng cao
  • Java Generic
  • Java Serialization
  • Lập trình mạng
  • Gửi Email
  • Java Multithread
  • Cơ bản về Applet
  • Tạo Javadoc
  • Tài liệu tham khảo Java
  • Inner Class và chuyển đổi dữ liệu
  • Tài liệu Java tham khảo
  • 200 Câu hỏi phỏng vấn Java
  • Ví dụ Java
Kiểu dữ liệu trong Java Trang trước Trang sau

Các biến là không gì khác ngoài các vị trí bộ nhớ dành riêng để lưu các giá trị. Nghĩa là, khi bạn tạo một biến, bạn dự trữ một số không gian trong bộ nhớ.

Dựa trên kiểu dữ liệu của một biến, hệ điều hành cấp phát bộ nhớ và quyết định cái gì có thể được lưu giữ trong bộ nhớ dành riêng. Vì thế, bằng việc gán các kiểu dữ liệu khác nhau tới các biến, bạn có thể lưu giữ integer, thập phân, hoặc các ký tự trong những biến này.

Có hai kiểu dữ liệu có sẵn trong Java:

  • Các kiểu dữ liệu gốc (Primitive)

  • Các kiểu dữ liệu tham chiếu/đối tượng (không phải kiểu gốc Non-primitive)

Kiểu dữ liệu trong Java

Trước khi đi vào giới thiệu chi tiết về từng kiểu dữ liệu, bạn có thể theo dõi bảng tóm tắt sau:

Kiểu dữ liệu Giá trị mặc định Kích cỡ mặc định
boolean false 1 bit
char '\u0000' 2 byte
byte 0 1 byte
short 0 2 byte
int 0 4 byte
long 0L 8 byte
float 0.0f 4 byte
double 0.0d 8 byte
Quảng cáo

Câu hỏi: Tại sao char sử dụng 2 byte trong Java và \u0000 là gì?

Bởi vì Java sử dụng Unicode chứ không phải ASCII. \u0000 là dãy thấp nhất trong Unicode.

Các kiểu dữ liệu gốc trong Java

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. Dưới đây là chi tiết về 8 kiểu dữ liệu gốc này:

char:

  • Dùng để lưu dữ liệu kiểu kí tự hoặc số nguyên không âm có kích thước 2 byte (16 bit)

  • Giá trị nhỏ nhất là '\u0000' (hoặc 0) và giá trị lớn nhất là '\uffff' (hoặc 65,535)..

  • Ví dụ: char nam ='T'

Tại sao Java sử dụng Unicode?

Trước Unicode, có nhiều chuẩn ngôn ngữ như ASCII, ISO 8859-1, KOI-8, GB18030, … Điều này gây là hai vấn đề sau:

  • Một giá trị code cụ thể tương ứng với các chữ cái khác nhau trong các chuẩn ngôn ngữ đa dạng.

  • Mã hóa cho các ngôn ngữ với các tập ký tự lớn có độ dài biến đổi. Một số ký tự chung được mã hóa thành các byte đơn, một số khác cần hai hoặc nhiều byte.

Để xử lý các vấn đề này, một chuẩn ngôn ngữ mới được phát triển, đó là Unicode. Trong Unicode, ký tự giữ 2 byte, vì thế Java cũng sử dụng 2 byte cho các ký tự.

Kiểu dữ liệu byte:

  • Dùng để lưu dữ liệu kiểu số nguyên có kích thước một byte (8 bit)

  • Giá trị nhỏ nhất là -128 (-2^7) và giá trị lớn nhất là 127. (2^7 -1)

  • Giá trị mặc định là 0

  • Kiểu dữ liệu byte được sử dụng để lưu giữ khoảng trống trong các mảng lớn, chủ yếu là các số nguyên.

  • Ví dụ: byte x = 20 , byte y = -10

Kiểu dữ liệu short:

  • Dùng để lưu dữ liệu có kiểu số nguyên, kích cỡ 2 byte (16 bit).

  • Giá trị nhỏ nhất là -32,768 (-2^15) và giá trị lớn nhất là 32,767 (2^15 -1).

  • Kiểu dữ liệu short cũng có thể được sử dụng để lưu bộ nhớ như kiểu dữ liệu byte.

  • Giá trị mặc định là 0.

  • Ví dụ: short t = 50, short z = -10

Quảng cáo

int:

  • Dùng để lưu dữ liệu có kiểu số nguyên, kích cỡ 4 byte (32 bit).

  • Giá trị nhỏ nhất là - 2,147,483,648.(-2^31) và giá trị lớn nhất là 2,147,483,647 (2^31 -1)

  • Nói chung, int được sử dụng như là kiểu dữ liệu mặc định cho các giá trị nguyên.

  • Giá trị mặc định là 0.

  • Ví dụ: int a = 5, int b = -50

long:

  • Dùng để lưu dữ liệu có kiểu số nguyên có kích thước lên đến 8 byte.

  • Giá trị nhỏ nhất là -9,223,372,036,854,775,808.(-2^63) và lớn nhất là 9,223,372,036,854,775,807. (2^63 -1)

  • Kiểu này được sử dụng khi cần một dải giá trị rộng hơn int.

  • Giá trị mặc định là 0L.

  • Ví dụ: long a = 100000L, int b = -200000L

float:

  • Dùng để lưu dữ liệu có kiểu số thực, kích cỡ 4 byte (32 bit)

  • Kiểu Float được sử dụng chủ yếu để lưu bộ nhớ trong các mảng rộng hơn các số thực dấu chấm động.

  • Giá trị mặc định là 0.0f.

  • Kiểu Float không bao giờ được sử dụng cho các giá trị chính xác như currency.

  • Ví dụ: float usd = 22.5f

double:

  • Kiểu dữ liệu double được sử dụng để lưu dữ liệu có kiểu số thực có kích thước lên đến 8 byte

  • Nói chung, kiểu dữ liệu này được sử dụng như là kiểu mặc định cho các giá trị decimal.

  • Kiểu double không bao giờ được sử dụng cho các giá trị chính xác như currency.

  • Giá trị mặc định là 0.0d.

  • Ví dụ: double ct = 676.7

boolean:

  • Độ lớn chỉ có 1 bit

  • Dùng để lưu dữ liệu chỉ có hai trạng thái true hoặc false

  • Giá trị mặc định là false.

  • Ví dụ: boolean switch1 = true

Kiểu dữ liệu Object trong Java

  • Các biến đối tượng được tạo bởi sử dụng các constructor đã được định nghĩa của các lớp. Chúng được sử dụng để truy cập các đối tượng. Những biến này được khai báo ở kiểu cụ thể mà không thể thay đổi. Ví dụ: Employee, Puppy, …

  • Giá trị mặc định của bất kỳ biến đối tượng nào là null

  • Một biến đối tượng có thể được sử dụng để tham chiếu tới bất kỳ đối tượng nào trong kiểu được khai báo hoặc bất kỳ kiểu tương thích nào.

  • Ví dụ: Animal animal = new Animal("giraffe");

Literal trong Java

Một Literal hay một hằng là một code nguồn biểu diễn một giá trị cố định. Chúng được biểu diễn một cách trực tiếp trong code mà không cần kỹ thuật tính toán nào.

Các literal có thể được gán tới bất kỳ kiểu biến gốc nào. Ví dụ:

byte a = 12; char a = 'CAT'

byte, int, long, và short có thể được biểu diễn trong hệ thập phân (cơ số 10), hệ thập lục phân (cơ số 16), hoặc hệ bát phân (cơ số 8).

Tiền tố 0 được sử dụng để chỉ hệ bát phân, và tiền tố 0x chỉ dẫn hệ cơ số 16 khi sử dụng những hệ cơ số này cho các literal. Ví dụ:

int decimal = 100; int octal = 0144; int hexa = 0x64;

String literal (hằng chuỗi) trong Java được xác định giống như trong hầu hết các ngôn ngữ khác bằng việc bao quanh một chuỗi ký tự liên tục trong trích dẫn kép. Ví dụ về string literal:

"Hello World" "Hai\ndong" "\"Day la trong trich dan\""

Các hằng chuỗi và hằng ký tự có thể chứa bất kỳ ký tự Unicode nào. Ví dụ:

char x = '\u0001'; String y = "\u0001";

Ngôn ngữ Java hỗ trợ một số dãy thoát đặc biệt cho hằng chuỗi và hằng ký tự như sau:

Ký hiệu Biểu diễn ký tự
\n Newline (0x0a)
\r Carriage return (0x0d)
\f Formfeed (0x0c)
\b Backspace (0x08)
\s Space (0x20)
\t tab
\" Trích dẫn kép
\' Trích dẫn đơn
\\ backslash
\ddd Octal character (ddd)
\uxxxx Hexadecimal UNICODE character (xxxx)

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS. Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập doanh nghiệp với Java. Khóa học có giá chỉ 400K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp chị Thu, trợ lý anh Tuyền để hỗ trợ thanh toán qua mã QR ngân hàng Việt Nam, fb: https://www.facebook.com/Thule.59

Anh Tuyền, tác giả khóa học, là cựu sinh viên chương trình đào tạo kĩ sư tài năng của đại học Bách Khoa Hà Nội với hơn 5 năm kinh nghiệm đi làm thực tế doanh nghiệp và cũng là Founder website vietjack.com, web giáo dục phổ biến nhất Việt Nam hiện tại (năm 2024). Java cũng là ngôn ngữ lập trình dễ đi xin việc nhất hiện tại, với mức lương cao, hãy nâng cao kiến thức IT của bản thân mình vì một Việt Nam giàu mạnh.

Loạt bài hướng dẫn của chúng tôi dựa một phần trên nguồn tài liệu của: Tutorialspoint.com

Bài học Java phổ biến tại vietjack.com:

  • Nạp chồng phương thức (Overloading)

  • Constructor

  • ArrayList trong Java

  • Interface trong Java

  • Thread trong Java

  • 247 bài tập Java

  • 200 câu phỏng vấn Java

Trang trước Trang sau Quảng cáo Bài viết liên quan
  • 160 bài học ngữ pháp tiếng Anh hay nhất

  • 155 bài học Java tiếng Việt hay nhất

  • 100 bài học Android tiếng Việt hay nhất

  • 247 bài học CSS tiếng Việt hay nhất

  • 197 thẻ HTML cơ bản

  • 297 bài học PHP

  • 101 bài học C++ hay nhất

  • 97 bài tập C++ có giải hay nhất

  • 208 bài học Javascript có giải hay nhất

Học cùng VietJack
Tài liệu giáo viên

Trang web chia sẻ nội dung miễn phí dành cho người Việt.

Lớp 1-2-3 Lớp 4 Lớp 5 Lớp 6 Lớp 7 Lớp 8 Lớp 9 Lớp 10 Lớp 11 Lớp 12 Lập trình Tiếng Anh

Chính sách

Chính sách bảo mật

Hình thức thanh toán

Chính sách đổi trả khóa học

Chính sách hủy khóa học

Tuyển dụng

Liên hệ với chúng tôi

Tầng 2, số nhà 541 Vũ Tông Phan, Phường Khương Đình, Quận Thanh Xuân, Thành phố Hà Nội, Việt Nam

Phone: 084 283 45 85

Email: vietjackteam@gmail.com

Tải nội dung trên Google Play Tải nội dung trên IOS Store

CÔNG TY TNHH ĐẦU TƯ VÀ DỊCH VỤ GIÁO DỤC VIETJACK

Người đại diện: Nguyễn Thanh Tuyền

Số giấy chứng nhận đăng ký kinh doanh: 0108307822, ngày cấp: 04/06/2018, nơi cấp: Sở Kế hoạch và Đầu tư thành phố Hà Nội.

2015 © All Rights Reserved. DMCA.com Protection Status

Từ khóa » Các Kiểu Dữ Liệu Trong Java