"อามิโก ฉันอิจฉาคุณ การเรียนรู้สิ่งใหม่ๆ นั้นยอดเยี่ยมมาก! และวันนี้หัวข้อใหม่และน่าสนใจรอคุณอยู่ — ตามตัวอักษร"

"เห็นได้ชัดว่าฉันควรจะพูดว่าฉันเป็นนักเรียนหุ่นยนต์ที่มีความสุขที่สุดในโลก Rishi ฉันพร้อมที่จะดื่มด่ำกับความรู้ใหม่แล้ว!"

"มาเริ่มกันเลยLiteralsเป็นข้อมูลเฉพาะที่เขียนโดยตรงในโค้ดของโปรแกรม เราไม่ได้พูดถึงแค่ข้อมูลใด ๆ เรากำลังพูดถึงประเภทดั้งเดิมและสตริงเท่านั้น

ตัวอย่างเช่น สมมติว่าคุณมีรหัสนี้:

รหัส ตัวอักษร
int a = 5;
int b = a + 10;
String s = "Sum=" + (a + b);
5
10
"Sum="

"ตัวอักษรในรหัสนี้คือเลข5เลข10และสตริง ' Sum = '

ตัวอักษรจำนวนเต็ม

"ใน Java ทุกอย่างรวมถึงตัวอักษรมีประเภท จำนวนเต็มตามตัวอักษร (จำนวนเต็ม) ในโค้ดคือintsประเภท int คือประเภทจำนวนเต็มมาตรฐานของ Java"

“ผมรู้จักแบบนี้ ผมเคยใช้”

"คุณจำจำนวนเต็มประเภทอื่นๆ นอกเหนือจาก int ได้ไหม บางประเภทที่ใช้พื้นที่ในหน่วยความจำน้อยกว่า"

"แน่นอน! ไบต์และสั้น"

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

ตัวอย่าง:

รหัส คำอธิบาย
int a = 300;
สิ่งนี้จะรวบรวมได้ดี
byte a = 100; 
สิ่งนี้จะรวบรวมได้ดี
byte a = 300;
จะมีข้อผิดพลาดในการรวบรวม เนื่องจากค่าไบต์สูงสุดคือ 127

"แล้ว ประเภท ยาวล่ะ"

"เรายังสามารถเขียนตัวอักษรประเภทนี้ในโค้ดของเราได้ โดยเพิ่มตัวอักษรละติน 'L' หรือ 'l' ต่อท้ายจำนวนเต็ม

ตัวอย่าง:

รหัส คำอธิบาย
long a = 3000000000L; 
สิ่งนี้จะรวบรวมได้ดี
long a = 3000000000; 
ข้อผิดพลาดในการรวบรวม: 3 พันล้านนั้นใหญ่เกินไปสำหรับ int ตามตัวอักษร
int a = 3000000000L; 
ข้อผิดพลาดในการคอมไพล์: ตัวอักษรยาว แต่ตัวแปรเป็น int นอกจากนี้ 3 พันล้านยังมากกว่าค่า int สูงสุด

"คุณสังเกตไหมว่าการอ่านตัวเลขจำนวนมากตั้งแต่ 10 หลักขึ้นไปนั้นยากเพียงใด

"ใช่ หากคุณไม่ได้เปิดใช้งาน robovision ก็จะไม่ชัดเจนทันทีว่าเรากำลังพูดถึง 3 พันล้านหรือ 30"

"เพื่อให้โค้ดอ่านง่ายขึ้น (และนี่เป็นสิ่งสำคัญ!) Java อนุญาตให้ใส่เครื่องหมายขีดล่างลงในตัวอักษรที่เป็นตัวเลขได้ (ไม่ส่งผลต่อค่าของตัวเลข)

"ตัวอย่างข้างต้นสามารถเขียนใหม่ด้วยขีดล่างเพื่อให้ชัดเจนขึ้นเล็กน้อย:

รหัส คำอธิบาย
long a = 3_000_000_000L; 
สิ่งนี้จะรวบรวมได้ดี
long a = 3_000_000_000; 
ข้อผิดพลาดในการรวบรวม: 3 พันล้านนั้นใหญ่เกินไปสำหรับ int ตามตัวอักษร
int a = 3_000_000_000L; 
ข้อผิดพลาดในการคอมไพล์: ตัวอักษรยาว แต่ตัวแปรเป็น int นอกจากนี้ 3 พันล้านยังมากกว่าค่า int สูงสุด

"สะดวกกว่ามากในการอ่าน แม้ว่าเครื่องหมายจุลภาคแทนเครื่องหมายขีดล่างจะคุ้นเคยมากกว่า!"

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

ตัวอักษรจำนวนจริง

"คุณอาจเดาได้อยู่แล้วว่าในรหัสของคุณ คุณสามารถระบุได้ไม่เพียงแค่จำนวนเต็มเท่านั้น แต่ยังรวมถึงตัวอักษรทศนิยม (จำนวนจริง) ด้วย"

"ทั้งคู่และลอย?"

"ใช่ จริง ๆ แล้ว กฎค่อนข้างง่าย ถ้าตัวเลขในโค้ดมีจุดทศนิยม ตัวเลขนั้นจะเป็นตัวอักษรทศนิยม และไม่ใช่แค่ตัวอักษรใด ๆ แต่เป็นตัวอักษรคู่ ในการสร้างตัวอักษรลอยคุณ ต้องใส่ตัวอักษร 'F' (หรือ 'f') ต่อท้ายตัวเลข .

ตัวอย่าง:

รหัส คำอธิบาย
double a = 100.0; 
สิ่งนี้จะรวบรวมได้ดี
double a = 100.;
สิ่งนี้จะรวบรวมได้ดี
double a = .0;
สิ่งนี้จะรวบรวมได้ดี
float a = 100.0f; 
สิ่งนี้จะรวบรวมได้ดี
float a = 100.0; 
จะมีข้อผิดพลาดในการรวบรวม: ตัวแปรเป็นทศนิยม แต่ตัวอักษรเป็นสองเท่า

"ยังไงก็ตาม คุณสามารถแปลงจำนวนเต็มตามตัวอักษรเป็นทศนิยมหรือดับเบิ้ลลิเทอรัลได้อย่างชัดเจนโดยการเติมคำต่อท้าย 'F' (สำหรับfloat ) หรือ D (สำหรับdouble ) ตัวอย่าง:

รหัส คำอธิบาย
double a = 100D;
สิ่งนี้จะรวบรวมได้ดี
float a = 100F; 
สิ่งนี้จะรวบรวมได้ดี
int a = 300D; 
จะมีข้อผิดพลาดในการรวบรวม: ตัวแปรเป็น int แต่ตัวอักษรเป็นdouble

"ตัวอักษรทศนิยมสามารถใช้สัญกรณ์วิทยาศาสตร์ได้ นอกจากส่วนที่ลงนามของตัวเลขแล้ว คุณยังสามารถระบุกำลังของสิบได้ด้วย ตัวอย่าง:

ตัวอักษร สัญกรณ์ทางคณิตศาสตร์ ค่าสุดท้าย
1.23 2 1.23*10 2 123.0
1.23 3 1.23*103 1230.0
1.23 อี -6 1.23*10 -6 0.00000123
1 อี 6 1.0 *10 6 1000000.0
1 อี -10 1.0*10 -10 0.0000000001

ตัวอักษรสตริง

"คุณยังสามารถระบุบรรทัดข้อความทั้งหมดในโค้ดของคุณ เพื่อบอกให้คอมไพเลอร์ปฏิบัติต่อสตริงเป็นข้อมูล (ตัวอักษร) ไม่ใช่ส่วนหนึ่งของโค้ด สตริงทั้งหมดจะถูกล้อมรอบด้วยเครื่องหมายอัญประกาศคู่ทั้งสองด้าน

"หากโค้ดบรรทัดเดียวมีอัญประกาศคู่หลายตัว เครื่องหมายอัญประกาศคู่แรกจะระบุจุดเริ่มต้นของตัวอักษร ตัวถัดไปจะระบุจุดสิ้นสุดของตัวอักษร ตัวถัดไปหลังจากนั้นจะทำเครื่องหมายอีกครั้งว่า จุดเริ่มต้นของตัวอักษรใหม่ และถัดไป เป็นจุดสิ้นสุดของตัวอักษรตัวที่สอง และอื่น ๆ

"ตัว อักษรแต่ละตัวเป็นสตริง

ตัวอย่าง

รหัส คำอธิบาย
"+"+"+"+"+"+"+"+"+"
มี 5 ตัวอักษรในหนึ่งบรรทัด แต่ละตัวประกอบด้วยอักขระ '+' ตัวเดียว
""
ตัวอักษรนี้เป็นสตริงว่าง สตริงที่ไม่มีอักขระ
"2+3"+"-5"
มีสองตัวอักษรที่นี่ ผลลัพธ์จะเป็นสตริง '2+3-5' ไม่ใช่ตัวเลข
"return"+";"
นอกจากนี้ยังมีตัวอักษรสองตัวที่นี่ ไม่มีคำสั่งส่งคืนที่นี่

"หากสตริงตัวอักษรยาวเกินไป สามารถแบ่งออกเป็นหลายบรรทัดและติดกาวเข้าด้วยกันด้วย 'ตัวดำเนินการบวก':

รหัส คำอธิบาย
String s = "I hold it true, whate'er befall"
         + "I feel it when I sorrow most;"
         + "'Tis better to have loved and lost"
         + "Than never to have loved at all.";
หากคุณส่งออกบรรทัดนี้ไปที่หน้าจอ ข้อความทั้งหมดจะแสดงในบรรทัดเดียว!

ตัวอักษรตัวอักษร

"จะเกิดอะไรขึ้นถ้าฉันต้องการตัวอักษรที่เป็นอักขระตัวเดียวแทนที่จะเป็นสตริง ฉันควรสร้างสตริงที่ประกอบด้วยอักขระตัวเดียวหรือไม่"

"ไม่ ในกรณีนั้นคุณต้องมีตัวอักษรที่เป็นประเภทcharคุณเดาได้ไหมว่าจุดเริ่มต้นและจุดสิ้นสุดของตัวอักษรนั้นถูกกำหนดอย่างไร"

"คำพูดเดียว?"

"ใช่ และภายใน single quotes จะต้องมีอักขระและอักขระเพียงตัวเดียว คุณไม่สามารถใช้ single quotes ที่ว่างเปล่าได้

ตัวอย่าง:

รหัส คำอธิบาย
'A'
ตัวอักษรที่มีประเภทเป็นถ่าน มันมีตัวอักษรละติน 'A'
'@' 
ตัวอักษรที่มีประเภทเป็นถ่าน มีสัญลักษณ์ '@'
'' 
ตัวอักษรที่มีประเภทเป็นถ่าน มันมีตัวอักษรภาษาญี่ปุ่น และนี่ก็เป็นไปได้เช่นกัน
'\u1f3a'
ตัวอักษรที่มีประเภทเป็นถ่าน ประกอบด้วยอักขระ Unicode ที่ระบุโดยหมายเลข

"ตัวอย่างสุดท้ายกำหนดอักขระ Unicode โดยใช้เครื่องหมายพิเศษ: อันดับแรก เรามีคำนำหน้า\\uตามด้วยอักขระเลขฐานสิบหก 4 ตัว คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับสิ่งนี้ในบทเรียนถัดไป"