ประเภทของข้อมูล (Data Types)

ประเภทของข้อมูล (Data Types)

ประเภทของข้อมูลแบบดั้งเดิม (Primitive Data Type) และแบบวัตถุ (Object Type) สำหรับแบบ Primitive Data Type นั้นมีอยู่ 8 แบบคือ char, boolean, byte, short, int, long, float และ double

  1. boolean            : A value indicating true or false.
  2. char                   : A single Unicode character (16-bit unsigned)
  3. byte                    : An 8-bit integer (signed).
  4. short                   : A 16-bit integer (signed).
  5. int                       : A 32-bit integer (signed).
  6. long                   : A 64-bit integer (signed).
  7. float                    : A 32-bit floating-point number (signed).
  8. 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);

}

}