Java Data Types
Java Data Types
ตามที่อธิบายไว้ในบทที่แล้ว ตัวแปรใน Java ต้องเป็นประเภทข้อมูลที่ระบุ:
ตัวอย่าง
int myNum = 5; // Integer (whole number)
float myFloatNum = 5.99f; // Floating point number
char myLetter = 'D'; // Character
boolean myBool = true; // Boolean
String myText = "Hello"; // String
ชนิดข้อมูลแบ่งออกเป็นสองกลุ่ม:
- ชนิดข้อมูลดั้งเดิม - รวมถึง
byte
,short
,int
,long
,float
,double
,boolean
และchar
- ชนิดข้อมูลที่ไม่ใช่พื้นฐาน - เช่นString , Arraysและ Classes (คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับสิ่งเหล่านี้ในบทต่อไป)
ชนิดข้อมูลดั้งเดิม
ชนิดข้อมูลพื้นฐานระบุขนาดและชนิดของค่าตัวแปร และไม่มีวิธีการเพิ่มเติม
มีแปดประเภทข้อมูลดั้งเดิมใน Java:
Data Type | Size | Description |
---|---|---|
byte | 1 byte | Stores whole numbers from -128 to 127 |
short | 2 bytes | Stores whole numbers from -32,768 to 32,767 |
int | 4 bytes | Stores whole numbers from -2,147,483,648 to 2,147,483,647 |
long | 8 bytes | Stores whole numbers from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
float | 4 bytes | Stores fractional numbers. Sufficient for storing 6 to 7 decimal digits |
double | 8 bytes | Stores fractional numbers. Sufficient for storing 15 decimal digits |
boolean | 1 bit | Stores true or false values |
char | 2 bytes | Stores a single character/letter or ASCII values |
ตัวเลข
ประเภทตัวเลขดั้งเดิมแบ่งออกเป็นสองกลุ่ม:
ชนิดจำนวนเต็มเก็บจำนวนเต็ม บวกหรือลบ (เช่น 123 หรือ -456) โดยไม่มีทศนิยม ประเภทที่ถูกต้องคือbyte
, short
, int
และ long
คุณควรใช้ประเภทใดขึ้นอยู่กับค่าตัวเลข
ประเภทจุดทศนิยมแสดงถึงตัวเลขที่มีเศษส่วนซึ่งมีทศนิยมตั้งแต่หนึ่งตำแหน่งขึ้นไป มีสองประเภท: float
และdouble
.
แม้ว่า Java จะมีตัวเลขหลายประเภท แต่ตัวเลขที่ใช้มากที่สุดคือint
(สำหรับจำนวนเต็ม) และdouble
(สำหรับตัวเลขทศนิยม) อย่างไรก็ตาม เราจะอธิบายทั้งหมดเมื่อคุณอ่านต่อ
ประเภทจำนวนเต็ม
ไบต์
ชนิดbyte
ข้อมูลสามารถเก็บจำนวนเต็มได้ตั้งแต่ -128 ถึง 127 สามารถใช้แทนint
หรือประเภทจำนวนเต็มอื่น ๆ เพื่อบันทึกหน่วยความจำ เมื่อคุณแน่ใจว่าค่าจะอยู่ภายใน -128 และ 127:
ตัวอย่าง
byte myNum = 100;
System.out.println(myNum);
สั้น
ชนิดshort
ข้อมูลสามารถเก็บตัวเลขทั้งหมดได้ตั้งแต่ -32768 ถึง 32767:
ตัวอย่าง
short myNum = 5000;
System.out.println(myNum);
Int
ชนิดint
ข้อมูลสามารถเก็บจำนวนเต็มได้ตั้งแต่ -2147483648 ถึง 2147483647 โดยทั่วไป และในบทช่วยสอนของเราint
ชนิดข้อมูลเป็นชนิดข้อมูลที่ต้องการเมื่อเราสร้างตัวแปรด้วยค่าตัวเลข
ตัวอย่าง
int myNum = 100000;
System.out.println(myNum);
ยาว
ชนิดlong
ข้อมูลสามารถเก็บตัวเลขทั้งหมดได้ตั้งแต่ -9223372036854775808 ถึง 9223372036854775807 ซึ่งใช้เมื่อ int มีขนาดไม่ใหญ่พอที่จะเก็บค่า โปรดทราบว่าคุณควรลงท้ายค่าด้วย "L":
ตัวอย่าง
long myNum = 15000000000L;
System.out.println(myNum);
ประเภทจุดลอยตัว
คุณควรใช้ประเภททศนิยมเมื่อใดก็ตามที่คุณต้องการตัวเลขที่มีทศนิยม เช่น 9.99 หรือ 3.14515
ลอย
ชนิดfloat
ข้อมูลสามารถเก็บตัวเลขที่เป็นเศษส่วนได้ตั้งแต่ 3.4e−038 ถึง 3.4e+038 โปรดทราบว่าคุณควรลงท้ายค่าด้วย "f":
ตัวอย่าง
float myNum = 5.75f;
System.out.println(myNum);
สองเท่า
ชนิดdouble
ข้อมูลสามารถเก็บตัวเลขที่เป็นเศษส่วนได้ตั้งแต่ 1.7e−308 ถึง 1.7e+308 โปรดทราบว่าคุณควรลงท้ายค่าด้วย "d":
ตัวอย่าง
double myNum = 19.99d;
System.out.println(myNum);
ใช้float
หรือdouble
?
ความแม่นยำของค่าทศนิยมระบุจำนวนหลักที่ค่าสามารถมีได้หลังจุดทศนิยม ความแม่นยำfloat
คือทศนิยมหกหรือเจ็ดหลัก ในขณะที่double
ตัวแปรมีความแม่นยำประมาณ 15 หลัก ดังนั้นจึงปลอดภัยกว่าที่จะใช้double
สำหรับการคำนวณส่วนใหญ่
ตัวเลขทางวิทยาศาสตร์
เลขทศนิยมสามารถเป็นตัวเลขทางวิทยาศาสตร์ด้วย "e" เพื่อระบุกำลัง 10:
ตัวอย่าง
float f1 = 35e3f;
double d1 = 12E4d;
System.out.println(f1);
System.out.println(d1);
บูลีน
มีการประกาศชนิดข้อมูลบูลีนด้วยboolean
คีย์เวิร์ดและสามารถรับได้เฉพาะค่าtrue
หรือfalse
:
ตัวอย่าง
boolean isJavaFun = true;
boolean isFishTasty = false;
System.out.println(isJavaFun); // Outputs true
System.out.println(isFishTasty); // Outputs false
ค่าบูลีนส่วนใหญ่จะใช้สำหรับการทดสอบตามเงื่อนไข ซึ่งคุณจะได้เรียนรู้เพิ่มเติมในบทต่อไป
ตัวละคร
ชนิดchar
ข้อมูลใช้เพื่อเก็บ
อักขระตัวเดียว อักขระต้องล้อมรอบด้วยเครื่องหมายคำพูดเดี่ยว เช่น 'A' หรือ 'c':
ตัวอย่าง
char myGrade = 'B';
System.out.println(myGrade);
หรือคุณสามารถใช้ค่า ASCII เพื่อแสดงอักขระบางตัวได้:
ตัวอย่าง
char myVar1 = 65, myVar2 = 66, myVar3 = 67;
System.out.println(myVar1);
System.out.println(myVar2);
System.out.println(myVar3);
เคล็ดลับ:รายการของค่า ASCII ทั้งหมดมีอยู่ในASCII Table Referenceของเรา
เครื่องสาย
ชนิดString
ข้อมูลใช้เพื่อจัดเก็บลำดับของอักขระ (ข้อความ) ค่าสตริงต้องล้อมรอบด้วยเครื่องหมายคำพูดคู่:
ตัวอย่าง
String greeting = "Hello World";
System.out.println(greeting);
ประเภทสตริงมีการใช้งานและบูรณาการอย่างมากใน Java ซึ่งบางคนเรียกมันว่า " ประเภท ที่เก้า พิเศษ "
สตริงใน Java เป็น ประเภทข้อมูล ที่ไม่ใช่แบบพื้นฐานเพราะมันหมายถึงวัตถุ ออบเจ็กต์สตริงมีเมธอดที่ใช้ในการดำเนินการบางอย่างกับสตริง อย่ากังวลหากคุณยังไม่เข้าใจคำว่า "วัตถุ"ในตอนนี้ เราจะเรียนรู้เพิ่มเติมเกี่ยวกับสตริงและวัตถุในบทต่อไป
ชนิดข้อมูลที่ไม่ใช่พื้นฐาน
ชนิดข้อมูลที่ไม่ใช่พื้นฐานเรียกว่าประเภทอ้างอิงเนื่องจากอ้างถึงวัตถุ
ความแตกต่างหลักระหว่าง ชนิดข้อมูล พื้นฐานและไม่ใช่พื้นฐานคือ:
- ประเภทดั้งเดิมถูกกำหนดไว้ล่วงหน้า (กำหนดไว้แล้ว) ใน Java โปรแกรมเมอร์สร้างประเภทที่ไม่ใช่แบบพื้นฐานและไม่ได้กำหนดโดย Java (ยกเว้นสำหรับ
String
) - ชนิดที่ไม่ใช่แบบพื้นฐานสามารถใช้เพื่อเรียกเมธอดเพื่อดำเนินการบางอย่างได้ ในขณะที่ประเภทดั้งเดิมไม่สามารถทำได้
- ประเภทดั้งเดิมมีค่าเสมอ ในขณะที่ประเภทที่ไม่ใช่แบบพื้นฐานสามารถเป็น
null
ได้ - ชนิดพื้นฐานจะเริ่มต้นด้วยอักษรตัวพิมพ์เล็ก ในขณะที่ประเภทที่ไม่ใช่แบบพื้นฐานจะเริ่มต้นด้วยอักษรตัวพิมพ์ใหญ่
- ขนาดของประเภทพื้นฐานขึ้นอยู่กับชนิดข้อมูล ในขณะที่ประเภทที่ไม่ใช่แบบพื้นฐานจะมีขนาดเท่ากันทั้งหมด
ตัวอย่างของประเภทที่ไม่ใช่แบบดั้งเดิม ได้แก่Strings , Arrays , Classes, Interfaceฯลฯ คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับสิ่งเหล่านี้ในบทต่อไป