Литерал

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене

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

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

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

Видове литерали[редактиране | edit source]

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

Булеви[редактиране | edit source]

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

Пример на C#:

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

Целочислени[редактиране | edit source]

Целочислените литерали са съставени от поредица от цифри, евентуално предшествани от унарния знак + или -, представки и окончания. Благодарение на представките целите числа могат да бъдат представени в десетичен или шестнадесетичен формат. Този вид литерали се използва за дефиниране на променливи от тип 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;

Реални[редактиране | edit source]

Реалните литерали се използват за дефиниране на променливи от тип 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

Символни[редактиране | edit source]

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

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

Пример на C#:

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

Низови[редактиране | edit source]

Низовият литерал представлява последователност от символи оградени в кавички. В езика 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!';

Вижте също[редактиране | edit source]

Външни препратки[редактиране | edit source]

Източници[редактиране | edit source]

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

Литература[редактиране | edit source]