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

Escape Sequence
ความหมาย

\\

\ อักขระ

\'

‘ อักขระ

\?

?อักขระ

\"

"อักขระ

\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