Java Basic Data Type - ชนิดข้อมูลพื้นฐาน
ตัวแปรคือสิ่งที่ใช้หน่วยความจำ(memory) เพื่อใช้ในการเก็บค่า นั่นก็หมายความว่าทุกๆครั้งที่เราทำการสร้างตัวแปรขึ้นมา 1 ตัว จะทำให้เกิดการจองพื้นที่ในหน่วยความจำขึ้นมาทันที โดยจะใช้พื้นที่ไปเท่าไรนั้น ขึ้นอยู่กับชนิดของตัวแปรที่เราได้ทำการประกาศเอาไว้นั่นเอง
ใน Java จะมีชนิดข้อมูลอยู่ 2 ชนิดด้วยกัน
1. Primitive Data Types
2. Reference Data Types
ใน Java จะมีชนิดข้อมูลอยู่ 2 ชนิดด้วยกัน
1. Primitive Data Types
2. Reference Data Types
1. Primitive Data Types
ตัวแปรที่มีการประกาศแบบ Primitive จะเก็บค่าที่ถูกกำหนดเอาไว้ในหน่วยความจำเลย
Java มีชนิดข้อมูลพื้นฐาน (Primitive Data Types) 8 ประเภท
ชนิดข้อมูล | ขนาด | เก็บค่า | ค่าพื้นฐาน | ตัวอย่าง | ค่าต่ำสุด | ค่าสูงสุด |
boolean | 1 bit | true หรือ false | false | false | false | true |
char | 16 bits | ตัวอักษร Unicode | \u0000 | A | \u0000 หรือ 0 | \uffff หรือ 65,535 |
byte | 8 bits | ตัวเลขที่มีค่าเป็น บวก หรือ ลบ | 0 | -60 หรือ 120 | -128 | 127 |
short | 16 bits | ตัวเลขที่มีค่าเป็น บวก หรือ ลบ | 0 | -15,000 หรือ 32,000 | -32,768 | 32,767 |
int | 32 bits | ตัวเลขที่มีค่าเป็น บวก หรือ ลบ | 0 | -100,000 หรือ 300,000 | -2,147,483,648 | 2,147,483,647 |
long | 64 bits | ตัวเลขที่มีค่าเป็น บวก หรือ ลบ | 0L | -100,000L หรือ 300,000L | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 |
float | 32 bits | ตัวเลขทศนิยม | 0.0f | 256.5f | ตามมาตรฐาน IEEE 754 | ตามมาตรฐาน IEEE 754 |
double | 64 bits | ตัวเลขทศนิยม | 0.0 | 345.6 | ตามมาตรฐาน IEEE 754 | ตามมาตรฐาน IEEE 754 |
ตัวอย่างการประกาศตัวแปร เช่น
- boolean b = true;
- char c = 'A';
- byte bt = 10;
- short s = 20;
- int i = 30;
- long l = 40L;
- float f = 0.5f;
- double d = 345.4;
สังเกตได้ว่าการประกาศตัวแปรที่เป็นแบบ Primitive Data Type เราจะใช้ตัวอักษรพิมพ์เล็กหมดเลย
2. Reference Data Types
ตัวแปร Reference เป็นตัวแปรที่ใช้เข้าถึง Object โดยจะเก็บค่าที่เป็นที่อยู่ของ Object นั้นๆเอาไว้ ไม่ได้เก็บค่าของ object โดยตรง ซึ่งแตกต่างจากตัวแปรแบบ Primitive ซึ่ง Primitive จะทำการเก็บค่าที่ถูกกำหนดเอาไว้ในหน่วยความจำได้เลย
ตัวแปร Reference จะมีค่าพื้นฐานเป็นค่า null โดยที่ตัวแปร reference จะสามารถอ้างถึง object ใดๆก็ได้ตาม Type ของตัวแปรที่ถูกประกาศไว้
ตัวอย่างการประกาศตัวแปรแบบ reference เช่น
- String str = "Hello World";
- Student student = new Student();
String literals จะเป็นข้อความต่างๆ โดยเราจะใส้ข้อความเอาไว้ภายใน ""(double quotes) เช่น
- String hello = "Hello world";
- char c = 'A';
เราสามารถประกาศค่าที่เป็น unicode ลงในตัวแปร String และ char ได้เลย ตามนี้ครับ
- String unicodeString = "\u0E01"; // เมื่อนำไปแสดงผลจะได้ตัวอักษร ก
- char unicodeChar = "\u0E01"; // เมื่อนำไปแสดงผลจะได้ตัวอักษร ก
ตัวแปร Reference จะมีค่าพื้นฐานเป็นค่า null โดยที่ตัวแปร reference จะสามารถอ้างถึง object ใดๆก็ได้ตาม Type ของตัวแปรที่ถูกประกาศไว้
ตัวอย่างการประกาศตัวแปรแบบ reference เช่น
- String str = "Hello World";
- Student student = new Student();
Java Literals
Literal ก็คือ ค่าต่างๆที่เรากำหนดเอาไว้ในตัวแปร source code ที่เราเขียนเอาไว้โดยจะนำค่านั้นไปใช้ได้โดยตรงเลยโดยที่ไม่ต้องผ่านการประมวลผล
เช่น
- char d = 'D';
- byte b = 60;
ตัวแปรที่เป็นชนิด byte, short, int, long เราสามรถที่จะกำหนดค่าโดยจะใช้เป็น เลขฐานสิบ(decimal) เลขฐานแปด(octal) หรือเลขฐานสิบหก(hexadecimal) ได้ เช่น
- int decimal = 12; // เมื่อนำค่าไปแสดงจะได้ 12
- int octal = 0123; // เมื่อนำค่าไปแสดงจะได้ 83
- int hexa = 0x80; // เมื่อนำค่าไปแสดงจะได้ 128
เช่น
- char d = 'D';
- byte b = 60;
ตัวแปรที่เป็นชนิด byte, short, int, long เราสามรถที่จะกำหนดค่าโดยจะใช้เป็น เลขฐานสิบ(decimal) เลขฐานแปด(octal) หรือเลขฐานสิบหก(hexadecimal) ได้ เช่น
- int decimal = 12; // เมื่อนำค่าไปแสดงจะได้ 12
- int octal = 0123; // เมื่อนำค่าไปแสดงจะได้ 83
- int hexa = 0x80; // เมื่อนำค่าไปแสดงจะได้ 128
String literals จะเป็นข้อความต่างๆ โดยเราจะใส้ข้อความเอาไว้ภายใน ""(double quotes) เช่น
- String hello = "Hello world";
- char c = 'A';
เราสามารถประกาศค่าที่เป็น unicode ลงในตัวแปร String และ char ได้เลย ตามนี้ครับ
- String unicodeString = "\u0E01"; // เมื่อนำไปแสดงผลจะได้ตัวอักษร ก
- char unicodeChar = "\u0E01"; // เมื่อนำไปแสดงผลจะได้ตัวอักษร ก
Java ยังสนับสนุนการใช้ อักขระพิเศษมาใช้ร่วมกับ String และ char ได้อีกด้วย
Notation | Character represented |
---|---|
\n | Newline (0x0a) ขึ้นบรรทัดใหม่ |
\r | Carriage return (0x0d) ขึ้นบรรทัดใหม่ |
\f | Formfeed (0x0c) |
\b | Backspace (0x08) |
\s | Space (0x20) |
\t | tab |
\" | Double quote |
\' | Single quote |
\\ | backslash |
\ddd | Octal character (ddd) เลขฐานแปด |
\uxxxx | Hexadecimal UNICODE character (xxxx) |
ไม่มีความคิดเห็น:
แสดงความคิดเห็น