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

และตอนนี้สำหรับหัวข้อใหม่ที่น่าสนใจ — ตัวอักษร ข้อมูลที่เขียนโดยตรงในรหัสโปรแกรมเรียกว่าตัวอักษร เราไม่ได้พูดถึงข้อมูลเก่า แต่เป็นค่าของประเภทดั้งเดิมและStringประเภท

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

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

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

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

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

คอมไพเลอร์ Java นั้นฉลาดพอที่จะเข้าใจว่าbyteตัวแปรสามารถกำหนดเป็นจำนวนเต็มตามตัวอักษร 100 โดยไม่สร้างปัญหา

ตัวอย่าง:

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

คุณยังสามารถเขียนlongตัวอักษรในรหัสของคุณ เมื่อต้องการทำเช่นนี้ เพิ่มตัวอักษรละติน 'L' หรือ 'l' ที่ส่วนท้ายของจำนวนเต็ม

ตัวอย่าง:

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

คุณสังเกตไหมว่าการอ่านตัวเลขจำนวนมากตั้งแต่ 10 หลักขึ้นไปนั้นยากเพียงใด คุณไม่สามารถบอกได้ทันทีว่ารหัสบอกว่า 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 สูงสุด

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



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

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

ที่จริงแล้ว กฎนั้นค่อนข้างง่าย: ถ้าตัวเลขในโค้ดมีจุดทศนิยม ตัวเลขนั้นจะเป็นตัวอักษรทศนิยม และไม่ใช่แค่ตัวอักษรใด ๆ แต่เป็นdoubleตัวอักษร

คุณสามารถสร้างทศนิยมได้ แต่คุณต้องใส่ตัวอักษร 'F' (หรือ 'f') ต่อท้ายตัวเลขเพื่อทำเช่นนั้น

ตัวอย่าง:

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

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

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

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

ตัวอักษร สัญกรณ์ทางคณิตศาสตร์ ค่าสุดท้าย
1.23E2
1.23 * 102
123.0
1.23E3
1.23 * 103
1230.0
1.23E-6
1.23 * 10-6
0.00000123
1E6
1.0 * 106
1000000.0
1E-10
1.0 * 10-10
0.0000000001


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

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

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

ตัวอักษรดังกล่าวแต่ละตัวคือ a String.

ตัวอย่าง

รหัส คำอธิบาย
"+" + "+" + "+" + "+" + "+"
มี 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.";
หากคุณส่งออกบรรทัดนี้ไปที่หน้าจอ ข้อความทั้งหมดจะแสดงในบรรทัดเดียว!


4. ตัวอักษรตัวอักษร

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

อักขระตาม ตัวอักษรจะถูกล้อมรอบด้วยเครื่องหมายอัญประกาศเดี่ยว ซึ่งแตกต่างจากสตริง ภายใน single quotes จะต้องมีอักขระและอักขระเพียงตัวเดียว คุณไม่สามารถใช้เครื่องหมายอัญประกาศเดี่ยวที่ว่างเปล่าได้

ตัวอย่าง:

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

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