Constants or Literals

รุ่งไพลิน สุดเปรื่องปราชญ์ 650710093

Constants หรือ Literals คือ ค่าคงที่ เมื่อประกาศตัวแปรต้องแล้วจะต้องกำหนดค่าทันที ไม่ว่าจะเป็น จำนวนเต็ม, ทศนิยม, อักขระ, สตริง, null, บลูลีน โดยกำหนดค่าให้ตัวแปรไม่สามารถเปลี่ยนแปลงระหว่าง runtime

ตัวอย่างโค้ด
int a = 100;
double b = 3.14145;
char c = 'c';
string d = "Hello";
bool e = true;

ประเภทของ Literals

Integer Literals คือ ค่าคงที่จำนวนเต็ม โดยสามารถเป็นค่าคงที่ในระบบฐานต่าง ๆ โดยไม่ต้องใส่ Prefix นำหน้าเลขทศนิยม และมีการใส่ Suffix สำหรับระบุประเภทค่าคงที่เพิ่มเติม ช่วยให้โปรแกรมเข้าใจค่าที่ตามมาเป็นค่าประเภทใด

Prefix คือ ตัวอักษรที่อยู่หน้าค่าของตัวแปร เพื่อระบุประเภทหรือความหมายของค่า Suffix คือ ตัวอักษรที่อยู่ท้ายค่าของตัวแปร เพื่อระบุประเภทของข้อมูลหรือความหมาย

int a = 101;      // เลขทศนิยม
int b = 0xFace;   // เลขฐานสิบหก
int c = 0b101;    // เลขฐานสอง

Floating-point Literals คือ ค่าที่มีส่วนทศนิยม สามารถใช้รูปแบบทศนิยมปกติหรือแบบยกกำลังทศนิยมสูงๆ โดยค่าทศนิยมจะใช้ตัวแปร double สามารถใช้ suffix f หรือ F เพื่อระบุว่าเป็น float

double d1 = 3.1415; 
float f1 = 3.14F;

Character Literals คือ ค่าที่เป็นอักขระ แบ่งได้ 3 ประเภท

  • Single quote หรือ อัญประกาศเดี่ยว ('') เราสามารถกำหนดตัวอักษรลิตเตอรัลให้กับชนิดข้อมูล char โดยใช้อักขระเพียงตัวเดียวภายในเครื่องหมายอัญประกาศเดี่ยว

  • Unicode Representation กำหนดลิตเตอรัลของ char ในรูปแบบ Unicode โดยใช้ ‘\uxxxx’ ซึ่ง xxxx แทนตัวเลขฐานสิบหก 4 หลัก

  • Escape Sequence ตัวอักษรพิเศษที่จะแสดงใน character

Escape Sequence
ความหมาย

\\

\ อักขระ

\'

‘ อักขระ

\?

?อักขระ

\"

"อักขระ

\b

ช่องว่าง

\a

จะแสดงเป็นเสียงแจ้งเตือนเมื่อมีการเรียกใช้ (ถ้าระบบรับรอง)

\f

ให้เนื้อหาถูกแบ่งไปยังหน้าต่อไป โดยการพิมพ์เอกสารหรือแสดงผล

\v

เลื่อนตำแหน่งการแสดงผลในแนวตั้ง คล้ายปุ่ม Tab แต่แสดงผลในแนวตั้ง

\xhh...

ใช้แทนค่าตัวเลขฐานสิบหกหนึ่งหรือมากกว่าหนึ่งหลัก

แทนอักขระ ASCII หรือ Unicode

String Literals คือ ค่าที่เป็นสตริง โดยใช้เครื่องหมายอัญประกาศคู่ (" ")

Null Literals คือ ใช้เพื่อกำหนดค่าที่ไม่มีข้อมูลในตัวแปรนั้นๆ

Boolean Literals คือ ค่าจริงหรือเท็จ โดยจะเก็บตัวแปรละ 1 สถานะ true หรือ false

โค้ดการใช้ Literals ผ่านตัวแปรชนิดต่างๆในภาษา Java, C, Python

ความแตกต่างระหว่าง C# Literals กับ Java Literals

Java Literals มีลักษณะคล้ายกับ C# Literals

  • รองรับฐาน 10, ฐาน 16, และฐาน 2 (0b) เหมือน C# Literals แต่ไม่มี unsigned (ค่าบวกหรือ0เท่านั้น)

ความแตกต่างระหว่าง C# Literals กับ C Literals

  • ไม่มี suffix แบบ U หรือ L สำหรับชนิดข้อมูล long หรือ unsigned ต้องกำหนดชนิดข้อมูลในตัวแปร

  • ไม่มีชนิดข้อมูล bool ใช้ 0 หรือ 1 แทนค่าจริงเท็จ

ความแตกต่างระหว่าง C# Literals กับ Python Literals

  • ไม่มีการใช้ suffix เนื่องจากตัวเลขสามารถเป็นได้ทั้ง int หรือ long โดยอัตโนมัติ

  • ตัวแปร char ไม่มีโดยเฉพาะใน Python โดยใช้ string ที่มีความยาว 1 ตัวอักษร

  • รองรับ string หลายบรรทัด """ """

Presentation

26MB
Open

Clip Presentation

Refference

GeeksforGeeks - Literals in Java: GeeksforGeeks. (n.d.). Literals in Java. GeeksforGeeks. www.geeksforgeeks.org

O'Reilly - C# in a Nutshell (Chapter 3): Albahari, J., & Albahari, B. (20037). C# in a nutshell (3rd ed.). O'Reilly Media. www.oreilly.com

HubSpot Blog - Python Literals: Tennyson, M. (2023, April 18). Python literals. HubSpot. blog.hubspot.com

GeeksforGeeks - Literals in Python: GeeksforGeeks. (n.d.). Literals in Python. GeeksforGeeks. www.geeksforgeeks.org

Last updated