Литералы

Последнее обновление: 16.09.2025

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

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

Есть две логических константы - true (истина) и false (ложь). Например, напишем следующую программу на Java:

class Program{
    public static void main(String[] args) {  

        System.out.println(true);     // true
        System.out.println(false);    // false
    }
}

Здесь два метода System.out.println() последовательно выводят на консоль значения логических литералов true и false. В итоге мы получим следующий консольный вывод:

true
false

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

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

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

class Program{
    public static void main(String[] args) {  

        System.out.println(-11);
        System.out.println(5);
        System.out.println(505);
    }
}

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

System.out.println(0b11);        // 3
System.out.println(0b1011);      // 11
System.out.println(0b100001);    // 33

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

System.out.println(0x0A);    // 10
System.out.println(0xFF);    // 255
System.out.println(0xA1);    // 161

Причем символ "X" и шестнадцатиричные цифры могут быть как в нижнем, так и в верхнем регистре:

System.out.println(0XFF);    // 255
System.out.println(0Xff);    // 255
System.out.println(0xFF);    // 255
System.out.println(0xff);    // 255

Кроме целых чисел в десятичном, двоичном и шестнадцатеричном формате также можно использовать целые числа в восьмеричной системе - такие числа предваряются нулем 0

class Program{
    public static void main(String[] args) {  

        System.out.println(03);        // 3
        System.out.println(013);      // 11
        System.out.println(041);    // 33
    }
}

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

System.out.println(123_456); 	// 123456
System.out.println(234_567__789); 	// 234567789

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

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

3.14
100.001
-0.38

Пример использования:

class Program{
    public static void main(String[] args) {  

        System.out.println(3.14); 
        System.out.println(100.001); 
        System.out.println(-0.38); 
    }
}

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

System.out.println(3.2e3);	// по сути равно 3.2 * 103 = 3200
System.out.println(1.2E-1);	// равно 1.2 * 10-1 = 0.12

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

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

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

'2'
'A'
'T'

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

System.out.println('2');
System.out.println('A');
System.out.println('T');

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

  • '\n' - перевод строки

  • '\t' - табуляция

  • '\' - слеш

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

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

Еще одной формой определения символьных литералов представляет применение кодов из таблицы символов Unicode. Для этого в одинарных кавычках указываются символы '\u', после которых идет шестнадцатеричный код Unicode. Например, код '\u0411' представляет кириллический символ 'Б', а код '\u0066' будет хранить символ 'f'.

System.out.println('\u0420');    // Р
System.out.println('\u0421');    // С

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

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

class Program{
    public static void main(String[] args) {  

        System.out.println("hello METANIT.COM");
        System.out.println("hello word");
        System.out.println("test");
    }
}

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

System.out.println("Hello \"METANIT.COM\"");

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

System.out.println("Hello\nMETANIT.COM");

В данном случае последовательность \n будет сигналом, что необходимо сделать перевод на следующую строку. И при выводе на консоль часть строки "METANIT.COM" будет перенесена на новую строку:

Hello
METANIT.COM

Java также поддерживает тестовые блоки (text blocks) - многострочный текст, облеченный в тройные кавычки. Рассмотрим, в чем их практическая польза. Например, выведем большой многострочный текст:

class Program{
    public static void main(String[] args) {  

        System.out.println("Вот мысль, которой весь я предан,\n"+
                "Итог всего, что ум скопил.\n"+
                "Лишь тот, кем бой за жизнь изведан,\n"+
                "Жизнь и свободу заслужил.");
    }
}

С помощью операции + мы можем присоединить к одному тексту другой, причем продолжение текста может располагаться на следующей строке. Чтобы при выводе текста происходил перенос на следующую строку, применяется последовательность \n.

Результат выполнения данного кода:

Вот мысль, которой весь я предан,
Итог всего, что ум скопил.
Лишь тот, кем бой за жизнь изведан,
Жизнь и свободу заслужил.

Текстовые блоки позволяют упростить написание многострочного текста:

class Program{
    public static void main(String[] args) {  

        System.out.println("""
                Вот мысль, которой весь я предан,
                Итог всего, что ум скопил.
                Лишь тот, кем бой за жизнь изведан,
                Жизнь и свободу заслужил.""");
    }
}

Весь текстовый блок оборачивается в тройные кавычки, при этом не надо использовать соединение строк или последовательность \n для их переноса. Результат выполнения программы будет тем же, что и в примере выше.

null

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

Помощь сайту
Юмани:
410011174743222
Номер карты:
4048415020898850