http://vietjack.com/java/index.jsp Copyright © vietjack.com Kiểu liệu Java Các biến khơng khác ngồi vị trí nhớ dành riêng để lưu giá trị Nghĩa là, bạn tạo biến, bạn dự trữ số không gian nhớ Dựa kiểu liệu biến, hệ điều hành cấp phát nhớ định lưu giữ nhớ dành riêng Vì thế, việc gán kiểu liệu khác tới biến, bạn lưu giữ integer, thập phân, ký tự biến Có hai kiểu liệu có sẵn Java: Các kiểu liệu gốc (Primitive) Các kiểu liệu tham chiếu/đối tượng (không phải kiểu gốc Non-primitive) Trước vào giới thiệu chi tiết kiểu liệu, bạn theo dõi bảng tóm tắt sau: http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java/index.jsp Copyright © vietjack.com Kiểu liệu Giá trị mặc định Kích cỡ mặc định boolean false bit char '\u0000' byte byte byte short byte int byte long 0L byte float 0.0f byte double 0.0d byte Câu hỏi: Tại char sử dụng byte Java \u0000 gì? Bởi Java sử dụng Unicode khơng phải ASCII \u0000 dãy thấp Unicode Các kiểu liệu gốc Java Có kiểu liệu gốc hỗ trợ Java Các kiểu liệu gốc tiền định nghĩa ngôn ngữ định danh từ khóa Dưới chi tiết kiểu liệu gốc này: char: Dùng để lưu liệu kiểu kí tự số ngun khơng âm có kích thước byte (16 bit) Giá trị nhỏ '\u0000' (hoặc 0) giá trị lớn '\uffff' (hoặc 65,535) Ví dụ: char nam ='IT' http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java/index.jsp Copyright © vietjack.com Tại Java sử dụng Unicode? Trước Unicode, có nhiều chuẩn ngôn ngữ ASCII, ISO 8859-1, KOI-8, GB18030, … Điều gây hai vấn đề sau: Một giá trị code cụ thể tương ứng với chữ khác chuẩn ngôn ngữ đa dạng Mã hóa cho ngơn ngữ với tập ký tự lớn có độ dài biến đổi Một số ký tự chung mã hóa thành byte đơn, số khác cần hai nhiều byte Để xử lý vấn đề này, chuẩn ngôn ngữ phát triển, Unicode Trong Unicode, ký tự giữ byte, Java sử dụng byte cho ký tự Kiểu liệu byte: Dùng để lưu liệu kiểu số ngun có kích thước byte (8 bit) Giá trị nhỏ -128 (-2^7) giá trị lớn 127 (2^7 -1) Giá trị mặc định Kiểu liệu byte sử dụng để lưu giữ khoảng trống mảng lớn, chủ yếu số nguyên Ví dụ: byte x = 20 , byte y = -10 Kiểu liệu short: Dùng để lưu liệu có kiểu số ngun, kích cỡ byte (16 bit) Giá trị nhỏ -32,768 (-2^15) giá trị lớn 32,767 (2^15 -1) Kiểu liệu short sử dụng để lưu nhớ kiểu liệu byte Giá trị mặc định Ví dụ: short t = 50, short z = -10 int: Dùng để lưu liệu có kiểu số nguyên, kích cỡ byte (32 bit) http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java/index.jsp Copyright © vietjack.com Giá trị nhỏ - 2,147,483,648.(-2^31) giá trị lớn 2,147,483,647 (2^31 -1) Nói chung, int sử dụng kiểu liệu mặc định cho giá trị nguyên Giá trị mặc định Ví dụ: int a = 5, int b = -50 long: Dùng để lưu liệu có kiểu số ngun có kích thước lên đến byte Giá trị nhỏ -9,223,372,036,854,775,808.(-2^63) lớn 9,223,372,036,854,775,807 (2^63 -1) Kiểu sử dụng cần dải giá trị rộng int Giá trị mặc định 0L Ví dụ: long a = 100000L, int b = -200000L float: Dùng để lưu liệu có kiểu số thực, kích cỡ byte (32 bit) Kiểu Float sử dụng chủ yếu để lưu nhớ mảng rộng số thực dấu chấm động Giá trị mặc định 0.0f Kiểu Float không sử dụng cho giá trị xác currency Ví dụ: float usd = 22.5f double: Kiểu liệu double sử dụng để lưu liệu có kiểu số thực có kích thước lên đến byte Nói chung, kiểu liệu sử dụng kiểu mặc định cho giá trị decimal Kiểu double không sử dụng cho giá trị xác currency http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java/index.jsp Giá trị mặc định 0.0d Ví dụ: double ct = 676.7 Copyright © vietjack.com boolean: Độ lớn có bit Dùng để lưu liệu có hai trạng thái true false Giá trị mặc định false Ví dụ: boolean switch1 = true Kiểu liệu Object Java Các biến đối tượng tạo sử dụng constructor định nghĩa lớp Chúng sử dụng để truy cập đối tượng Những biến khai báo kiểu cụ thể mà khơng thể thay đổi Ví dụ: Employee, Puppy, … Giá trị mặc định biến đối tượng null Một biến đối tượng sử dụng để tham chiếu tới đối tượng kiểu khai báo kiểu tương thích Ví dụ: Animal animal = new Animal("giraffe"); Literal Java Một Literal hay một code nguồn biểu diễn giá trị cố định Chúng biểu diễn cách trực tiếp code mà không cần kỹ thuật tính tốn Các literal gán tới kiểu biến gốc Ví dụ: byte a = 12; char a = 'CAT' byte, int, long, short biểu diễn hệ thập phân (cơ số 10), hệ thập lục phân (cơ số 16), hệ bát phân (cơ số 8) Tiền tố sử dụng để hệ bát phân, tiền tố 0x dẫn hệ số 16 sử dụng hệ số cho literal Ví dụ: http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java/index.jsp Copyright © vietjack.com int decimal = 100; int octal = 0144; int hexa = 0x64; String literal (hằng chuỗi) Java xác định giống hầu hết ngôn ngữ khác việc bao quanh chuỗi ký tự liên tục trích dẫn kép Ví dụ string literal: "Hello World" "Hai\ndong" "\"Day la trich dan\"" Các chuỗi ký tự chứa ký tự Unicode Ví dụ: char x = '\u0001'; String y = "\u0001"; Ngơn ngữ Java hỗ trợ số dãy đặc biệt cho chuỗi ký tự 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 http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java/index.jsp \' Trích dẫn đơn \\ backslash \ddd Octal character (ddd) \uxxxx Hexadecimal UNICODE character (xxxx) http://vietjack.com/ Trang chia sẻ học online miễn phí Copyright © vietjack.com Page ... Câu hỏi: Tại char sử dụng byte Java u0000 gì? Bởi Java sử dụng Unicode khơng phải ASCII u0000 dãy thấp Unicode Các kiểu liệu gốc Java Có kiểu liệu gốc hỗ trợ Java Các kiểu liệu gốc tiền định... http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com /java/ index.jsp Copyright © vietjack.com Tại Java sử dụng Unicode? Trước Unicode, có nhiều chuẩn ngơn ngữ ASCII, ISO 8859-1,... khác cần hai nhiều byte Để xử lý vấn đề này, chuẩn ngôn ngữ phát triển, Unicode Trong Unicode, ký tự giữ byte, Java sử dụng byte cho ký tự Kiểu liệu byte: Dùng để lưu liệu kiểu số nguyên có