“สวัสดี อามีโก้!”

"สวัสดี ริชิ!"

"คุณเข้าใจพื้นฐานของไวยากรณ์ Java แล้ว ดังนั้นตอนนี้ฉันต้องการให้รายละเอียดเพิ่มเติมแก่คุณ"

"วันนี้ เราจะพูดถึงประเภทดั้งเดิมและจำนวนหน่วยความจำที่พวกเขาใช้ ความรู้นี้จะมีประโยชน์ แม้กระทั่งในปัจจุบัน นี่คือประเภทพื้นฐาน:"

พิมพ์ ขนาด
ไบต์
ช่วงค่า ค่าเริ่มต้น คำอธิบาย
ไบต์ 1 -128 .. 127 0 จำนวนเต็มน้อยที่สุด 1 ไบต์
สั้น 2 -32,768 .. 32,767 0 จำนวนเต็มสั้น 2 ไบต์
นานาชาติ 4 -2*10 9  .. 2*10 9 0 จำนวนเต็ม 4 ไบต์
ยาว 8 -9*10 18  .. 9*10 18 0 ลิตร จำนวนเต็มยาว 8 ไบต์
ลอย 4 -10 127  .. 10 127 0.0f จำนวนเศษส่วน 4 ไบต์
สองเท่า 8 -10 1023  .. 10 1023 0.0d เศษส่วนที่มีขนาดเป็นสองเท่าของจำนวนทศนิยม 8 ไบต์
บูลีน 1 ถูกผิด เท็จ ประเภทบูลีน (จริงหรือเท็จเท่านั้น)
ถ่าน 2 0..65,535 '\u0000' อักขระ 2 ไบต์ ค่าที่ไม่ได้ลงนามทั้งหมด
วัตถุ 4 การอ้างอิงใด ๆ หรือเป็นโมฆะ โมฆะ เก็บการอ้างอิงถึงอินสแตนซ์ของ Object หรือคลาสที่สืบทอดมาจาก Object

"ฉันจะบอกคุณเพิ่มเติมเกี่ยวกับแต่ละประเภท"

"ประเภทไบต์เป็นประเภทจำนวนเต็มที่น้อยที่สุด ตัวแปรประเภทนี้ใช้หน่วยความจำเพียง 1 ไบต์ ไบต์สามารถเก็บค่าในช่วงระหว่าง -128 ถึง 127"

"ทำไมเราถึงต้องการตัวพิมพ์เล็ก ทำไมเราใช้ int ตลอดเวลาไม่ได้"

"เราทำได้ แต่ถ้าคุณกำลังสร้างอาร์เรย์ขนาดใหญ่ที่องค์ประกอบไม่จำเป็นต้องเก็บค่าที่มากกว่า 100 ทำไมไม่ใช้ประเภทนี้ล่ะ สมเหตุสมผลไหม"

" Shortมีความยาวเป็นสองเท่าของไบต์ และยังเก็บเฉพาะจำนวนเต็มเท่านั้น จำนวนบวกที่ใหญ่ที่สุดที่เก็บได้คือ 32,767 จำนวนลบที่ใหญ่ที่สุดที่สามารถเก็บได้คือ -32,768"

"  ประเภท int  ที่คุณคุ้นเคย สามารถเก็บจำนวนเต็มในช่วง ±2,000,000,000"

"  ประเภท ทศนิยม  ถูกสร้างขึ้นเพื่อจัดเก็บจำนวนจริง (เศษส่วน) ขนาดของมันคือ 4 ไบต์"

"ตัวเลขเศษส่วนถูกจัดเก็บในรูปแบบที่ค่อนข้างน่าสนใจ"

"ตัวอย่างเช่น หมายเลข  987654.321  สามารถแสดงเป็น 0.987654321*10 6ซึ่งหมายความว่าสามารถแสดงเป็นตัวเลขสองตัวในหน่วยความจำ: 0. 987654321 ( mantissa หรือ significand ) และ6 ( เลขชี้กำลังฐาน 10 )"

"เราต้องการสิ่งนั้นเพื่ออะไร"

"แนวทางนี้ช่วยให้เราใช้ 4 ไบต์ในการจัดเก็บตัวเลขที่มากกว่าที่ int สามารถจัดเก็บได้ ในการทำเช่นนี้ เราต้องเสียสละความแม่นยำ มีเพียงส่วนหนึ่งของไบต์เหล่านั้นเท่านั้นที่ใช้จัดเก็บแมนทิสซา ซึ่งหมายความว่าตัวเลขเหล่านี้จะจัดเก็บเท่านั้น ทศนิยม 6-7 ตำแหน่ง ทศนิยมที่มีนัยสำคัญน้อยกว่าจะถูกทิ้ง"

"ตัวเลขเหล่านี้เรียกอีกอย่างว่า เลขจุดไอซิ่งแบบ ลอยตัว นี่คือที่ มาของชื่อ ประเภท โฟลต "

"ฉันเห็น."

" ประเภท doubleคล้ายกับfloatแต่ยาวเป็นสองเท่า (ตามชื่อ) ซึ่งกินพื้นที่ได้ถึง 8 ไบต์มันสามารถรองรับแมนทิสซาที่ใหญ่กว่าและตัวเลขที่มีนัยสำคัญมากกว่าได้ หากคุณต้องการจัดเก็บจำนวนจริง ให้ลองใช้ประเภทนี้เสมอ "

" ถ่านเป็นประเภทไฮบริด ค่าของมันสามารถตีความได้ทั้งเป็นตัวเลข (ซึ่งสามารถเพิ่มหรือลบได้) และอักขระ สิ่งนี้เป็นไปได้เพราะแม้ว่าอักขระจะมีการแสดงภาพ แต่คอมพิวเตอร์ส่วนใหญ่มองว่าเป็นตัวเลข และสะดวกกว่า ให้ถือว่าเป็นตัวเลขอีกอย่างหนึ่ง: ประเภท อักขระเป็นค่าบวกเสมอ ไม่สามารถเก็บค่าลบได้ "

" ประเภท บูลีนเป็นประเภทตรรกะที่เก็บได้เพียงสองค่า : จริงหรือเท็จ  "

"แม้ว่าจะมีอยู่ในแผนภูมินี้ แต่ ประเภท วัตถุไม่ใช่ประเภทดั้งเดิมมันเป็นคลาสพื้นฐานสำหรับทุกคลาสใน Java อันดับแรก คลาสทั้งหมดได้รับมาจากคลาสนี้ ดังนั้นจึงมีเมธอดของมัน ประการที่สอง ตัวแปรอ็อบเจกต์สามารถจัดเก็บการอ้างอิงได้ ไปยังอ็อบเจกต์ประเภทใดก็ได้ รวมถึง null ( การอ้างอิง แบบ null )"

"วันนี้ฉันได้เรียนรู้อะไรมากมาย ขอบคุณสำหรับบทเรียนนะ ริชิ"