ประเภทของข้อมูล (Data Types)
ประเภทของข้อมูลแบบดั้งเดิม (Primitive Data Type) และแบบวัตถุ (Object Type) สำหรับแบบ Primitive Data Type นั้นมีอยู่ 8 แบบคือ char, boolean, byte, short, int, long, float และ double
- boolean : A value indicating true or false.
- char : A single Unicode character (16-bit unsigned)
- byte : An 8-bit integer (signed).
- short : A 16-bit integer (signed).
- int : A 32-bit integer (signed).
- long : A 64-bit integer (signed).
- float : A 32-bit floating-point number (signed).
- double : A 64-bit floating-point number (signed).
วิธีประกาศตัวแปรแบบ Object Type และแบบ Primitive Data Type
กรณีที่ 1 Integer s1 = new Integer(1); ใช้พื้นที่ 16 Bytes
กรณีที่ 2 Integer s2 = new Integer(1); ถ้าประกาศทั้ง s1 และ s2 ใช้พื้นที่ 32 Bytes
กรณีที่ 3 int s3 = 5; ไม่พบว่าใช้หน่วยความจำเมื่อตรวจด้วย freeMemory()
กรณีที่ 4 String s4 = “a”; ไม่พบว่าใช้หน่วยความจำเมื่อตรวจด้วย freeMemory()
ตัวอย่าง 1.4 การคำนวณและแคสติ้ง (Casting)
int x;
x = 8/3;
System.out.println(x); // 2
float a = 5/(float)3; // 1.6666666
float b = (float)5/3; // 1.6666666 มี 7 หลัก
double c = 5/(double)3; // 1.6666666666666667 มี 16 หลัก
float d = (float)(5/3); // 1.0
float e = 5/3; // 1.0
ตัวอย่าง 1.5 การรับค่าผ่านคอนโซล หรือบรรทัดคำสั่ง
– การประมวลผลแบบที่ 1 เช่น DOS>java j0100 abc def
– การประมวลผลแบบที่ 2 เช่น DOS>java j0100
class j0100 {
public static void main(String args[]) {
System.out.println(args.length);
System.out.println(args[0]); // abc
}
}
ตัวอย่าง 1.6 การใช้ตัวแปรดั้งเดิมทั้งแปด
class j0101 {
public static void main(String args[]) {
// 1. boolean true of false
boolean b = true;
System.out.println(“boolean = ” + b);
// 2. character (2 Byte = 65536 ตัวอักษร)
char y;
y = ‘a’;
System.out.println(“character = ” + y);
// 3. byte -2^7 to 2^7-1 (1 Byte)
byte c;
c = 127;
System.out.println(“byte = ” + c);
// 4. short -2^15 to 2^15-1 (2 Byte)
short a;
a = 32767;
System.out.println(“Short = ” + a);
// 5. integer -2^31 to 2^31-1 (4 Byte)
int x;
x = 2147483647;
System.out.println(“Integer = ” + x);
// 6. long -2^63 to 2^63-1 (8 Byte)
long b;
b = 9223372036854775807L;
System.out.println(“long = ” + b);
// 7. float -3.4e38 to 3.4e38 (4 Byte)
float d;
d = 340000000000000000000000000000000000000f;
System.out.println(“float = ” + d);
// 8. double -1.7e308 to 1.7e308 (8 Byte)
double e;
e = 17900000000000000000000000000000000000000d;
System.out.println(“double = ” + e);
}
}