ตัวแปรและประเภทข้อมูล

15 August 2016

ในบทนี้ คุณจะได้เรียนรู้เกี่ยวกับตัวแปรและประเภทข้อมูลชนิดต่างๆ ในภาษา Java ที่จะใช้กับข้อมูลในกรณีที่โปรแกรมต้องจัดการกับข้อมูลหลากหลายรูปแบบ

ประเภทข้อมูลพื้นฐานในภาษา Java

ในภาษา Java มีข้อมูลพื้นฐาน 8 ชนิดให้สามารถใช้งาน เรามักจะเรียกข้อมูลเหล่านี้ว่า Primitive types ในการเขียนโปรแกรมคุณจำเป็นต้องเลือกใช้ประเภทข้อมูลให้ตรงกับข้อมูลที่คุณจะเก็บมากที่สุด เพราะมันจะช่วยลดการใช้หน่วยความจำและความรวดเร็วในการทำงานด้วย ยกตัวอย่างเช่น คุณต้องการเก็บตัวเลขระหว่าง 1 - 100 คุณควรจะใช้ข้อมูลชนิด byte เพราะมันเพียงพอต่อการเก็บแล้ว

และนี่เป็นตารางของประเภทข้อมูลในภาษา Java ทั้ง 8 ชนิด

TypeExplanationValues Rank
byte8 bit (1 byte) integer value-128 - 127
short16 bit (2 byte) integer value-32768 - 32767
int32 bit (4 byte) integer value-2147483648 - 2147483647
long64 bit (8 byte) integer value-9223372036854775808 - 9223372036854775807
float32 bit (4 byte) floating-point value1.4E-45 - 3.4028235E38
double64 bit (8 byte) floating-point value4.9E-324 - 1.7976931348623157E308
char16 bit (2 byte) character Unicode encoding value
boolean1 bit boolean valuetrue and false

ในตารางข้างบน เป็นประเภทของตัวแปรหรือชนิดข้อมูลในภาษา Java ขนาดที่ใช้เก็บนั้นอาจจะแตกต่างกันออกไปขึ้นกับระบบคอมพิวเตอร์ของคุณ ข้างล่างนี้เป็นตัวอย่างของโปรแกรมที่แสดงค่าของ Rank ที่ตัวแปรประเภทต่างๆ เก็บข้อมูลได้และขนาดของมัน

DataType.java
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 ซึ่งมันเป็นตัวแปรชนิดพิเศษที่มีความสำคัญ

บทความนี้เป็นประโยชน์หรือไม่? Yes · No