เครื่องหมายคำพูดเดี่ยวและคู่ใน Java มีความแตกต่างกันหรือไม่?
เครื่องหมายคำพูดเดี่ยวและคู่ใน Java มีความแตกต่างกันหรือไม่?
คำตอบ:
ใช้เครื่องหมายคำพูดเดี่ยวสำหรับเครื่องหมายคำพูดchar
คู่สำหรับตัวอักษรString
เช่น:
char c = 'a';
String s = "hello";
ไม่สามารถใช้วิธีอื่นได้ (เช่นใน Python เป็นต้น)
int
ในบริบทดังกล่าว char
ดังนั้นจึงไม่จำเป็นต้องเป็น Deservin 'downvotes บางอย่าง ... ง่าย
อักขระเป็นอักขระ UTF-16 ตัวเดียวนั่นคือตัวอักษรตัวเลขเครื่องหมายวรรคตอนแท็บช่องว่างหรือสิ่งที่คล้ายกัน
ตัวอักษรอักขระเป็นอักขระตัวเดียวที่อยู่ในเครื่องหมายอัญประกาศเดี่ยวเช่นนี้
char myCharacter = 'g';
หรือลำดับการหลีกเลี่ยงหรือแม้แต่ลำดับการหลีกเลี่ยง Unicode:
char a = '\t'; // Escape sequence: tab
char b = '\177' // Escape sequence, octal.
char c = '\u03a9' // Unicode escape sequence.
เป็นที่น่าสังเกตว่าลำดับการหลีกเลี่ยง Unicode ได้รับการประมวลผลเร็วมากในระหว่างการคอมไพล์และด้วยเหตุนี้การใช้ '\ u00A' จะนำไปสู่ข้อผิดพลาดของคอมไพเลอร์ สำหรับสัญลักษณ์พิเศษควรใช้ลำดับการหลีกแทนเช่น "\ n" แทน "\ u00A"
เครื่องหมายคำพูดคู่สำหรับString
คุณต้องใช้ "ลำดับการหลีกเลี่ยงเครื่องหมายคำพูดคู่" ( \"
) ภายในสตริงซึ่งมิฉะนั้นจะยุติสตริง
ตัวอย่างเช่น:
System.out.println("And then Jim said, \"Who's at the door?\"");
ไม่จำเป็นต้องหลีกเลี่ยงเครื่องหมายคำพูดคู่ในเครื่องหมายคำพูดเดี่ยว
บรรทัดต่อไปนี้ถูกต้องตามกฎหมายใน Java:
char doublequote = '"';
ลองพิจารณาโค้ดบรรทัดนี้ (Java):
System.out.println("H"+"A"); //HA
System.out.println('H'+'a'); //169
1) บรรทัดแรกเป็นการต่อกันH
และA
จะส่งผลให้HA
(String literal)
2) ประการที่สองเรากำลังเพิ่มค่าของอักขระสองตัวตามตาราง ASCII H
= 72 และa
= 97 นั่นหมายความว่าเรากำลังเพิ่ม72+97
มันเป็นเช่น('H'+'a')
นั้น
3) ลองพิจารณาอีกกรณีหนึ่งที่เราจะมี:
System.out.println("A"+'N');//AN
ในกรณีนี้เราจะจัดการกับกำหนดการ String A
และถ่านที่จะทำให้N
AN
อัญประกาศเดี่ยวระบุอักขระและอัญประกาศคู่ระบุสตริง
ถ่าน c = 'c';
'c' -----> c เป็นอักขระ
สตริง s = "stackoverflow";
"stackoverflow" ------> stackoverflow คือสตริง (เช่น collection if characters)