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 โดยใช้อักขระเพียงตัวเดียวภายในเครื่องหมายอัญประกาศเดี่ยว
char ch = 'a';
Unicode Representation กำหนดลิตเตอรัลของ char ในรูปแบบ Unicode โดยใช้ ‘\uxxxx’ ซึ่ง xxxx แทนตัวเลขฐานสิบหก 4 หลัก
char chUnicode = '\u0061'; // Unicode = 'a'
Escape Sequence ตัวอักษรพิเศษที่จะแสดงใน character
\\
\ อักขระ
\'
‘ อักขระ
\?
?อักขระ
\"
"อักขระ
\b
ช่องว่าง
\a
จะแสดงเป็นเสียงแจ้งเตือนเมื่อมีการเรียกใช้ (ถ้าระบบรับรอง)
\f
ให้เนื้อหาถูกแบ่งไปยังหน้าต่อไป โดยการพิมพ์เอกสารหรือแสดงผล
\v
เลื่อนตำแหน่งการแสดงผลในแนวตั้ง คล้ายปุ่ม Tab แต่แสดงผลในแนวตั้ง
\xhh...
ใช้แทนค่าตัวเลขฐานสิบหกหนึ่งหรือมากกว่าหนึ่งหลัก
แทนอักขระ ASCII หรือ Unicode
char ch = '\n';
String Literals คือ ค่าที่เป็นสตริง โดยใช้เครื่องหมายอัญประกาศคู่ (" "
)
string s = "Hello !";
Null Literals คือ ใช้เพื่อกำหนดค่าที่ไม่มีข้อมูลในตัวแปรนั้นๆ
string s = null;
Boolean Literals คือ ค่าจริงหรือเท็จ โดยจะเก็บตัวแปรละ 1 สถานะ true หรือ false
bool isTrue = true;
โค้ดการใช้ Literals ผ่านตัวแปรชนิดต่างๆในภาษา Java, C, Python
ตัวอย่าง การใช้ Literals ในภาษา C#
using System;
class Program {
public static void Main() {
int a = 101;
double d = 3.14;
char ch = 'a';
string s = "Hello";
bool isTrue = true;
Console.WriteLine(a);
Console.WriteLine(d);
Console.WriteLine(ch);
Console.WriteLine(s);
Console.WriteLine(isTrue);
}
}
101
3.14
a
Hello
True
ความแตกต่างระหว่าง 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 หลายบรรทัด
""" """
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