Литералы

Литералы представляют неизменяемые значения (иногда их еще называют константами). Литералы можно передавать переменным в качестве значения. Литералы бывают логическими, целочисленными, вещественными, символьными и строчными. И отдельный литерал представляет ключевое слово null.

Логические литералы

Есть две логических константы - true (истина) и false (ложь):

Console.WriteLine(true);
Console.WriteLine(false);

Целочисленные литералы

Целочисленные литералы представляют положительные и отрицательные целые числа, например, 1, 2, 3, 4, -7, -109. Целочисленные литералы могут быть выражены в десятичной, шестнадцатеричной и двоичной форме.

С целыми числами в десятичной форме все должно быть понятно, так как они используются в повседневной жизни:

Console.WriteLine(-11);
Console.WriteLine(5);
Console.WriteLine(505);

Числа в двоичной форме предваряются символами 0b, после которых идет набор из нулей и единиц:

Console.WriteLine(0b11);        // 3
Console.WriteLine(0b1011);      // 11
Console.WriteLine(0b100001);    // 33

Для записи числа в шестнадцатеричной форме применяются символы 0x, после которых идет набор символов от 0 до 9 и от A до F, которые собственно представляют число:

Console.WriteLine(0x0A);    // 10
Console.WriteLine(0xFF);    // 255
Console.WriteLine(0xA1);    // 161

Вещественные литералы

Вещественные литералы представляют дробные числа. Этот тип литералов имеет две формы. Первая форма - вещественные числа с фиксированной запятой, при которой дробную часть отделяется от целой части точкой. Например:

3.14
100.001
-0.38

Также вещественные литералы могут определяться в экспоненциальной форме MEp, где M — мантисса, E - экспонента, которая фактически означает “*10^” (умножить на десять в степени), а p — порядок. Например:

Console.WriteLine(3.2e3);   // по сути равно 3.2 * 10<sup>3</sup> = 3200
Console.WriteLine(1.2E-1);  // равно 1.2 * 10<sup>-1</sup> = 0.12

Символьные литералы

Символьные литералы представляют одиночные символы. Символы заключаются в одинарные кавычки.

Символьные литералы бывают нескольких видов. Прежде всего это обычные символы:

'2'
'A'
'T'

Также мы можем передать их вывести на консоль с помощью Console.WriteLine:

Console.WriteLine('2');
Console.WriteLine('A');
Console.WriteLine('T');

Специальную группу представляют управляющие последовательности. Управляющая последовательность представляет символ, перед которым ставится слэш. И данная последовательность интерпретируется определенным образом. Наиболее часто используемые последовательности:

  • \n - перевод строки
  • \t - табуляция
  • \\ - слэш

И если компилятор встретит в тексте последовательность \t, то он будет воспринимать эту последовательность не как слэш и букву t, а как табуляцию - то есть длинный отступ.

Также символы могут определяться в виде шестнадцатеричных кодов, также заключенный в одинарные кавычки.

Еще один способ определения символов представляет использования шестнадцатеричных кодов ASCII. Для этого в одинарных кавычках указываются символы \x, после которых идет шестнадцатеричный код символа из таблицы ASCII.

Например, литерал \x78 представляет символ “x”:

Console.WriteLine('\x78');    // x
Console.WriteLine('\x5A');    // Z

И последний способ определения символьных литералов представляет применение кодов из таблицы символов Unicode. Для этого в одинарных кавычках указываются символы \u, после которых идет шестнадцатеричный код Unicode. Например, код \u0411 представляет кириллический символ ‘Б’:

Console.WriteLine('\u0420');    // Р
Console.WriteLine('\u0421');    // С

Строковые литералы

Строковые литералы представляют строки. Строки заключаются в двойные кавычки ":

Console.WriteLine("hello");
Console.WriteLine("привет");
Console.WriteLine("hello word");

Если внутри строки необходимо вывести двойную кавычку, то такая внутренняя кавычка предваряется обратным слэшем:

Console.WriteLine("Компания \"Рога и копыта\"");

Также в строках можно использовать управляющие последовательности. Например, последовательность \n осуществляет перевод на новую строку:

Console.WriteLine("Привет \nмир");

При выводе на консоль слово “мир” будет перенесено на новую строку:

Привет
мир

null

null представляет ссылку, которая не указывает ни на какой объект. То есть по сути отсутствие значения.