Java ตัวแปรและประเภทข้อมูล
⚡ สรุปอย่างชาญฉลาด
Java ตัวแปรและชนิดข้อมูลกำหนดวิธีการที่โปรแกรมจัดเก็บและติดป้ายกำกับค่าในหน่วยความจำ เอกสารนี้จะอธิบายวิธีการประกาศและกำหนดค่าเริ่มต้นให้กับตัวแปร ชนิดข้อมูลของตัวแปรทั้งสามชนิด ชนิดข้อมูลพื้นฐานแปดชนิด และความแตกต่างระหว่างการแปลงชนิดข้อมูลกับการแคสติ้งชนิดข้อมูล

ตัวแปรในคืออะไร Java?
ตัวแปรใน Java เป็นคอนเทนเนอร์ข้อมูลที่เก็บค่าข้อมูลระหว่าง Java การทำงานของโปรแกรม ตัวแปรทุกตัวจะถูกกำหนดชนิดข้อมูล ซึ่งระบุชนิดและปริมาณของค่าที่มันสามารถเก็บได้ ตัวแปรคือชื่อตำแหน่งในหน่วยความจำของข้อมูล Java ตัวแปรหลักๆ มีสามประเภท ได้แก่ ตัวแปรภายใน (Local), ตัวแปรตามอินสแตนซ์ (Instance) และตัวแปรคงที่ (Static)
ในการใช้ตัวแปรในโปรแกรม คุณต้องทำตาม 2 ขั้นตอนดังนี้:
- การประกาศตัวแปร
- การเริ่มต้นตัวแปร
วิธีการประกาศตัวแปรใน Java?
ในการประกาศตัวแปร คุณต้องระบุชนิดข้อมูลและตั้งชื่อตัวแปรให้ไม่ซ้ำกัน
ตัวอย่างของการประกาศที่ถูกต้องอื่นๆ ได้แก่:
int a, b, c; float pi; double d; char a;
วิธีการเริ่มต้นตัวแปรใน Java?
ในการเริ่มต้นตัวแปร คุณต้องกำหนดค่าที่ถูกต้องให้กับตัวแปร
ตัวอย่างของการกำหนดค่าเริ่มต้นที่ถูกต้องอื่นๆ ได้แก่:
pi = 3.14f; do = 20.22d; a = 'v';
คุณสามารถรวมการประกาศตัวแปรและการเริ่มต้นได้
ตัวอย่าง:
int a = 2, b = 4, c = 6; float pi = 3.14f; double do = 20.22d; char a = 'v';
ประเภทของตัวแปรใน Java
In Javaมีตัวแปรสามประเภท:
- ตัวแปรท้องถิ่น
- ตัวแปรอินสแตนซ์
- ตัวแปรคงที่
1) ตัวแปรท้องถิ่น
ตัวแปรโลคอล คือตัวแปรที่ประกาศไว้ภายในตัวเมธอด
2) ตัวแปรอินสแตนซ์
ตัวแปรอินสแตนซ์ถูกกำหนดโดยไม่มีคำสำคัญ static ตัวแปรเหล่านี้จะถูกประกาศไว้ภายนอกเมธอด ตัวสร้าง หรือบล็อกใดๆ ตัวแปรเหล่านี้เฉพาะเจาะจงกับแต่ละอินสแตนซ์ของคลาสและเรียกว่าตัวแปรอินสแตนซ์
3) ตัวแปรคงที่
ตัวแปรคงที่จะถูกกำหนดค่าเริ่มต้นเพียงครั้งเดียว ณ เวลาที่โหลดคลาส ก่อนที่โปรแกรมจะเริ่มทำงาน ตัวแปรเหล่านี้จะถูกแชร์ระหว่างอินสแตนซ์ทั้งหมดของคลาส และจะถูกกำหนดค่าเริ่มต้นก่อนตัวแปรอินสแตนซ์ใดๆ
ประเภทของตัวแปรใน Java ด้วยตัวอย่าง
class Guru99 { static int a = 1; //static variable int data = 99; //instance variable void method() { int b = 90; //local variable } }
ประเภทข้อมูลอยู่ในอะไร Java?
ประเภทข้อมูลใน Java ถูกกำหนดให้เป็นตัวระบุที่ใช้จัดสรรขนาดและประเภทของค่าต่างๆ ที่สามารถจัดเก็บไว้ในตัวแปรหรือตัวระบุได้ Java มีชุดข้อมูลที่หลากหลาย ชนิดข้อมูลใน Java สามารถแบ่งออกได้เป็นสองส่วน:
- ชนิดข้อมูลดั้งเดิม ซึ่งรวมถึงจำนวนเต็ม อักขระ บูลีน และทศนิยม
- ประเภทข้อมูลที่ไม่ใช่แบบดั้งเดิม ซึ่งรวมถึงคลาส อาร์เรย์ และอินเทอร์เฟซ
ชนิดข้อมูลดั้งเดิม
ประเภทข้อมูลพื้นฐานถูกกำหนดไว้ล่วงหน้าและพร้อมใช้งานภายใน Java ภาษา. ค่าดั้งเดิมจะไม่แชร์สถานะกับค่าดั้งเดิมอื่นๆ
มีชนิดข้อมูลพื้นฐาน 8 ชนิด ได้แก่ ไบต์, ชอร์ต, อินท์, ลอง, ชาร์, โฟลต, ดับเบิล และบูลีน
ชนิดข้อมูลจำนวนเต็ม
byte (1 byte) short (2 bytes) int (4 bytes) long (8 bytes)
ประเภทข้อมูลลอยตัว
float (4 bytes) double (8 bytes)
ประเภทข้อมูลที่เป็นข้อความ
char (2 bytes)
ตรรกะ
boolean (1 byte) (true/false)
| ประเภทข้อมูล | ค่าเริ่มต้น | ขนาดเริ่มต้น |
|---|---|---|
| ไบต์ | 0 | 1 ไบต์ |
| Short | 0 | ไบต์ 2 |
| int | 0 | ไบต์ 4 |
| ยาว | 0L | ไบต์ 8 |
| ลอย | 0.0f | ไบต์ 4 |
| สอง | 0.0d | ไบต์ 8 |
| บูล | เท็จ | บิต 1 |
| ถัง | '(โมฆะ)' | ไบต์ 2 |
จุดที่ต้องจำ:
- ข้อมูลตัวเลขทุกประเภทมีเครื่องหมาย (+/-)
- ขนาดของชนิดข้อมูลยังคงเท่ากันในทุกแพลตฟอร์ม (เป็นมาตรฐาน)
- ชนิดข้อมูล char ใน Java มีขนาด 2 ไบต์เนื่องจากใช้ UNICODE ชุดอักขระ โดยอาศัยอำนาจตามนั้น Java รองรับการใช้งานในระดับสากล UNICODE คือชุดอักขระที่ครอบคลุมทุกอักษรและภาษาที่รู้จักในโลก
Java การแปลงประเภทตัวแปรและการหล่อประเภท
ตัวแปรประเภทหนึ่งสามารถรับค่าของตัวแปรอีกประเภทหนึ่งได้ ในที่นี้มี 2 กรณี:
กรณีที่ 1) ตัวแปรที่มีความจุเล็กกว่าจะถูกกำหนดให้กับตัวแปรอีกตัวที่มีความจุมากกว่า
กระบวนการนี้เป็นไปโดยอัตโนมัติและไม่ชัดเจน และเรียกว่า การแปลง.
กรณีที่ 2) ตัวแปรที่มีความจุมากกว่าจะถูกกำหนดให้กับตัวแปรอีกตัวที่มีความจุน้อยกว่า
ในกรณีดังกล่าว คุณจะต้องระบุให้ชัดเจน ตัวดำเนินการแคสต์ประเภท กระบวนการนี้เรียกว่า พิมพ์หล่อ.
ในกรณีที่คุณไม่ได้ระบุตัวดำเนินการแปลงชนิดข้อมูล คอมไพเลอร์จะแสดงข้อผิดพลาด เนื่องจากกฎนี้ถูกบังคับใช้โดยคอมไพเลอร์ จึงทำให้โปรแกรมเมอร์ตระหนักว่าการแปลงที่พวกเขากำลังจะทำอาจทำให้ข้อมูลบางส่วนสูญหาย และป้องกันข้อผิดพลาดดังกล่าว การสูญเสียโดยไม่ได้ตั้งใจ
ตัวอย่าง: เพื่อทำความเข้าใจการหล่อแบบ
ขั้นตอน 1) คัดลอกโค้ดต่อไปนี้ลงในโปรแกรมแก้ไข
class Demo { public static void main(String args[]) { byte x; int a = 270; double b = 128.128; System.out.println("int converted to byte"); x = (byte) a; System.out.println("a and x " + a + " " + x); System.out.println("double converted to int"); a = (int) b; System.out.println("b and a " + b + " " + a); System.out.println("\ndouble converted to byte"); x = (byte)b; System.out.println("b and x " + b + " " + x); } }
ขั้นตอน 2) บันทึก คอมไพล์ และรันโค้ด
ผลลัพธ์ที่คาดหวัง:
int converted to byte a and x 270 14 double converted to int b and a 128.128 128 double converted to byte b and x 128.128 -128







