ตัวแปรและประเภทข้อมูล
ในบทนี้ คุณจะได้เรียนรู้เกี่ยวกับตัวแปรและประเภทข้อมูลชนิดต่างๆ ในภาษา Java ที่จะใช้กับข้อมูลในกรณีที่โปรแกรมต้องจัดการกับข้อมูลหลากหลายรูปแบบ
ประเภทข้อมูลพื้นฐานในภาษา Java
ในภาษา Java มีข้อมูลพื้นฐาน 8 ชนิดให้สามารถใช้งาน เรามักจะเรียกข้อมูลเหล่านี้ว่า Primitive types ในการเขียนโปรแกรมคุณจำเป็นต้องเลือกใช้ประเภทข้อมูลให้ตรงกับข้อมูลที่คุณจะเก็บมากที่สุด เพราะมันจะช่วยลดการใช้หน่วยความจำและความรวดเร็วในการทำงานด้วย ยกตัวอย่างเช่น คุณต้องการเก็บตัวเลขระหว่าง 1 - 100 คุณควรจะใช้ข้อมูลชนิด byte เพราะมันเพียงพอต่อการเก็บแล้ว
และนี่เป็นตารางของประเภทข้อมูลในภาษา Java ทั้ง 8 ชนิด
Type | Explanation | Values Rank |
---|---|---|
byte | 8 bit (1 byte) integer value | -128 - 127 |
short | 16 bit (2 byte) integer value | -32768 - 32767 |
int | 32 bit (4 byte) integer value | -2147483648 - 2147483647 |
long | 64 bit (8 byte) integer value | -9223372036854775808 - 9223372036854775807 |
float | 32 bit (4 byte) floating-point value | 1.4E-45 - 3.4028235E38 |
double | 64 bit (8 byte) floating-point value | 4.9E-324 - 1.7976931348623157E308 |
char | 16 bit (2 byte) character Unicode encoding value | |
boolean | 1 bit boolean value | true and false |
ในตารางข้างบน เป็นประเภทของตัวแปรหรือชนิดข้อมูลในภาษา Java ขนาดที่ใช้เก็บนั้นอาจจะแตกต่างกันออกไปขึ้นกับระบบคอมพิวเตอร์ของคุณ ข้างล่างนี้เป็นตัวอย่างของโปรแกรมที่แสดงค่าของ Rank ที่ตัวแปรประเภทต่างๆ เก็บข้อมูลได้และขนาดของมัน
public class DataType {
public static void main (String[] args) {
System.out.println("Date Type Rank");
System.out.println("Byte\t" + Byte.MIN_VALUE + " - " + Byte.MAX_VALUE);
System.out.println("Short\t" + Short.MIN_VALUE + " - " + Short.MAX_VALUE);
System.out.println("Integer\t" + Integer.MIN_VALUE + " - " + Integer.MAX_VALUE);
System.out.println("Long\t" + Long.MIN_VALUE + " - " + Long.MAX_VALUE);
System.out.println("Float\t" + Float.MIN_VALUE + " - " + Float.MAX_VALUE);
System.out.println("Double\t" + Double.MIN_VALUE + " - " + Double.MAX_VALUE);
System.out.println("Boolean\t" + Boolean.TRUE + " and " + Boolean.FALSE);
System.out.println("\nDate Type Size (bit)");
System.out.println("Byte\t" + Byte.SIZE);
System.out.println("Short\t" + Short.SIZE);
System.out.println("Integer\t" + Integer.SIZE);
System.out.println("Long\t" + Long.SIZE);
System.out.println("Float\t" + Float.SIZE);
System.out.println("Double\t" + Double.SIZE);
}
}
จากตัวอย่างด้านบน ตัวแปรทุกประเภทจะสร้างมาจากคลาส ดังนั้นคุณสามารถเรียกดูข้อมูลของมันได้ผ่าน property member ของมัน MIN_VALUE
ใช่สำหรับรับค่าต่ำสุดของข้อมูลประเภทนั้น และ MAX_VALUE
รับค่าสูงสุดของข้อมูลประเภทนั้นมา และ SIZE
ดูขนาดที่ใช้เก็บข้อมูลมีหน่วยเป็น bit
Date Type Rank
Byte -128 - 127
Short -32768 - 32767
Integer -2147483648 - 2147483647
Long -9223372036854775808 - 9223372036854775807
Float 1.4E-45 - 3.4028235E38
Double 4.9E-324 - 1.7976931348623157E308
Boolean true and false
Date Type Size (bit)
Byte 8
Short 16
Integer 32
Long 64
Float 32
Double 64
และข้างล่างนี้เป็นผลลัพธ์ของโปรแกรม
การประกาศตัวแปรในภาษา Java
ตัวแปร คือสิ่งที่ใช้เก็บข้อมูลบนคอมพิวเตอร์บนหน่วยความจำ และสามารถนำกลับมาใช้ใหม่ได้ เช่น เดียวกันกับตอนที่คุณเรียนคณิตศาสตร์ในมัธยม มันมีตัวแปร x, y และมันสามารถคำนวณผลลัพธ์ไปเก็บไว้ในตัวแปร z ด้วยตัวดำเนินการทางคณิตศาสตร์ แนวคิดนี้ถูกนำมาใช้กับคอมพิวเตอร์เช่นเดียวกันเดียวกัน เราใช้ตัวแปรเพื่อเก็บข้อมูลเพื่อนำไปคำนวณและจัดการเพื่อให้ได้ผลลัพธ์ใหม่ออกมา
ก่อนที่จะใช้งานตัวแปรเพื่อเก็บข้อมูล คุณจะต้องทำการประกาศตัวแปรก่อน เพื่อให้คอมพิวเตอร์จองพื้นที่ในหนวยความจำสำหรับข้อมูลของคุณ โดยการประกาศตัวแปรในภาษา Java นั้นมีรูปแบบดังนี้
dataType variableName;
dataType variableName = value;
โดยที่ dataType
เป็นประเภทข้อมูลในภาษา Java เช่น int long หรือ double และ variableName
เป็นชื่อของตัวแปรโดยมันจะมีหลักการตั้งชื่อตัวแปรคือ ตัวแปรต้องประกอบไปด้วย ตัวอักษรพิมพ์เล็ก พิมพ์ใหญ่ ตัวแปลเลข และเครื่องหมาย Underscore (_) เท่านั้น และตัวแปรต้องไม่ขึ้นต้นด้วยตัวเลข สำหรับ value
เป็นตัวเลือกว่าคุณจะกำหนดค่าให้กับตัวแปรในทันทีหลังจากที่ประกาศมันหรือไม่
Note: การตั้งชื่อตัวแปรนี้ยังใช้กับการประกาศตัวแปรประเภทออบเจ็คและ String ซึ่งเป็นตัวแปรชนิดที่ผู้ใช้สร้างขึ้น ซึ่งคุณจะได้เรียนรู้ในตอนหลังของบทเรียนนี้ ในเรื่องคลาสและ String
int a; // declare variable
float b, c; // declare multi variables
int n = 8; // declare and assign
char c = 'y'; // declare and assign
int d;
d = n + 10; // declare variable with expression
ตัวอย่างด้านบนเป็นการประกาศตัวแปรในแบบต่างๆ คุณสามารถประกาศตัวแปรและกำหนดค่าให้มันภายหลังหรือกำหนดในตอนเริ่มต้นก็ได้ และคุณสามารถประกาศตัวแปรได้หลายตัวในครั้งเดียวได้โดยการใช้เครื่องหมาย comma (,) เช่น double x, y, z;
เป็นการประกาศตัวแปร 3 ตัว เพื่อเก็บข้อมูลประเภท double
หลักในการตั้งชื่อตัวแปรในภาษา Java
อย่างที่เราได้เคยบอก ในการประกาศชื่อตัวแปรนั้น จะมีหลักการตั้งชื่อของมัน โดยหลักการตั้งชื่อนี้ ยังใช้กับเมธอด คลาส และการประกาศอื่นที่ user-defined ขึ้นมา โดยมีดังนี้
- การตั้งชื่อนั้นจะประกอบไปด้วย ตัวอักษร ตัวเลข และเครื่องหมาย (_)เท่านั้น
- ตัวแปรต้องไม่ขึ้นต้นด้วยตัวเลข
- ตัวแปรต้องไม่ใช้ Keyword ในภาษา Java ในบทก่อนหน้าที่เราพูดถึง
- ถึงแม้การประกาศตัวแปรสามารถใช้ภาษาอื่นๆ ได้แต่เราแนะนำให้ใช้ภาษาอังกฤษ
ตัวอย่างการประกาศตัวแปรที่ถูกต้อง
// valid
int a = 2;
int myNumber = 4;
float _money = 65.3f;
double my_money1 = 54;
// invalid
int 1ab = 3; // invalid start with number
int for = 4; // invalid using reserved keyword
ในการตั้งชื่อตัวแปรและเมธอดนั้นในภาษา Java เรามักจะขึ้นต้นด้วยตัวเล็ก ถ้าหากมีหลายคำให้ใช้ตัวใหญ่คั่นหนึ่งตัว ดังในตัวอย่างที่คุณเห็นข้างบน เช่น myNumber
ในบทนี้ คุณได้เรียนรู้เกี่ยวกับตัวแปร วิธีการประกาศตัวแปร และการใช้งานตัวแปร ในบทต่อไปเราจะแนะนำให้คุณได้รู้จักกับค่าคงที่ในภาษา Java ซึ่งมันเป็นตัวแปรชนิดพิเศษที่มีความสำคัญ