NỘI DUNG BÀI VIẾT
Java là một ngôn ngữ được đánh máy mạnh, điều đó có nghĩa là tất cả các biến phải được khai báo trước khi chúng ta có thể sử dụng nó. Khai báo một biến trong java bao gồm kiểu và tên với sự gán giá trị tùy chọn. Nếu không có giá trị nào được gán, thì biến sẽ giữ giá trị mặc định. Đối với các kiểu nguyên thủy, có các giá trị mặc định khác nhau nhưng luôn là NULL cho các kiểu dữ liệu Object.
Các kiểu dữ liệu nguyên thủy của Java
Bảng dưới đây hiển thị tất cả các kiểu dữ liệu nguyên thủy này với kích thước, phạm vi, giá trị mặc định và các cách khác nhau để gán chúng.
Type | Size | Range | Default Value | Examples |
---|---|---|---|---|
boolean | 1 bit | NA | false | boolean bool = true; |
char | 16 bits | Unicode Characters | ‘\u0000’ or 0, which is nothing but a white space | char c = ‘A’; char c = ‘\u0041’; char c = 65; char c = ‘\t’; |
byte | 8 bits | [-128,127] or [-2^7 to 2^7-1] | 0 | byte b = 10; byte b = 0b010; |
short | 16 bits | [-32768,32767] | 0 | short s = 32; short s = ‘A’; |
int | 32 bits | [-2147483648,2147483647] | 0 | int i = 10; int i = ‘A’; |
long | 64 bits | [-2^63,2^63-1] | 0 | long l = 3200L; long l = 3200; |
float | 32 bits | [-3.4E38, 3.4E38] | 0.0f | float f = (float) 12.34; float f = 12.34f; |
double | 64 bits | [-1.7E308, 1.7E308] | 0.0 | double d = 12.34; |
Dưới đây là một chương trình java đơn giản chỉ ra các cách khác nhau để khai báo các kiểu dữ liệu nguyên thủy – hãy xem xét kỹ char và điều gì sẽ xảy ra khi một int được chuyển đổi thành byte thông qua ép kiểu rõ ràng.
public class DataTypes {
public static void main(String[] args) {
char c = 'A';
System.out.println(c); //prints A
char c1 = '\u0041';
System.out.println(c1); //prints A
char c2 = 0;
System.out.println("Default Value:"+c2+":"); // prints Default Value: :
char c3 = 65;
System.out.println(c3); //prints A
char c4 = '\t';
System.out.println("Tab Start:"+c4+":End"); //prints Tab Start: :End
byte b = 10;
System.out.println(b); //prints 10
byte b1 = (byte) 200;
System.out.println(b1); // prints -56
//<0...>_11001000 (int), converted to 11001000 (byte) by stripping leading 24 bits
// since left most bit is 1, we need to find the value
// Ones complement 11001000 -1 = 11000111
//invert digits 00111000 i.e 56, hence printing -56
b1 = (byte) 0b11001000;
System.out.println(b1); //prints -56
byte b2 = (byte) 320; //256+64 i.e 00000000_00000000_00000001_01000000, byte 01000000
//since leading bit is 0, nothing is required to determine value
System.out.println(b2); //prints 64
short s = 32;
short s1 = 'A'; //implicit char to short conversion
System.out.println(s1); //prints 65
int i = 'A';
System.out.println(i); //prints 65
long l = 3200L;
long l1 = 3200;
float f = 12.34f;
//Examples
byte x, y = 1, z = 2;
x = (byte) (y + z);
}
}
Code language: PHP (php)
Sử dụng gạch dưới trong chữ số
Từ Java 7 trở đi, chúng ta có thể sử dụng dấu gạch dưới trong các ký tự số chẳng hạn như long ccNum = 1234_5678_9101_1121L ;.
Chữ nhị phân
Từ Java 7 trở đi, các kiểu tích phân (byte, short, int và long) cũng có thể được biểu diễn bằng cách sử dụng hệ thống số nhị phân. Chúng ta cần thêm tiền tố 0b hoặc 0B. Một số ví dụ là;
// An 8-bit 'byte' value:
byte aByte = (byte)0b00100001;
// A 16-bit 'short' value:
short aShort = (short)0b1010000101000101;
Code language: PHP (php)
Đó là tất cả đối với các kiểu dữ liệu nguyên thủy trong java. Vui lòng xem kỹ chương trình để hiểu điều gì sẽ xảy ra khi chúng tôi thực hiện casting.
Happy learning!!!