JavaRush /จาวาบล็อก /Random-TH /ตัวอักษรในภาษา Java

ตัวอักษรในภาษา Java

เผยแพร่ในกลุ่ม
ในขั้นตอนของการสร้างแอปพลิเคชัน ตามกฎแล้วนักพัฒนาจะรู้เฉพาะโครงสร้างของมันเท่านั้นและไม่ถือว่าข้อมูลใดที่จะประมวลผล อย่างไรก็ตาม ในบางสถานการณ์ คุณต้องระบุข้อมูลบางอย่างในโค้ดโปรแกรมอย่างชัดเจน (เช่น จำนวนการวนซ้ำหรือข้อความที่จะส่งออก) ในกรณีนี้ตัวอักษรเข้ามาช่วยเหลือ เนื้อหา:

ตัวอักษรคืออะไร?

ตัวอักษรเป็นค่าที่ระบุอย่างชัดเจนในโค้ดโปรแกรม - ค่าคงที่บางประเภทที่อยู่ในโค้ด ณ เวลาที่เปิดตัว
class Test {
   public static void main(String[] args) {
       System.out.println("Hello world!");
   }
}
ในชั้นเรียนนี้ “สวัสดีชาวโลก!” - ตัวอักษร ตัวอักษรมีหลายประเภท ขึ้นอยู่กับวัตถุประสงค์และวิธีการเขียน

ประเภทของตัวอักษรและการนำไปใช้

ตัวอักษรทั้งหมดเป็นค่าดั้งเดิม (สตริง, ตัวเลข, อักขระ, บูลีน) คุณไม่สามารถสร้างวัตถุตามตัวอักษรได้ ตัวอักษรเดียวที่เกี่ยวข้องกับวัตถุคือnull. ตามตัวอักษรดั้งเดิมยังแบ่งออกเป็นส่วนต่างๆ:
  1. ตัวเลข:
    • จำนวนเต็ม;
    • จุดลอยตัว;
  2. สตริง;
  3. อักขระ;
  4. พัฒนาสมอง

ตัวอักษรตัวเลข

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

ตัวอักษรประเภทนี้เป็นวิธีที่ง่ายที่สุด ตัวเลขเขียนในรูปแบบมาตรฐานโดยไม่ระบุอักขระหรือสิ่งอื่นใด จำนวนเต็มใดๆ จะเป็นจำนวนเต็มตามตัวอักษรตามค่าเริ่มต้น นั่นคือคุณสามารถตั้งค่าของตัวแปรหรือจำนวนการวนซ้ำในลูปได้อย่างชัดเจน Java รองรับระบบตัวเลข 4 ระบบ:
  • ไบนารี่
  • เลขฐานแปด
  • ทศนิยม
  • เลขฐานสิบหก
JDK 7 แนะนำความสามารถในการเขียนค่าไบนารี ทำได้โดยใช้คำนำหน้า0bหรือ0B ถัดมาเป็นการเขียนโดยใช้ 0 และ 1 ตัวเลขในฐานแปดเขียนโดยใช้ 0 นำหน้า ตัวเลขที่ถูกต้องคือ 0 ถึง 7 การเขียน 09 หรือ 08 จะทำให้เกิดข้อผิดพลาดในการคอมไพล์ ไม่มีปัญหากับ ระบบเลข ฐานสิบ : ตัวเลขจะถูกระบุในรูปแบบที่เราคุ้นเคย ข้อจำกัดเพียงอย่างเดียวคือ ตัวเลขไม่สามารถขึ้นต้นด้วย 0 ได้ เนื่องจากคอมไพเลอร์จะใช้ตัวเลขดังกล่าวเป็นฐานแปด ตัวเลขที่เป็นเลขฐานสิบหกเขียนโดยใช้คำนำหน้า 0x และ 0X ตัวเลขที่ถูกต้องคือตั้งแต่ 0 ถึง 15 โดยที่ตัวเลข 10-15 จะแสดงด้วยสัญลักษณ์ AF ตามลำดับ
public static void main(String[] args) {
       int a = 0b1101010110;
       int b = 012314;
       int c = 456;
       int d = 0x141D12;
       System.out.println("Число a в двоичной системе: " + a);
       System.out.println("Число b в восьмеричной системе: " + b);
       System.out.println("Число c в десятичной системе: " + c);
       System.out.println("Число d в шестнадцатеричной системе: " + d);
}
เอาท์พุต: หมายเลข a ในระบบไบนารี่: 854 หมายเลข b ในระบบฐานแปด: 5324 หมายเลข c ในระบบทศนิยม: 456 หมายเลข d ในระบบเลขฐานสิบหก: 1318162 แม้ว่าตัวเลขจะถูกระบุในระบบตัวเลขที่แตกต่างกัน แต่ในโปรแกรมตัวเลขเหล่านั้นจะถูกประมวลผลเป็นทศนิยม ตัวเลข เกินค่าจะส่งผลให้เกิดข้อผิดพลาดในการรวบรวม:
int b = 012914; // Ошибка
int d = 0x141Z12; // Ошибка
เมื่อรันที่ขั้นตอนการคอมไพล์ เราจะได้ผลลัพธ์ดังนี้:

Error:(13, 25) java: integer number too large: 012914
Error:(14,30) java: ';' expected
แล้วการพิมพ์ล่ะ? ตัวอักษรจำนวนเต็มใดๆ มีประเภทเริ่มต้นintเป็น หากค่าอยู่นอกขอบเขตของตัวแปรที่กำหนด จะเกิดข้อผิดพลาดในการคอมไพล์ เมื่อใช้ประเภทlongคุณต้องใส่สัญลักษณ์ที่ส่วนท้ายLเพื่อระบุประเภทนี้:
long x = 0x1101010110; // Ошибка
long b = 1342352352351351353L; // Все в порядке
กำลังพยายามรวบรวมผลลัพธ์ด้วยข้อผิดพลาดต่อไปนี้:

Error(11, 26) java: integer number too large: 1101010110

ตัวอักษรจุดลอยตัว

จำนวนจุดลอยตัวหรือจำนวนเศษส่วนสามารถเขียนได้สองวิธี ค่าแรกเป็นเศษส่วนทศนิยมคลาสสิก: 3.14159 หรือ 2.718281282459045 ประการที่สองอยู่ในรูปแบบทางวิทยาศาสตร์ นั่นคือ เศษส่วนทศนิยมสามัญบวกส่วนต่อท้ายในรูปของสัญลักษณ์ e หรือ E และกำลัง 10 โดยจะต้องคูณเศษส่วนที่ระบุ ตัวอย่างเช่น 4.05E-13 หมายความว่า 4.05 * 10 -13
double a = 2.718281828459045;
double d = 4.05E-13;
System.out.println("Тип double в классическом виде: " + a);
System.out.println("Тип double в научном виде: " + d);
เอาท์พุต: ประเภทคู่คลาสสิก: 2.718281828459045 ประเภทคู่ทางวิทยาศาสตร์: 4.05E-13 สัญกรณ์ทางวิทยาศาสตร์ต่างจากจำนวนเต็มและระบบตัวเลขตรงที่สัญกรณ์ทางวิทยาศาสตร์จะถูกจัดเก็บไว้ในตัวแปรและประมวลผลในลักษณะเดียวกับสัญกรณ์คลาสสิก แล้วการพิมพ์ล่ะ? หมายเลขทศนิยมใด ๆ จะสร้างdoubleประเภท หากคุณต้องใช้ประเภทfloatคุณต้องเพิ่มfหรือ ต่อ Fท้าย ในกรณีนี้doubleจะถูกลดขนาดลงเป็นfloatประเภท สิ่งนี้จะไม่เกิดขึ้นโดยอัตโนมัติ:
float a = 2.718281828459045; // Ошибка
float d = 4.05E-13F; // Все в порядке
เมื่อเริ่มต้นที่ขั้นตอนการคอมไพล์ เราเห็นข้อผิดพลาดต่อไปนี้:

Error:(11, 27) java: incompatible types: possible lossy conversion from double to float

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

ตัวอักษรสตริงคือชุดอักขระที่อยู่ในเครื่องหมายคำพูดคู่ ประเภทนี้ใช้บ่อยพอๆ กับตัวอักษรตัวเลข บรรทัดอาจมีอักขระบริการที่ต้องหลีก (เรียกว่าลำดับหลีก) ตัวอย่าง:
String simpleString = "Это обычная строка. Такая же стандартная и непримечательная, How и все мы.";
String uniqueString = "А это необычная \"строка\". Хотя бы потому, что часть \"слов\" в ней в \"кавычках\".";
System.out.println(simpleString);
System.out.println(uniqueString);
เอาท์พุต: นี่คือสตริงปกติ เช่นเดียวกับมาตรฐานและไม่ธรรมดาเหมือนกับพวกเราที่เหลือ และนี่คือ "เส้น" ที่ไม่ธรรมดา หากเพียงเพราะว่า "คำ" บางคำอยู่ใน "เครื่องหมายคำพูด"

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

ตัวอักษรตัวอักษรใน Java แสดงโดยชุดอักขระ Unicode กล่าวคือ อักขระแต่ละตัวมีค่า 16 บิต เพื่อระบุสัญลักษณ์ในโค้ด จะถูกคั่นด้วยเครื่องหมายคำพูดเดี่ยว จากประสบการณ์ มีสัญลักษณ์สองประเภท:
  1. อักขระที่สามารถป้อนจากแป้นพิมพ์ได้นั้นเป็นอักขระธรรมดา
  2. สัญลักษณ์ที่ไม่สามารถป้อนได้ง่ายๆ จากคีย์บอร์ด (สัญลักษณ์ของภาษา รูปร่าง และอื่นๆ)
อักขระปกติสามารถระบุได้อย่างชัดเจน: ' ,' หรือ ' @' หากอักขระเป็นอักขระบริการ (เช่น ตัวแบ่งบรรทัดหรือแท็บ) อักขระดังกล่าวจะต้องถูกหลีกด้วยแบ็กสแลช อักขระที่ไม่สามารถป้อนจากคอนโซลได้ง่ายๆ สามารถระบุในรูปแบบ 16 บิตได้ ในการดำเนินการนี้ คุณต้องระบุโค้ดอักขระด้วยคำนำหน้า\uเช่น ' \u00F7' คุณยังสามารถระบุอักขระในรูปแบบฐานแปด (ตัวเลขสามหลัก) ได้โดยการเพิ่มเครื่องหมายแบ็กสแลชที่จุดเริ่มต้น เช่น ' \122' \uในความคิดของ ฉันมันใช้งานง่ายกว่ามาก ตัวอย่างการใช้งาน:
System.out.println("Амперсанд - " + '&');
System.out.println("Символ деления - " + '\u00F7');
เอาท์พุต: เครื่องหมาย แอมเพอร์แซนด์ - & สัญลักษณ์การหาร - ۞

ตัวอักษรบูลีน

ตัวอักษรที่ง่ายที่สุดคือตรรกะ มีเพียง 2 ค่าเท่านั้น คือfalseและtrueซึ่งระบุไว้อย่างชัดเจนโดยไม่มีสัญลักษณ์ต่างๆ ตัวอักษรดังกล่าวสามารถกำหนดให้กับตัวแปรประเภทบูลีนหรือระบุในตำแหน่งที่คาดว่าจะใช้ประเภทบูลีน (เช่น ในบล็อก if แม้ว่าการปฏิบัตินี้จะถือเป็นมารยาทที่ไม่ดีก็ตาม)
boolean flag = false;

if(true) {
    // Действия будут выполняться всегда.
}

เทคนิคเจไดพร้อมตัวอักษร

ต้องขอบคุณสัญลักษณ์ใน Java คุณสามารถทำสิ่งที่น่าสนใจมากมาย รวมถึงการจัดการอิโมจิด้วย ตัวอย่างเช่น เรามาแสดงใบหน้าที่ยิ้มแย้ม:
int smile = 0x1F600; // Здесь шестнадцатеричный code эмоджи
StringBuilder sb = new StringBuilder();
sb.append(Character.toChars(smile)); // Собираем в StringBuilder
System.out.println("Улыбающееся лицо: " + sb.toString()); // Выводим
สรุป: ใบหน้าที่ยิ้มแย้ม: 😀 แม้ว่าการแสดงอิโมจิอาจดูน่าขนลุก (ขึ้นอยู่กับการใช้งาน) แต่โซลูชันนี้ทำงานได้ดี อย่างไรก็ตาม การค้นหาอิโมจิที่ต้องการในตารางการเข้ารหัสมาตรฐานนั้นเป็นเรื่องยาก ส่วนอิโมติคอนบนเว็บไซต์อย่างเป็นทางการนั้นกระจัดกระจาย การใช้ไลบรารีเพิ่มเติมนั้นง่ายกว่ามาก

ตัวอักษรในหลักสูตร JavaRush

ในหลักสูตร JavaRush จะมีการศึกษาตัวอักษรที่ระดับ 10 ในการบรรยายที่ 8 ของหลักสูตร Java Syntaxโดยที่ตัวอย่างจะอธิบายว่าตัวอักษรคืออะไรและเหตุใดจึงจำเป็นต้องใช้ JavaRush เป็นหลักสูตรออนไลน์เกี่ยวกับการเขียนโปรแกรม Java ที่เน้นการฝึกฝน: งานมากกว่า 1,200 งานพร้อมการตรวจสอบทันที มินิโปรเจ็กต์ และเกม

บทสรุป

ตัวอักษรใน Java เป็นสิ่งที่สะดวกในทุกโปรแกรม แต่ต้องใช้ในตำแหน่งที่เหมาะสม คุณไม่ควรฮาร์ดโค้ดพารามิเตอร์การเชื่อมต่อฐานข้อมูลหรือค่าใดๆ ที่อาจเปลี่ยนแปลงระหว่างวงจรชีวิตของโปรแกรมในซอร์สโค้ด
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION