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

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

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

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

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

Пример на 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: const text = 'Hello, World!';

Вижте също Функционален литерал Променлива Обект

Външни препратки History and use of literals in programming languages

Източници

Литература

Категория:Програмни конструкции