В информатиката под литерал (на английски: literal) се разбира константна стойност на променлива, зададена в сорс кода на дадена компютърна програма.[1] За разлика от променливите, които при изпълнението на програмата могат да придобиват различни стойности, и константите, които имат постоянна стойност, литералът представлява самата стойност, поради което понякога ги наричат още и константи.[2]

В следващия пример, написан на Java, 1 и cat са литерали, а num и strпроменливи:

 int num=1;
 String str="cat";

Видове литерали

редактиране

Съществуват различни видове литерали: булеви, целочислени, реални, символни, низови и обектни.

Булевите литерали, наричани още логически литерали, могат да бъдат true („истина“) или false („лъжа“). При присвояване на стойност на една променлива от булев тип е възможно да се използва единствено една от тези две стойности или израз от булев тип, който се изчислява впоследствие до една от тези две стойности.

Пример на C#:

 bool t = true; //ако t е „истина“
 bool f = false; //ако f е „лъжа“

Целочислени

редактиране

Целочислените литерали са съставени от поредица от цифри, евентуално предшествани от унарния знак + или -, представки и окончания. Благодарение на представките целите числа могат да бъдат представени в десетичен или шестнадесетичен формат. Този вид литерали се използва за дефиниране на променливи от тип int, uint, long, и ulong.

  • Представка: 0x (0X) – използва се за представяне на едно число в шестнадесетичен формат.
  • Окончания:
    • l (L) – за данни от тип long
    • u (U) – за данни от тип uint, ulong

Когато не е използвано никакво окончание целочислените литерали са по подразбиране от тип int.

Пример на C#:

 int num1 = 59; //представяне на числото 59 в десетичен формат
 int num2 = 0x3B; //представяне на числото 59 в шестнадесетичен формат
 long num3 = 120L; //дефиниране на променлива от тип long
 ulong num4 = 30u; //дефиниране на променлива от тип ulong

Пример на PHP:

$x = 5;

Реалните литерали се използват за дефиниране на променливи от тип float, double и decimal, и представляват комбинация от цифри, евентуално предшествани от унарния знак + или -, символа за десетична запетая и окончания. Последните могат да бъдат:

  • f (F) – за данни от тип float
  • d (D) – за данни от тип double
  • m (M) – за данни от тип decimal
  • e (E) – за представяне на трите типа данни в експоненциален формат

Когато не е използвано никакво окончание реалните литерали са по подразбиране от тип double.

Пример на C#:

 float num1 = 347.5f; //задаване на числото 347,5
 float num2 = 0.3475e+3f; //задаване на числото 347,5 в експоненциален формат
 decimal num3 = -74.9m; //дефиниране на променлива от тип decimal

Символни

редактиране

Символният литерал е единичен символ ограден в единични кавички. Стойностите, които се задават чрез този вид литерали са от тип char, и могат да бъдат:

  • единичен символ: 'J', '@', '☯', и пр.
  • екранираща последователност (escape sequence) от символи, чрез която се задава друг специален символ. Последната започва винаги с т. нар. „екраниращ символ“ – \.

Пример на C#:

 char sym1 = 'm'; //задаване на единичен символен литерал
 char sym2 = '\u00A9' //символът ©, зададен чрез неговия уникод
 char sym3 = '\n'; //задаване на символ за нов ред
 char sym4 = '\"'; //задаване на символ за двойни кавички

Низовият литерал представлява последователност от символи оградени в кавички. В езика C, стойностите, които се задават чрез този вид литерали са от тип string, и могат да бъдат:

  • единичен или няколко символа
  • екранираща последователност от символи, при която се прилагат същите правила, каквито са и при символните литералите.
  • цитиран низ, предхождан от символа @, при който правилата за екраниране при символните литералите не важат. Единствено двойната кавичка " може да се екранира с две двойни кавички "", а всички останали символи, включително и новият ред, се възприемат буквално.

В други езици за програмиране, като например JavaScript, е допустимо използването на различни видове кавички.

Пример на C#:

 //Задаване на низов литерал с резултат: "Hello, World!"
 string quote1 = "\"Hello, World!\"";
 Console.WriteLine(quote1);

 //Задаване на цитиран низ с резултат: Hello!
 //This is a new line.
 string quote2 = @"Hello!
 This is a new line.";
 Console.WriteLine(quote2);

Пример на JavaScript:

 var one="едно";
 var two='две';

Пример на PHP:

 $x = "tekst";

Пример на Pascal:[3][4]

 const text = 'Hello, World!';

Вижте също

редактиране

Външни препратки

редактиране

Източници

редактиране
  1. Статья в Энциклопедии PC Magazine // www.pcmag.ru. Посетен на 3.9.2013. (на руски)
  2. Van Tassel, Dennie. Literals // Gavilan College, 2004. Посетен на 18 юли 2013. (на английски)
  3. Iglewski, Michał. Pascal. Język wzorcowy – Pascal 360. Warszawa, Wydawnictwa Naukowo-Techniczne, 1984. ISBN 83-85060-53-7. (на полски)
  4. Marciniak, Andrzej. Borland Pascal 7.0. Poznań, Nakom, 1994. ISBN 83-85060-53-7. (на полски)

Литература

редактиране