#статьи
Знакомимся с основными инструментами языка и учимся работать с ними на практике.
Иллюстрация: Оля Ежак для Skillbox Media
Программист, музыкант. Знает Java, C# и Unity3D, но не собирается останавливаться на достигнутом.
Все мы со школы знакомы с математическими знаками + (плюс), – (минус), = (равно) и так далее. В Java и других языках программирования эти символы называются операторами. Они нужны для того, чтобы сообщить компилятору, какое действие совершать с операндами — числами, строками, объектами и другими значениями по обе стороны оператора.
Скриншот: Лев Сергеев для Skillbox MediaНапример, на картинке выше оператор + говорит компилятору: «Сложи два числа». Но на практике чисел в выражении может быть разное количество — и одно, и два, и три. В этих случаях и операторы будут называться по-разному: унарные — что-то делают с одним операндом, бинарные — с двумя, и тернарные — с тремя.
В этой статье рассмотрим не только эти, но все основные виды операторов в Java:
Ещё поговорим о приоритетах операторов — разберёмся, в каком порядке они выполняются. Если вы хотите просто освежить в памяти суть работы разных операторов, можете сразу перейти к шпаргалке в конце статьи.
Оператор присваивания в Java — это знак = (равно). Его задача — переложить значение переменной справа в переменную слева:
Скриншот: Лев Сергеев для Skillbox MediaВот как это выглядит в коде (в комментариях — разбор синтаксиса):
int x = 1; // Объявляем числовую переменную 'x' со значением 1
boolean a, b; // Объявляем логические переменные 'a' и 'b'
a = b = true;
Что происходит: значение true присваивается переменной b. В свою очередь, значение переменной b присваивается переменной a.
Эти операторы выполняют простые арифметические действия: сложение, вычитание, умножение, деление и деление с остатком. Все арифметические операторы являются бинарными — то есть работают только с двумя значениями.
Что делает: складывает два операнда.
Ещё этот оператор применяется при соединении двух строк в одну. Например, в Java можно выполнить выражение «Я люблю» + «Москву» и получить «Я люблю Москву». Такая операция в программировании называется конкатенацией.
// Сложение чисел
System.out.println(10 + 2); // Вывод: 12
// Конкатенация строк
System.out.println("A" + "B"); // Вывод: AB
// Сложение двух переменных типа 'char'
System.out.println('a' + 'b'); // Вывод: 195
В Java типы данных char, byte и short при вычислениях неявно приводятся к типу int (целое число), поэтому с ними можно работать как с обычными числами. При этом тип данных char в Java отвечает за символы Unicode — каждый символ обозначает какое-то число. Например, символ a равен числу 97, а b — 98, поэтому в нашем примере и получилось значение 195.
Что делает: вычитает из левого операнда правый.
// Вычитание чисел
System.out.println(10 - 2); // Вывод: 8
Что делает: возвращает произведение операндов.
// Умножение чисел
System.out.println(10 * 2); // Вывод: 20
Что делает: делит левый операнд на правый.
// Деление без остатка
System.out.println(10 / 2); // Вывод: 5
System.out.println(11 / 2); // Вывод: 5
// Деление на 'double'
System.out.println(11 / 2d); // Вывод: 5.5
А вот что будет, если попробовать поделить на ноль в Java:
System.out.println(10 / 0); // Ошибка
Вывод: Exception in thread "main" java.lang.ArithmeticException: / by zero
Делить число на ноль нельзя! Программа завершится, выбросив исключение. Но если привести выражение к типу 'double' (число с плавающей запятой), то вы получите «бесконечность»:
System.out.println(10 / 0d); // Вывод: Infinity
Что делает: возвращает остаток от деления.
// Деление чисел по модулю (получение остатка от деления)
System.out.println(10 % 2); // Вывод: 0
System.out.println(11 % 2); // Вывод: 1
Эти операторы в Java тоже можно отнести к арифметическим, но есть нюанс — они работают только с одним операндом. Поэтому их и называют унарными.
Что делают: меняют значение числа на положительное или отрицательное.
int positive = 1;
int negative = -2;
// Унарный минус
System.out.println(-positive); // Вывод: -1
// Унарный плюс
System.out.println(+negative); // Вывод: 2
Что делают: инкремент — увеличивает значение переменной на единицу, а декремент — уменьшает.
В свою очередь, у декремента и инкремента есть две формы: префиксная и постфиксная. Звучит сложно, но на деле всё просто:
-
Префиксные операторы (++x) сразу меняют значение переменной и подставляют его в выражение.
-
Постфиксные операторы (x++) делают наоборот — сначала используют старое значение переменной и только потом подставляют новое.
int a = 0, b = 0, c = 0, d = 0;
// Префиксный инкремент/декремент
System.out.println(++a); // Вывод: 1
System.out.println(--b); // Вывод: -1
// Постфиксный (значение переменных изменится после вывода в консоль)
System.out.println(c++); // Вывод: 0
System.out.println(d--); // Вывод: 0
Инкременты и декременты часто используют в циклах в качестве счётчика, когда нужно по очереди вывести все числа в каком-то диапазоне:
/* Префиксный инкремент в цикле.
Сначала переменная i увеличивается на 1, а потом подставляется в цикл
*/
int i = 0;
while (++i < 3){
System.out.print(i);
}
Вывод: 12/* Постфиксный инкремент в цикле.
Сперва выполняется цикл c начальным значением i, и только потом i увеличивается на 1:*/
int i = 0;
while (i++ < 3){
System.out.print(i);
}
Вывод: 123
Подробнее о декрементах и инкрементах можно почитать в нашей статье — рассказываем, как решать сложные выражения с этими операторами.
В Java есть ещё два унарных оператора: ! — логическое отрицание, и ~ — побитовое отрицание, но их мы рассмотрим чуть позже, когда будем разбираться с логическими и побитовыми операторами.
Что делают: сравнивают два операнда и выясняют отношения между ними — что больше, что меньше, что чему равняется. При вычислении такие операторы возвращают значение типа boolean:
-
true (правда);
-
false (ложь).
Всего в Java шесть операторов сравнения:
ОператорЧто означает
==Равно
>Больше, чем
<Меньше, чем
>=Больше или равно
<=Меньше или равно
!=Не равно
Давайте посмотрим, как выглядят операторы сравнения в коде — попробуем сравнить два целых числа и вывести результаты на экран:
// В этом примере мы спрашиваем, равен ли ноль единице:
System.out.println(1 == 0); // Вывод: false (ложь)
// А здесь — больше ли единица, чем ноль:
System.out.println(1 > 0); // Вывод: true (правда)
// Единица меньше или равна нулю?
System.out.println(1 <= 0); // Вывод: false (ложь)
Ещё операторы сравнения часто используют в условных конструкциях. Это когда, в зависимости от условий, выполняется какой-то один блок кода. В этом случае, помимо операторов сравнения, нам понадобятся операторы ветвления: if-else, switch и так далее. Например, здесь мы просим Java напечатать слово true, если 1 не равно 0:
// Если '1' не равно '0', то напечатать "true"
if(1 != 0) System.out.println("true"); // Вывод: true
Подробнее об операторах сравнения и условных конструкциях можно почитать в этой статье.
Что делают: комбинируют логические значения типа true и false.
В отличие от операторов сравнения, логические операторы работают не с отдельными числами, а с результатами выражений. Их часто используют в условных конструкциях — например, можно поставить рядом два выражения и выполнить какой-то блок кода, если одно из них возвращает true.
Всего в Java шесть логических операторов, но чаще всего используют эти четыре:
СимволЛогический операторЧто означает
&&И (AND)Возвращает
true, когда оба операнда
true.
||ИЛИ (OR)Возвращает
true, когда хотя бы один операнд —
true.
^ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR)Возвращает
true, когда один операнд
true, а второй —
false.
!НЕ (NOT)Инвертирует
true в
false и наоборот. Это унарный оператор — он работает только с каким-то одним выражением.
В качестве примера сравним несколько выражений:
// AND — логическое умножение
boolean a = (6 > 5) && (7 > 4);
System.out.println(a);
// Результат: true, так как оба выражения true
// OR — логическое сложение
boolean b = (6 > 5) || (7 > 4);
System.out.println(b);
// Результат: true, так как одно из выражений true
// XOR — логическое вычитание
boolean c = (6 > 8) ^ (6 > 7);
System.out.println(c);
// Результат: false, так как оба выражения — false
// NOT — логическое отрицание
boolean d = (6 > 5);
System.out.println(!d);
// Результат: false, так как изначальное выражение — true
Как это работает. Допустим, у нас есть конструкция (6 > 5) && (7 > 4). Когда мы начнём её выполнять, компилятор сначала проверит условия первого выражения, затем — второго. При этом оператор && устроен так, что если оба выражения истинны, то он и сам вернёт true. А это как раз наш случай, потому что и 6 больше 5, и 7 больше 4.
Что делает: сокращает условную конструкцию if-else до одной строчки.
Тернарный оператор (от латинского слова ternarius — «тройной») — это языковая конструкция, которая состоит из трёх операндов: логического условия и двух выражений. Если результат логического условия будет true, выполнится первое выражение, если false — второе. Записываются тернарные операторы так:
Скриншот: Лев Сергеев для Skillbox MediaФишка в том, что таким образом мы можем записать конструкцию if-else всего одной строчкой. Допустим, нам нужно проверить булеву переменную condition — если она возвращает true, то переменная a = 100, а если false, то a = 200. Посмотрите, как легко это можно сделать с помощью тернарного оператора:
Слева — классическая конструкция if-else, справа — запись с помощью тернарного оператора
Скриншот: Лев Сергеев для Skillbox MediaКажется, что эти if-else теперь вообще больше не нужны. Мол, ставь везде тернарные операторы, и дело с концом. Однако в больших программах со сложной логикой это может повредить читаемости кода. Это в нашем примере выражение простое — а представьте, если в каждое выражение положить ещё по одному оператору. Получится неопрятно. Другому разработчику, который будет читать наш код, разобраться будет сложно.
Поэтому тернарные операторы рекомендуют использовать в тех случаях, когда условие простое и легко проверяется. А во всех остальных случаях прибегать к привычным «ифам» и «элсам».
Что делает: проверяет, принадлежит ли объект к какому-то классу или интерфейсу, и возвращает булево значение — то есть true или false.
Использование instanceof актуально, когда нужно проверить родителя объекта прямо во время выполнения программы. Например, если объекты приходят в ваш код из базы данных или другого потока выполнения и вам нужно убедиться, что к ним можно применять методы какого-то класса. Записывается instanceof так:
Скриншот: Лев Сергеев для Skillbox Mediaimport java.io.Serializable;
public class Main {
public static void main(String[] args) {
// Объявляем ссылку типа 'Object' и кладём объект типа 'String'
Object object = new String();
// 'true', так как в 'object' лежит объект 'String'
System.out.println(object instanceof String);
// 'true', так как 'object' наследник 'Object'
System.out.println(object instanceof Object);
// 'false', так как 'object' не принадлежит классу 'Math'
System.out.println(object instanceof Math);
// 'true', так как в 'object' лежит объект 'String',
// а 'String' реализует интерфейс 'Serializable'
System.out.println(object instanceof Serializable);
}
}
Зачем нужны: чтобы писать алгоритмы, работающие с битами, — например, это полезно в криптографии и шифровании данных.
В Java существует семь побитовых операторов. Четыре из них отвечают за побитовые вычисления. Они похожи на логические операции, только вместо true и false вы имеете дело с нулями и единицами в двоичной системе счисления. Каждый разряд вычисляется поочерёдно — но в отличие от математики, когда складываются две единицы, результат не переносится на старший разряд и ответом будет 1. Это как если бы мы считали столбиком, а всё, что «в уме», — выкидывали.
Выглядит так:
Скриншот: Лев Сергеев для Skillbox MediaПобитовые операторы вычисления бывают следующими:
СимволЧто означает
&Побитовое И (AND) — умножение
|Побитовое ИЛИ (OR) — сложение
^Побитовое ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR) — вычитание
~Побитовое НЕ (NOT) — отрицание
Чтобы посмотреть, как работают побитовые вычисления в Java, переведём несколько десятичных чисел в двоичную систему счисления:
// Переводим числа от 1 до 8 в двоичную систему
// 1 = 001 5 = 101
// 2 = 010 6 = 110
// 3 = 011 7 = 111
// 4 = 100 8 = 1000
Теперь попробуем выполнить с ними логические операции:
// 100 побитово умножить на 011 = 000
System.out.println(4 & 3); // Вывод: 0
// 010 побитово сложить с 011 = 011
System.out.println(2 | 3); // Вывод: 3
// из 010 побитово вычесть 001 = 011
System.out.println(2 ^ 1); // Вывод: 3
// 000 инвертировать в ... 111 ?
System.out.println(~0); // Вывод: -1
В последнем примере мы видим, что при побитовом отрицании числа 0, почему-то получается -1. Тут есть два нюанса:
- 0 в нашем примере имеет тип int и занимает в памяти 4 байта — то есть 32 бита.
- Самый старший бит переменной (первый слева) является знаковым. Если он равен 0, то число будет положительным, а если 1 — отрицательным.
Скриншот: Лев Сергеев для Skillbox MediaЕсли разобраться в концепции старшего бита, можно без труда освоить три оставшихся побитовых оператора, которые называются операторами смещения битов:
СимволЧто означает
<<Сдвиг битов влево
>>Сдвиг битов вправо
>>>Беззнаковый сдвиг битов вправо
Операторы сдвига смещают все биты в левую или правую сторону, но делают это по-разному:
- >> не трогает старший бит, оставляя число с тем же знаком (отрицательным или положительным). Ячейки отрицательных чисел при >> заполняются единицами.
- >>> и << — затрагивают все биты. Освободившиеся ячейки справа заполняются нулями. Наполнение ячеек слева зависит от знака и оператора.
Звучит сложно, на деле — тоже сложно. Но попробуем разобраться на примере — разложим какое-то десятичное число на биты и посмотрим, как работает смещение битов.
В Java есть метод toBinaryString(), который показывает, как выглядят десятичные числа в двоичной системе. Но двоичные числа — это ещё не биты. Например, число 2 занимает 32 бита, но если обработать его методом toBinaryString(), на экране появятся только два из них: 1 и 0. Оставшиеся 30 нулей просто «обрезаются». Это происходит по той же причине, по которой мы, например, не пишем десятичное число 9 как 009.
System.out.print(Integer.toBinaryString(2));
Вывод: 10
Поэтому, чтобы лучше разобраться в работе побитовых операторов, лучше использовать модифицированный метод BinaryString, который раскладывает на биты уже так, как надо:
// Метод добавляет к бинарному значению все недостающие биты и выводит их на экран
public static void printBinaryString(int hexNumber){
String bits = Integer.toBinaryString(hexNumber);
String allBits = "00000000000000000000000000000000"
.substring(0, 32 - bits.length()) + bits;
System.out.printf("%11d : %s\n", hexNumber, allBits);
}
Сдвинув биты числа 1 два раза влево, мы получаем 4. А если потом сдвинуть их ещё 29 раз, получится минимальное значение типа int: –2 147 483 648.
printBinaryString(1);
printBinaryString(1 << 2); // Смещаем биты числа '1' влево на 2 позиции
printBinaryString(4 << 29); // Смещаем биты числа '4' влево на 29 позиций
Вывод: 1 : 00000000000000000000000000000001
4 : 00000000000000000000000000000100
-2147483648 : 10000000000000000000000000000000
Теперь попробуем сдвинуть наши биты уже в обратную сторону. Обратите внимание, как различается работа >> и >>>. В первом случае всё заполнится единицами и вы получите минусовое значение, а во втором на выходе будут просто нули.
printBinaryString(Integer.MIN_VALUE);
// Смещаем биты числа '-2147483648' вправо на 16
printBinaryString(Integer.MIN_VALUE >> 16);
// Беззнаковое смещение битов числа '-2147483648' вправо на 16
printBinaryString(Integer.MIN_VALUE >>> 16);
Вывод: -2147483648 : 10000000000000000000000000000000
-32768 : 11111111111111111000000000000000
32768 : 00000000000000001000000000000000
Как это работает. С помощью операторов >> и >>> мы сдвигаем все биты числа вправо. Но при обычном сдвиге (>>) отрицательное число остаётся отрицательным, потому что мы не трогаем старший бит. При беззнаковом сдвиге (>>>) наоборот — отрицательное станет положительным, потому что мы затронем эту значимую единицу.
Зачем нужны: чтобы записывать выражения короче и автоматически приводить операнды к единому типу.
В Java есть сокращённые формы операторов присваивания — составные. Такие операторы выполняют действие между x и y, а получившееся значение помещают в x. Выглядят составные операторы так:
Скриншот: Лев Сергеев для Skillbox MediaПлюс составных операторов в том, что они записываются короче и неявно приводят переменные к одному типу, если эти типы различаются. Например, в сокращённом варианте можно сложить дроби и числа без приведения, и нам за это ничего не будет. А в полной записи будет ошибка:
int x = 1;
double y = 3.1415d;
x = x + y; // Эта строка не скомпилируется
x += y; // А здесь всё хорошо
// Оператор += в развёрнутом виде
x = (int)(x + y);
У каждого оператора Java есть свой приоритет. Чем он выше, тем раньше оператор выполнится в выражении. Бинарные и тернарный операторы (кроме присваивания) выполняются слева направо, а остальные (унарные и присваивания) — справа налево.
Приоритет(снизу вверх)ГруппаОператоры13Постфиксныеx++ x––12Унарные++x ––x +x –x ~x !x11Мультипликативные* / %10Аддитивные+ -9Сдвига битов<< >> >>>8Сравнения< > <= >= instanceof7Равенства== !=6Побитовое И&5Побитовое исключающее ИЛИ^4Побитовое ИЛИ|3Логическое И&&2Логическое ИЛИ||1Тернарный? :0Присваивания= += -= *= /= %=
&= ^= |=
<<= >>= >>>=
Мы рассмотрели все основные операторы в Java и их работу на примерах. Попробуем кратко резюмировать, что нужно вынести из этой статьи:
-
Оператор — это языковая конструкция, которая выполняет действие над операндом.
-
Операнд — это число, переменная, объект и так далее, с которыми оператор совершает какие-то действия (например, арифметическое и логическое).
-
Операторы бывают унарные, бинарные и тернарные — это зависит от того, сколько операндов они обрабатывают.
-
Арифметические операторы нужны для простых математических действий: сложения, вычитания, умножения, деления и деления с остатком.
-
Унарные операторы работают только с одним операндом. Это унарные минус и плюс, инкремент, декремент, логическое и побитовое отрицание.
-
Операторы сравнения сопоставляют значения двух операторов и возвращают ответ — true или false.
-
Логические операторы заточены уже не на числа, а на целые выражения — и на их основе создают сложные условия, например, для работы в циклах.
-
Тернарный оператор умеет работать сразу с тремя операндами: условием и двумя выражениями. То есть им вполне можно заменить ветвления типа if-else.
-
Оператор instanceof определяет принадлежность объекта к классу.
-
Побитовые операторы нужны для проведения операций с битами — если упростить, то с нулями и единицами в двоичной системе счисления.
-
Составные операторы неявно приводят типы данных, если они разные.
- У каждого оператора есть свой приоритет.
Для более глубокого понимания темы можно почитать другие наши статьи: «Тип Boolean и операторы сравнения в Java» и «Логические операторы в Java». А если хотите совсем хорошо разобраться, почитайте официальную документацию Java — это вообще лучший способ освоить язык со всеми его тонкостями.
Научитесь: Профессия Java-разработчик + ИИ
Узнать больше
<!DOCTYPE html>
<html class="l-html" lang="ru">
<head>
<script>
mindbox = window.mindbox || function() { mindbox.queue.push(arguments); };
mindbox.queue = mindbox.queue || [];
mindbox('create', {
endpointId: 'skillbox.skillboxMediaWebsite'
});
</script>
<script src="https://api.s.mindbox.ru/scripts/v1/tracker.js" async></script>
<script>window.yaContextCb = window.yaContextCb || []</script>
<script src="https://yandex.ru/ads/system/context.js" async></script>
<!-- Google Tag Manager -->
<script async data-skip-moving="true" type="text/javascript">
/** Google Tagmanager */
;(function (w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({
'gtm.start':
new Date().getTime(), event: 'gtm.js'
});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'GTM-NLCGQ25');
window.dataLayer = window.dataLayer || [];
function gtag() {
window.dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'GTM-NLCGQ25');
</script>
<!-- End Google Tag Manager -->
<!-- Retail Rocket -->
<script type="text/javascript">
var rrPartnerId = "6048a0d097a52514f050731f";
var rrApi = {};
var rrApiOnReady = rrApiOnReady || [];
rrApi.addToBasket = rrApi.order = rrApi.categoryView = rrApi.view =
rrApi.recomMouseDown = rrApi.recomAddToCart = function() {};
(function(d) {
var ref = d.getElementsByTagName('script')[0];
var apiJs, apiJsId = 'rrApi-jssdk';
if (d.getElementById(apiJsId)) return;
apiJs = d.createElement('script');
apiJs.id = apiJsId;
apiJs.async = true;
apiJs.src = "//cdn.retailrocket.ru/content/javascript/tracking.js";
ref.parentNode.insertBefore(apiJs, ref);
}(document));
</script>
<!-- End Retail Rocket -->
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta http-equiv="X-UA-Compatible" content="ie=edge"/>
<meta name="google-site-verification" content="UA-kf725UpqwkHenFmDQ05SW115fL9UdD9uXiFy-ibQ"/>
<meta name="robots" content="index, follow"/>
<link rel="dns-prefetch" href="//fonts.googleapis.com">
<link rel="shortcut icon" href="/favicon.ico">
<link rel="canonical" href="https://skillbox.ru/media/code/operatory-v-java-dlya-chego-nuzhny-i-kakie-byvayut/">
<link rel="preload" href="https://marketplace.canva.com/EAD2962NKnQ/2/0/1600w/canva-rainbow-gradient-pink-and-purple-zoom-virtual-background-_Tcjok-d9b4.jpg" as="image" />
<link rel="preload" href="https://via.placeholder.com/1170x250/92c952" as="image" />
<link rel="preload" href="https://via.placeholder.com/768x250/40E0D0" as="image" />
<link rel="preload" href="https://via.placeholder.com/375x250/ffbcee" as="image" />
<title>Операторы в Java: большой гайд с примерами / Skillbox Media</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="keywords" content="операторы, операторы java, java, что такое операторы, операнды" />
<meta name="description" content="Большой гайд по основным операторам Java: на примерах показываем, зачем нужен каждый из них и как применять их на практике." />
<link href="/bitrix/cache/css/s1/media/kernel_main/kernel_main_v1.css?177096852510536" type="text/css" rel="stylesheet" />
<link href="/bitrix/js/ui/fonts/opensans/ui.font.opensans.css?16341171742599" type="text/css" rel="stylesheet" />
<link href="/bitrix/js/main/popup/dist/main.popup.bundle.css?163411696226345" type="text/css" rel="stylesheet" />
<link href="//cdnjs.cloudflare.com/ajax/libs/Swiper/4.5.1/css/swiper.min.css" type="text/css" rel="stylesheet" />
<link href="/bitrix/cache/css/s1/media/page_a1ad23d5ae1fea4c6ac7c690c80a4763/page_a1ad23d5ae1fea4c6ac7c690c80a4763_v1.css?1771490810746236" type="text/css" rel="stylesheet" />
<link href="/bitrix/cache/css/s1/media/template_176a7c2453ad8025fa7d27f65ba6a4b1/template_176a7c2453ad8025fa7d27f65ba6a4b1_v1.css?1771490810442835" type="text/css" data-template-style="true" rel="stylesheet" />
<script type="text/javascript">if(!window.BX)window.BX={};if(!window.BX.message)window.BX.message=function(mess){if(typeof mess==='object'){for(let i in mess) {BX.message[i]=mess[i];} return true;}};</script>
<script type="text/javascript">(window.BX||top.BX).message({'JS_CORE_LOADING':'Загрузка...','JS_CORE_NO_DATA':'- Нет данных -','JS_CORE_WINDOW_CLOSE':'Закрыть','JS_CORE_WINDOW_EXPAND':'Развернуть','JS_CORE_WINDOW_NARROW':'Свернуть в окно','JS_CORE_WINDOW_SAVE':'Сохранить','JS_CORE_WINDOW_CANCEL':'Отменить','JS_CORE_WINDOW_CONTINUE':'Продолжить','JS_CORE_H':'ч','JS_CORE_M':'м','JS_CORE_S':'с','JSADM_AI_HIDE_EXTRA':'Скрыть лишние','JSADM_AI_ALL_NOTIF':'Показать все','JSADM_AUTH_REQ':'Требуется авторизация!','JS_CORE_WINDOW_AUTH':'Войти','JS_CORE_IMAGE_FULL':'Полный размер'});</script>
<script type="text/javascript" src="/bitrix/js/main/core/core.js?1634117028565340"></script>
<script>BX.setJSList(['/bitrix/js/main/core/core_ajax.js','/bitrix/js/main/core/core_promise.js','/bitrix/js/main/polyfill/promise/js/promise.js','/bitrix/js/main/loadext/loadext.js','/bitrix/js/main/loadext/extension.js','/bitrix/js/main/polyfill/promise/js/promise.js','/bitrix/js/main/polyfill/find/js/find.js','/bitrix/js/main/polyfill/includes/js/includes.js','/bitrix/js/main/polyfill/matches/js/matches.js','/bitrix/js/ui/polyfill/closest/js/closest.js','/bitrix/js/main/polyfill/fill/main.polyfill.fill.js','/bitrix/js/main/polyfill/find/js/find.js','/bitrix/js/main/polyfill/matches/js/matches.js','/bitrix/js/main/polyfill/core/dist/polyfill.bundle.js','/bitrix/js/main/core/core.js','/bitrix/js/main/polyfill/intersectionobserver/js/intersectionobserver.js','/bitrix/js/main/lazyload/dist/lazyload.bundle.js','/bitrix/js/main/polyfill/core/dist/polyfill.bundle.js','/bitrix/js/main/parambag/dist/parambag.bundle.js']);
BX.setCSSList(['/bitrix/js/main/lazyload/dist/lazyload.bundle.css','/bitrix/js/main/parambag/dist/parambag.bundle.css']);</script>
<script type="text/javascript">(window.BX||top.BX).message({'AMPM_MODE':false});(window.BX||top.BX).message({'MONTH_1':'Январь','MONTH_2':'Февраль','MONTH_3':'Март','MONTH_4':'Апрель','MONTH_5':'Май','MONTH_6':'Июнь','MONTH_7':'Июль','MONTH_8':'Август','MONTH_9':'Сентябрь','MONTH_10':'Октябрь','MONTH_11':'Ноябрь','MONTH_12':'Декабрь','MONTH_1_S':'января','MONTH_2_S':'февраля','MONTH_3_S':'марта','MONTH_4_S':'апреля','MONTH_5_S':'мая','MONTH_6_S':'июня','MONTH_7_S':'июля','MONTH_8_S':'августа','MONTH_9_S':'сентября','MONTH_10_S':'октября','MONTH_11_S':'ноября','MONTH_12_S':'декабря','MON_1':'янв','MON_2':'фев','MON_3':'мар','MON_4':'апр','MON_5':'май','MON_6':'июн','MON_7':'июл','MON_8':'авг','MON_9':'сен','MON_10':'окт','MON_11':'ноя','MON_12':'дек','DAY_OF_WEEK_0':'Воскресенье','DAY_OF_WEEK_1':'Понедельник','DAY_OF_WEEK_2':'Вторник','DAY_OF_WEEK_3':'Среда','DAY_OF_WEEK_4':'Четверг','DAY_OF_WEEK_5':'Пятница','DAY_OF_WEEK_6':'Суббота','DOW_0':'Вс','DOW_1':'Пн','DOW_2':'Вт','DOW_3':'Ср','DOW_4':'Чт','DOW_5':'Пт','DOW_6':'Сб','FD_SECOND_AGO_0':'#VALUE# секунд назад','FD_SECOND_AGO_1':'#VALUE# секунду назад','FD_SECOND_AGO_10_20':'#VALUE# секунд назад','FD_SECOND_AGO_MOD_1':'#VALUE# секунду назад','FD_SECOND_AGO_MOD_2_4':'#VALUE# секунды назад','FD_SECOND_AGO_MOD_OTHER':'#VALUE# секунд назад','FD_SECOND_DIFF_0':'#VALUE# секунд','FD_SECOND_DIFF_1':'#VALUE# секунда','FD_SECOND_DIFF_10_20':'#VALUE# секунд','FD_SECOND_DIFF_MOD_1':'#VALUE# секунда','FD_SECOND_DIFF_MOD_2_4':'#VALUE# секунды','FD_SECOND_DIFF_MOD_OTHER':'#VALUE# секунд','FD_SECOND_SHORT':'#VALUE#с','FD_MINUTE_AGO_0':'#VALUE# минут назад','FD_MINUTE_AGO_1':'#VALUE# минуту назад','FD_MINUTE_AGO_10_20':'#VALUE# минут назад','FD_MINUTE_AGO_MOD_1':'#VALUE# минуту назад','FD_MINUTE_AGO_MOD_2_4':'#VALUE# минуты назад','FD_MINUTE_AGO_MOD_OTHER':'#VALUE# минут назад','FD_MINUTE_DIFF_0':'#VALUE# минут','FD_MINUTE_DIFF_1':'#VALUE# минута','FD_MINUTE_DIFF_10_20':'#VALUE# минут','FD_MINUTE_DIFF_MOD_1':'#VALUE# минута','FD_MINUTE_DIFF_MOD_2_4':'#VALUE# минуты','FD_MINUTE_DIFF_MOD_OTHER':'#VALUE# минут','FD_MINUTE_0':'#VALUE# минут','FD_MINUTE_1':'#VALUE# минуту','FD_MINUTE_10_20':'#VALUE# минут','FD_MINUTE_MOD_1':'#VALUE# минуту','FD_MINUTE_MOD_2_4':'#VALUE# минуты','FD_MINUTE_MOD_OTHER':'#VALUE# минут','FD_MINUTE_SHORT':'#VALUE#мин','FD_HOUR_AGO_0':'#VALUE# часов назад','FD_HOUR_AGO_1':'#VALUE# час назад','FD_HOUR_AGO_10_20':'#VALUE# часов назад','FD_HOUR_AGO_MOD_1':'#VALUE# час назад','FD_HOUR_AGO_MOD_2_4':'#VALUE# часа назад','FD_HOUR_AGO_MOD_OTHER':'#VALUE# часов назад','FD_HOUR_DIFF_0':'#VALUE# часов','FD_HOUR_DIFF_1':'#VALUE# час','FD_HOUR_DIFF_10_20':'#VALUE# часов','FD_HOUR_DIFF_MOD_1':'#VALUE# час','FD_HOUR_DIFF_MOD_2_4':'#VALUE# часа','FD_HOUR_DIFF_MOD_OTHER':'#VALUE# часов','FD_HOUR_SHORT':'#VALUE#ч','FD_YESTERDAY':'вчера','FD_TODAY':'сегодня','FD_TOMORROW':'завтра','FD_DAY_AGO_0':'#VALUE# дней назад','FD_DAY_AGO_1':'#VALUE# день назад','FD_DAY_AGO_10_20':'#VALUE# дней назад','FD_DAY_AGO_MOD_1':'#VALUE# день назад','FD_DAY_AGO_MOD_2_4':'#VALUE# дня назад','FD_DAY_AGO_MOD_OTHER':'#VALUE# дней назад','FD_DAY_DIFF_0':'#VALUE# дней','FD_DAY_DIFF_1':'#VALUE# день','FD_DAY_DIFF_10_20':'#VALUE# дней','FD_DAY_DIFF_MOD_1':'#VALUE# день','FD_DAY_DIFF_MOD_2_4':'#VALUE# дня','FD_DAY_DIFF_MOD_OTHER':'#VALUE# дней','FD_DAY_AT_TIME':'#DAY# в #TIME#','FD_DAY_SHORT':'#VALUE#д','FD_MONTH_AGO_0':'#VALUE# месяцев назад','FD_MONTH_AGO_1':'#VALUE# месяц назад','FD_MONTH_AGO_10_20':'#VALUE# месяцев назад','FD_MONTH_AGO_MOD_1':'#VALUE# месяц назад','FD_MONTH_AGO_MOD_2_4':'#VALUE# месяца назад','FD_MONTH_AGO_MOD_OTHER':'#VALUE# месяцев назад','FD_MONTH_DIFF_0':'#VALUE# месяцев','FD_MONTH_DIFF_1':'#VALUE# месяц','FD_MONTH_DIFF_10_20':'#VALUE# месяцев','FD_MONTH_DIFF_MOD_1':'#VALUE# месяц','FD_MONTH_DIFF_MOD_2_4':'#VALUE# месяца','FD_MONTH_DIFF_MOD_OTHER':'#VALUE# месяцев','FD_MONTH_SHORT':'#VALUE#мес','FD_YEARS_AGO_0':'#VALUE# лет назад','FD_YEARS_AGO_1':'#VALUE# год назад','FD_YEARS_AGO_10_20':'#VALUE# лет назад','FD_YEARS_AGO_MOD_1':'#VALUE# год назад','FD_YEARS_AGO_MOD_2_4':'#VALUE# года назад','FD_YEARS_AGO_MOD_OTHER':'#VALUE# лет назад','FD_YEARS_DIFF_0':'#VALUE# лет','FD_YEARS_DIFF_1':'#VALUE# год','FD_YEARS_DIFF_10_20':'#VALUE# лет','FD_YEARS_DIFF_MOD_1':'#VALUE# год','FD_YEARS_DIFF_MOD_2_4':'#VALUE# года','FD_YEARS_DIFF_MOD_OTHER':'#VALUE# лет','FD_YEARS_SHORT_0':'#VALUE#л','FD_YEARS_SHORT_1':'#VALUE#г','FD_YEARS_SHORT_10_20':'#VALUE#л','FD_YEARS_SHORT_MOD_1':'#VALUE#г','FD_YEARS_SHORT_MOD_2_4':'#VALUE#г','FD_YEARS_SHORT_MOD_OTHER':'#VALUE#л','CAL_BUTTON':'Выбрать','CAL_TIME_SET':'Установить время','CAL_TIME':'Время','FD_LAST_SEEN_TOMORROW':'завтра в #TIME#','FD_LAST_SEEN_NOW':'только что','FD_LAST_SEEN_TODAY':'сегодня в #TIME#','FD_LAST_SEEN_YESTERDAY':'вчера в #TIME#','FD_LAST_SEEN_MORE_YEAR':'более года назад'});</script>
<script type="text/javascript">(window.BX||top.BX).message({'WEEK_START':'1'});</script>
<script type="text/javascript">(window.BX||top.BX).message({'LANGUAGE_ID':'ru','FORMAT_DATE':'DD.MM.YYYY','FORMAT_DATETIME':'DD.MM.YYYY HH:MI:SS','COOKIE_PREFIX':'BITRIX_SM','SERVER_TZ_OFFSET':'10800','UTF_MODE':'Y','SITE_ID':'s1','SITE_DIR':'/','USER_ID':'','SERVER_TIME':'1771696108','USER_TZ_OFFSET':'0','USER_TZ_AUTO':'Y','bitrix_sessid':'7a93bcbce898276f56a534533cf1334b'});</script>
<script type="text/javascript" src="/bitrix/js/main/date/main.date.js?159955296434530"></script>
<script type="text/javascript" src="/bitrix/js/main/popup/dist/main.popup.bundle.js?1634116962109107"></script>
<script type="text/javascript" src="/bitrix/js/main/core/core_date.js?163411653136080"></script>
<script type="text/javascript" src="/bitrix/js/ui/vue/vue2/prod/dist/vue.bundle.js?1635848017173206"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.5.1/js/swiper.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/fingerprintjs2/2.1.0/fingerprint2.min.js"></script>
<script type="text/javascript">BX.setCSSList(['/bitrix/js/main/core/css/core_date.css','/setka/css/setka_skillbox.css','/local/templates/.default/components/bitrix/news.detail/article/style.css','/static/css/newarticle.css','/local/templates/media/libs/jquery.formstyler.css','/local/templates/media/fonts/graphik-font/stylesheet.css','/static/css/main.css','/local/templates/media/template_styles.css']);</script>
<script src="https://cdn.skillbox.pro/frontend-libs/promo-banner/5.10.1/banner-plugin.min.js"></script>
<script type="text/javascript" async src="https://relap.io/api/v6/head.js?token=sI73Ph6a5BnkqK2o"></script>
<meta property="og:title" content="Операторы в Java: для чего нужны и какие бывают" />
<meta property="og:description" content="Знакомимся с основными инструментами языка и учимся работать с ними на практике." />
<meta property="og:url" content="https://skillbox.ru/media/code/operatory-v-java-dlya-chego-nuzhny-i-kakie-byvayut/" />
<meta property="og:type" content="article" />
<meta property="og:site_name" content="skillbox.ru" />
<meta property="og:locale" content="ru_RU" />
<meta property="og:image" content="https://248006.selcdn.ru/main/iblock/a64/a64f4b4337a91dbed2e08ea844de4e11/87c7a92966c833c6b7c240c5cb5c0af1.jpg" />
<meta name="relap-image" content="https://248006.selcdn.ru/main/iblock/a64/a64f4b4337a91dbed2e08ea844de4e11/87c7a92966c833c6b7c240c5cb5c0af1.jpg" />
<meta property="og:image:width" content="600" />
<meta property="og:image:height" content="315" />
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:image" content="https://248006.selcdn.ru/main/iblock/a64/a64f4b4337a91dbed2e08ea844de4e11/87c7a92966c833c6b7c240c5cb5c0af1.jpg" />
<meta property="vk:image" content="https://248006.selcdn.ru/main/iblock/874/874e6a54e0049ad1ee5e90aa4530b9df/9eb84474d86ae75b0fda417f1b261fde.jpg" />
<meta property="article:author" content="Лев Сергеев" />
<meta property="article:tag" content="статьи" />
<meta property="article:section" content="Код" />
<script type="text/javascript" src="/static/js/vendor.js?1771489421543641"></script>
<script type="text/javascript" src="/local/assets/js/common.js?177148933727419"></script>
<script type="text/javascript" src="/static/js/main.js?1771489421125222"></script>
<script type="text/javascript" src="/local/templates/media/js/main.js?17714893372418"></script>
<script type="text/javascript" src="/local/components/prmedia/popup.subscribe/templates/.default/script.js?17714893376820"></script>
<script type="text/javascript" src="/local/templates/.default/components/bitrix/news.detail/article/infinity.js?177148933713735"></script>
<script type="text/javascript" src="/local/templates/.default/components/bitrix/news/articles/script.js?1771489337246"></script>
<script type="text/javascript" src="/setka/js/setka_skillbox.js?1771489337106775"></script>
<script type="text/javascript" src="/local/templates/.default/components/bitrix/news.detail/article/script.js?17714893377503"></script>
<script type="text/javascript">var _ba = _ba || []; _ba.push(["aid", "84a6082a990bbac8858fb733b97bed30"]); _ba.push(["host", "skillbox.ru"]); (function() {var ba = document.createElement("script"); ba.type = "text/javascript"; ba.async = true;ba.src = (document.location.protocol == "https:" ? "https://" : "http://") + "bitrix.info/ba.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ba, s);})();</script>
</head>
<body>
<div class="js-sticky-delimiter"></div>
<div class="bx-panel"></div>
<!-- Google Tag Manager (noscript) -->
<noscript>
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NLCGQ25" height="0" width="0"
style="display:none;visibility:hidden"></iframe>
</noscript>
<!-- End Google Tag Manager (noscript) -->
<svg class="app-svg-visually-hidden" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<path id="def-arrow-down-a" d="M223 20813l4 5 4-5z"/>
<path id="def-arrow-a" d="M1044.6 803.2a.81.81 0 01-.5.18.8.8 0 01-.8-.8v-3.24c-2.97.1-5.17.88-6.52 2.3a4.86 4.86 0 00-1.39 3.29.8.8 0 01-.75.83h-.04a.79.79 0 01-.79-.74c-.22-3.78.69-6.76 2.69-8.84a10.76 10.76 0 016.81-3.07v-3.3a.8.8 0 011.29-.63l7.91 6.39a.8.8 0 010 1.25zm.3-11.73v2.42a.5.5 0 01-.03.1.8.8 0 01-.05.21.78.78 0 01-.47.42.67.67 0 01-.25.05h-.01c-.06 0-3.93-.04-6.46 2.62-.8.85-1.4 1.87-1.74 2.99 1.79-1.7 4.55-2.57 8.21-2.57.44 0 .8.36.8.8v2.4l5.85-4.72z"/>
<path id="def-be-a" d="M55.6 29.58h6.12v-1.59H55.6zm.64 5.74s.26-2.23 2.58-2.23c2.32 0 2.26 2.23 2.26 2.23zm-3.23 1.27S52.56 42 58.72 42c0 0 5.26.37 5.26-3.81H61.4s-.09 1.59-2.58 1.59c0 0-2.58.17-2.58-2.55l7.74-.01c-.08-.32.9-6.42-5.16-6.36-5.77.05-5.81 5.73-5.81 5.73zm-10.34 2.8v-4.24H47s1.7.16 1.7 2.24c0 1.76-1.06 1.99-1.7 2zM47 29.61s1.16.06 1.16 1.62-.76 1.64-1.49 1.64h-4v-3.26zm4.33 1.3c0-2.68-1.81-3.91-4.26-3.91H39v15.01h8.07s4.92.15 4.92-4.43c0 0 .22-3.73-2.9-3.73 0 0 2.24-.25 2.24-2.94z"/>
<path id="def-briefcase-a" d="M855 13538c0-1.7 1.3-3 3-3s3 1.3 3 3v7c0 1.7-1.3 3-3 3s-3-1.3-3-3v-7z"/>
<path id="def-comments-a" d="M752 8958l-4 4v-12a1 1 0 011-1h11a1 1 0 011 1v7a1 1 0 01-1 1zm12-6v13l-3.2-4H751l2-2h9v-8h1c1 0 1 .45 1 1z"/>
<path id="def-eaye-a" d="M630 8956.22c0 1.04-3.58 5.21-8 5.21s-8-4.26-8-5.21c0-1.05 3.58-5.22 8-5.22s8 4.17 8 5.22zm-5 0h-3v-3.13a3.13 3.13 0 100 6.26 3.07 3.07 0 003-3.13z"/>
<path id="def-file-a" d="M493 9457a2 2 0 01-1.98-2v-16a2 2 0 011.98-2h19.82c1.13 0 2.07.87 2.15 2v16a2.15 2.15 0 01-2.15 2zm0-18v8.83l5.3-4.59a.98.98 0 011.35.05l5.34 5.39 3.27-2.48a.98.98 0 011.36.16l3.35 4.07V9439zm19.97 14.55l-4.27-5.18-3.21 2.43c-.4.3-.95.26-1.3-.09l-5.3-5.35-5.9 5.1v4.54h19.98zm-6.1-10.55a1.98 1.98 0 113.97.04 1.98 1.98 0 01-3.97-.04z"/>
<path id="def-gplus-a" d="M466 10169a4 4 0 013.87-3.99 4.14 4.14 0 012.93.99c-.33.36-.67.71-1.03 1.04-.72-.42-1.58-.75-2.41-.46a2.52 2.52 0 00-1.67 3.23c.41 1.35 2.09 2.1 3.4 1.52a2.22 2.22 0 001.33-1.51c-.78-.01-1.56 0-2.34-.03v-1.36h3.9a4.45 4.45 0 01-.83 3.2c-1 1.28-2.88 1.66-4.4 1.16a4 4 0 01-2.75-3.79z"/><path id="def-gplus-b" d="M476.34 10166h1.32l.01 1.33H479v1.33l-1.33.01v1.33h-1.33l-.01-1.33H475v-1.33l1.33-.01.01-1.33z"/>
<path id="def-inst-a" d="M1480.93 332c-3.5 0-3.95.02-5.32.07-1.37.07-2.3.28-3.14.6-.84.34-1.57.77-2.28 1.5a6.36 6.36 0 00-1.5 2.28 9.84 9.84 0 00-.6 3.14c-.07 1.37-.07 1.82-.07 5.32s.02 3.96.07 5.32c.07 1.37.28 2.31.6 3.14.34.85.77 1.58 1.5 2.29a6.51 6.51 0 002.28 1.5c.82.3 1.77.53 3.14.6 1.37.07 1.82.07 5.32.07s3.96-.02 5.32-.07a9.48 9.48 0 003.14-.6 6.14 6.14 0 002.29-1.5 6.36 6.36 0 001.5-2.29c.3-.81.53-1.77.6-3.14.07-1.36.07-1.82.07-5.32s-.02-3.95-.07-5.32a9.48 9.48 0 00-.6-3.14 6.14 6.14 0 00-1.5-2.28 6.36 6.36 0 00-2.29-1.5 9.84 9.84 0 00-3.14-.6c-1.38-.05-1.82-.07-5.32-.07zm0 2.32c3.45 0 3.85.02 5.22.07 1.27.05 1.94.26 2.4.45.6.25 1.03.52 1.48.97.45.45.73.89.97 1.5.18.44.39 1.14.45 2.39.07 1.37.07 1.76.07 5.21s-.01 3.85-.07 5.22a6.55 6.55 0 01-.45 2.4c-.24.6-.52 1.03-.97 1.48-.45.45-.88.73-1.49.97-.45.18-1.14.39-2.39.45-1.37.07-1.77.07-5.22.07-3.45 0-3.84-.01-5.21-.07a6.55 6.55 0 01-2.4-.45 4.11 4.11 0 01-1.49-.97 4.11 4.11 0 01-.97-1.49 7.52 7.52 0 01-.45-2.39c-.07-1.37-.07-1.77-.07-5.22 0-3.45.02-3.84.07-5.21.05-1.27.26-1.95.45-2.4.25-.6.52-1.04.97-1.49.45-.45.89-.72 1.5-.97a7.52 7.52 0 012.39-.45c1.35-.05 1.76-.07 5.21-.07z"/><path id="def-inst-b" d="M1480.93 349.2a4.3 4.3 0 110-8.59 4.3 4.3 0 010 8.6zm0-10.93a6.62 6.62 0 100 13.24 6.62 6.62 0 000-13.24z"/><path id="def-inst-c" d="M1486.27 338.01a1.54 1.54 0 113.09 0 1.54 1.54 0 01-3.09 0z"/>
<path id="def-like-down-a" d="M1004.33 543.66c-1.1 0-2.45-.86-2.61-3.31-.05-1.41.11-2.82.48-4.19h-2.96c-2.15 0-3.42-1.35-3.42-2.67 0-.39.05-.77.17-1.13a2.4 2.4 0 01-.99-2.03 2.35 2.35 0 011.02-2.05c-.12-.34-.18-.7-.17-1.06.86-.6 1.2-1.7.86-2.7 0-2.52 3.45-2.52 4.57-2.52h2.85c1.3.06 2.56.4 3.71 1 .67.36 1.41.6 2.18.67h3.23c.25 0 .5.11.65.31.12.14 1.1 1.47 1.1 4.69.03 1.8-.28 3.6-.9 5.31a.83.83 0 01-.67.5c-.03 0-3.27.4-4.85 1.98a10.32 10.32 0 00-2.8 5.94 1.4 1.4 0 01-1.45 1.26zm-6.84-10.17c0 .34.52 1 1.75 1h4.06a.83.83 0 01.8 1.1c-.5 1.5-.73 3.07-.72 4.65.08 1.1.44 1.6.79 1.72a11.94 11.94 0 013.23-6.67c1.57-1.58 4.2-2.18 5.32-2.38.41-1.37.62-2.8.61-4.24a8.18 8.18 0 00-.56-3.34h-2.75c-1-.07-1.97-.35-2.85-.81a7.53 7.53 0 00-3.04-.85h-2.85c-1.32 0-2.9.15-2.9.85-.02.11.02.22.09.3a.73.73 0 01.75.77.92.92 0 01-.85.87.85.85 0 00-.85.77c-.05.22.01.44.17.6.42.07.71.45.67.88a.87.87 0 01-.86.77.77.77 0 00-.83.85.8.8 0 00.87.85c.46.01.82.4.81.85 0 .43-.33.78-.76.8-.09.21-.12.44-.1.66z"/>
<path id="def-like-up-a" d="M944.67 520c1.1 0 2.45.87 2.61 3.32.05 1.4-.11 2.82-.48 4.18h2.96c2.15 0 3.42 1.36 3.42 2.67 0 .39-.05.77-.17 1.14a2.4 2.4 0 01.99 2.02c.04.81-.35 1.59-1.02 2.05.12.34.18.7.17 1.07-.86.6-1.2 1.7-.86 2.69 0 2.52-3.45 2.52-4.57 2.52h-2.85a8.94 8.94 0 01-3.71-.99 5.67 5.67 0 00-2.18-.67h-3.23a.83.83 0 01-.65-.32c-.12-.14-1.1-1.47-1.1-4.68-.03-1.81.28-3.62.9-5.32a.83.83 0 01.67-.5c.03 0 3.27-.4 4.85-1.98a10.32 10.32 0 002.8-5.93 1.4 1.4 0 011.45-1.27zm6.84 10.17c0-.34-.52-1-1.75-1h-4.06a.83.83 0 01-.8-1.1c.5-1.5.73-3.07.72-4.65-.08-1.1-.44-1.6-.79-1.72a11.94 11.94 0 01-3.23 6.67c-1.57 1.58-4.2 2.19-5.32 2.38a14.38 14.38 0 00-.61 4.25 8.18 8.18 0 00.56 3.33h2.75c1 .07 1.97.35 2.85.82.94.49 1.98.78 3.04.85h2.85c1.32 0 2.9-.15 2.9-.86a.35.35 0 00-.09-.3.73.73 0 01-.75-.77.92.92 0 01.85-.87c.44 0 .81-.33.85-.77a.65.65 0 00-.17-.6.81.81 0 01-.67-.87.87.87 0 01.86-.78.77.77 0 00.83-.85.8.8 0 00-.87-.85.83.83 0 01-.81-.85c0-.43.33-.78.76-.8.09-.21.12-.43.1-.66z"/>
<path id="def-like-a" d="M701.32 8960.32a.95.95 0 01-.95.95h-5.72c-.96 0-1.92-.95-2.87-.95h-.95v-6.68c.04-.6.4-1.12.95-1.36a4.78 4.78 0 002.87-4.37v-.96a.95.95 0 01.95-.95h.95c.53 0 .95.43.95.95v5.73h3.82a.9.9 0 01.96.96zm-14.31.95v-9.54h1.9a.96.96 0 01.97.95v7.64a.96.96 0 01-.96.95zm.99-8.3a.48.48 0 10.88.38.48.48 0 00-.88-.38z"/>
<path id="def-link-a" d="M626.02 1163.93l-.02 15.99 13.02.01v-4a.86.86 0 01.24-.68.9.9 0 01.66-.28 1 1 0 011 1v4.95a1 1 0 01-.29.7 1 1 0 01-.71.29H625a1 1 0 01-.71-.29 1 1 0 01-.29-.7V1163a1 1 0 011-1h3.95a1 1 0 011 1 .89.89 0 01-.93.93z"/><path id="def-link-b" d="M641.95 1171a1 1 0 01-1-1v-5.59l-9.25 9.3a.99.99 0 01-1.41-.01.99.99 0 01.01-1.41l9.24-9.29h-5.56a1 1 0 01-1-1 1 1 0 011-1h7.97a1 1 0 011 1v8a1 1 0 01-1 1z"/>
<path id="def-mail-a" d="M1058 261c0-.6-.4-1-1-1h-14c-.6 0-1 .4-1 1l8 6.5z"/><path id="def-mail-b" d="M1042 262.5v8.5c0 .6.4 1 1 1h14c.6 0 1-.4 1-1v-8.5l-8 6.5z"/>
<path id="def-outside-a" d="M1204.24 9231.16h-10.05c-.92 0-1.67-.75-1.67-1.68v-4.2c0-.46.38-.84.84-.84a.81.81 0 01.8.84v4.2h10.08v-16.8h-10.08v4.2a.81.81 0 01-.8.84.84.84 0 01-.84-.84v-4.2c0-.93.75-1.68 1.67-1.68h10.05c.92 0 1.67.75 1.67 1.68v16.8c0 .93-.75 1.68-1.67 1.68zm-15.56-10.92h11.37a.84.84 0 110 1.68h-11.36l1.91 1.92a.84.84 0 11-1.18 1.2l-3.35-3.36a.86.86 0 01-.24-.6v-.02a.83.83 0 01.24-.58l3.35-3.36a.83.83 0 011.18 0c.33.33.33.87 0 1.2z"/>
<path id="def-pencil-a" d="M1190.84 9818.68a.64.64 0 01-.19.13l-.07.06-4.42 1.82c-.1.05-.21.07-.32.07a.83.83 0 01-.77-1.15l1.84-4.4v-.02a.38.38 0 01.09-.13l.08-.13v-.01l10.82-10.82-.44-.44-3.56 3.57a.83.83 0 01-1.18-1.18l4.16-4.15a.81.81 0 011.17 0l1.03 1.03 1.86-1.86a.84.84 0 011.17 0l2.58 2.58c.33.32.33.85 0 1.18zm-2.88-1.7l-.58 1.41 1.41-.58zm.88-1.47l1.41 1.4 10.24-10.23-1.4-1.4zm12.69-12.68l-1.27 1.27 1.4 1.4 1.28-1.27z"/>
<path id="def-phone-a" d="M732.62 41c-2.25 0-6.37-2.73-10.24-6.78a33.08 33.08 0 01-5.22-6.96c-1.33-2.53-1.52-4.32-.56-5.31l2.91-2.72c.17-.16.4-.24.63-.23.24.02.46.13.61.32l3.79 4.58c.23.28.28.68.12 1.01l-1.47 3.08 5.24 5.48 2.93-1.54a.83.83 0 01.96.12l4.38 3.96c.17.16.28.38.3.63a.97.97 0 01-.22.67l-2.53 3.02c-.33.34-.81.67-1.63.67zm-14.76-17.78c-.15.21-.25 1.09.83 3.15 1.06 2 2.8 4.32 4.93 6.55 3.87 4.06 7.53 6.25 9 6.25.2 0 .3-.04.33-.08l1.94-2.3-3.27-2.95-2.98 1.56a.84.84 0 01-1.01-.17l-6.12-6.42a.92.92 0 01-.16-1.05l1.48-3.12-2.82-3.42z"/>
<path id="def-plus-a" d="M1223.33 4172.67h-6.66v6.66a.67.67 0 01-1.34 0v-6.66h-6.66a.67.67 0 010-1.34h6.66v-6.66a.67.67 0 011.34 0v6.66h6.66a.67.67 0 010 1.34z"/>
<path id="def-search-a" d="M1092.53 24.87a6.7 6.7 0 10-.05 13.4 6.7 6.7 0 00.05-13.4zm12.1 18.85a.95.95 0 01-1.35 0l-5.4-5.43a8.62 8.62 0 111.35-1.35l5.4 5.43c.37.37.37.98 0 1.35z"/>
<path id="def-shape-a" d="M879 13323h-4a1 1 0 01-1-1v-4a1 1 0 011-1h.85c-1.29-8.14-8.38-15.22-16.85-16.81v.81a1 1 0 01-1 1h-4a1 1 0 01-1-1v-.81c-8.47 1.6-15.56 8.67-16.85 16.81h.85a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 01-1-1v-4a1 1 0 011-1h1.13c1.03-7.24 6.24-13.76 13.07-17h-6.48a1.98 1.98 0 01-1.72 1.01c-.97 0-1.8-.69-1.98-1.65a2 2 0 011.28-2.23 2 2 0 012.42.87H853v-1a1 1 0 011-1h4a1 1 0 011 1v1h12.27a2.01 2.01 0 110 2h-6.47c6.83 3.24 12.04 9.76 13.07 17H879a1 1 0 011 1v4a1 1 0 01-1 1zm-43-4h-2v2h2zm21-21h-2v2h2zm21 21h-2v2h2zm-22.93-12.51a.52.52 0 01.1-.18l.01-.03.03-.03a1 1 0 01.2-.21l.06-.04c.06-.04.12-.08.19-.1l.04-.02.09-.01.05-.01.16-.03.15.03h.04l.11.01.04.02.19.1.02.02.02.01a.92.92 0 01.24.25l.02.03c.04.05.08.12.1.18l.03.05c.02.07 2.33 7.26 8.51 10.59.26.14.45.39.51.68a.97.97 0 01-.2.82 23.7 23.7 0 00-3.99 8.81 8.02 8.02 0 012.21 5.57 1 1 0 01-1 1h-14a1 1 0 01-1-1 8.02 8.02 0 012.21-5.57 23.66 23.66 0 00-3.99-8.8 1 1 0 01.31-1.51c6.21-3.34 8.49-10.52 8.51-10.59l.03-.04zm.93 20.49a6 6 0 00-5.92 5.02h11.84a6 6 0 00-5.92-5.02zm-4.06-.9a8.17 8.17 0 018.12 0 25.8 25.8 0 013.47-7.78 20.33 20.33 0 01-6.53-6.96v6.93a2 2 0 01-.97 3.73 2.03 2.03 0 01-2.03-2 2 2 0 011-1.7v-6.96a20.33 20.33 0 01-6.53 6.96 25.8 25.8 0 013.47 7.78z"/>
<path id="def-strawberry-a" d="M873.26 13427.96a7.49 7.49 0 01-4.13-1.21 20.45 20.45 0 012.02 8.92c0 10.41-17.26 18.25-28.46 18.25-3.71 0-6.53-.86-8.17-2.48l-.1-.1c-3.9-4.01-2.65-13.97.62-21.78 3.77-9.01 9.53-14.39 15.41-14.39 3.1 0 6.17.68 8.97 1.99a8.12 8.12 0 01-.65-1.24c-1.09-2.7-.53-5.87 1.68-9.44a1 1 0 011.11-.45c.21.06 5.12 1.38 6.8 5.49.8 2.19.7 4.61-.29 6.72 1.25-.51 2.58-.79 3.92-.83 5.12 0 7.74 4.75 8.4 7.26a.97.97 0 01-.45 1.1 12.95 12.95 0 01-6.68 2.19zm-36.36 2.36c-3.42 8.19-3.85 16.84-.97 19.69l.08.09c1.26 1.18 3.62 1.82 6.68 1.82a38.27 38.27 0 0017.26-4.82c3.43-1.92 9.18-5.96 9.18-11.43a18.4 18.4 0 00-18.68-18.5c-5.93 0-10.89 6.79-13.55 13.15zm29.59-18.05c-.97-2.38-3.49-3.6-4.73-4.07-1.52 2.71-1.89 5.05-1.12 6.96.96 2.37 3.48 3.6 4.73 4.08 1.52-2.71 1.89-5.05 1.12-6.97zm5.5 7.13c-1.75.08-3.45.6-4.95 1.51.59 1.54 2.36 5.06 6.22 5.06 1.75-.08 3.45-.6 4.94-1.5-.59-1.55-2.36-5.07-6.21-5.07zm-13.43 13.54h3v3h-3zm-4-5h3v3h-3zm2 13h-3v-3h3zm-7-8h3v3h-3zm0-9h3v3h-3zm2 22h-3v-3h3zm-7-8h3v3h-3zm0-9h3v3h-3zm-5 14h3v3h-3zm0-9h3v3h-3z"/>
<path id="def-telegram-a" d="M823.8 272.93l-4.09 20.05c-.3 1.42-1.16 1.76-2.36 1.1l-6.52-4.77-3.13 3c-.55.47-.75.66-1.27.65-.5 0-.74-.3-1.03-1.1l-2.4-7.29-6.26-1.94c-1.01-.32-1.06-1.66.31-2.05l25.01-9.39c1.14-.52 2.18 0 1.74 1.74zm-17.39 18.55l.6-5.26 11.83-10.54c.31-.36.09-.88-.61-.42l-14.24 8.87z"/>
<path id="def-tm-a" d="M1406.46 346.34l13.28-8.34c.65-.44.86.05.57.39l-11.02 9.91-.57 4.96zm16.84-12.16l-23.32 8.83c-1.27.37-1.24 1.62-.3 1.93l5.84 1.82 2.24 6.86c.28.75.5 1.04.96 1.04.49 0 .67-.18 1.19-.62.58-.55 1.5-1.43 2.92-2.83l6.08 4.49c1.12.62 1.92.3 2.21-1.04l3.8-18.85c.41-1.63-.55-2.12-1.62-1.63z"/>
<path id="def-trash-a" d="M1175 9805h-1.09l-1.8 13.12a2.15 2.15 0 01-2.11 1.88h-8a2.14 2.14 0 01-2.1-1.88l-1.78-13.12H1157a1 1 0 010-2h5v-1a3 3 0 013-3h2a3 3 0 013 3v1h5a1 1 0 010 2zm-7-3a1 1 0 00-1-1h-2a1 1 0 00-1 1v1h4zm-7.87 3l1.75 12.9c.02.05.07.09.12.1h8c.06-.01.1-.05.12-.11l1.78-12.89zm6.87 3h2v6h-2zm-4 0h2v6h-2z"/>
<path id="def-triangle-a" d="M1238 6883l7.22 7.22 7.22-7.22z"/>
<path id="def-user-circle-a" d="M1265.24 30.18a10 10 0 01-2.18 10.9 6.94 6.94 0 00-4.7-4.69 5 5 0 10-4.66.01c-2.24.72-4 2.47-4.72 4.71a10 10 0 1116.26-10.93zm-6.22 1.82a3 3 0 11-6-.01 3 3 0 016 .01zm-8.3 10.48c.4-2.6 2.65-4.5 5.28-4.48 2.73 0 5.1 1.96 5.27 4.37l.03.09a9.9 9.9 0 01-10.57.02zM1256 46a12.01 12.01 0 000-24 12 12 0 100 24z"/>
<path id="def-vb-a" d="M955.45 276.38c.68 3.25.79 6.51-.02 9.76-.14.57-.36 1.11-.58 1.65-.84 2.05-2.5 3.13-4.57 3.73-1.63.48-3.31.69-5 .82-.89.07-2.29.03-3.18.02-.76-.01-.55-.04-1.04.45-.96.97-1.84 1.82-2.76 2.84a28 28 0 01-1.35 1.35v-4.93c0-.25-.07-.4-.3-.5-.26-.1-.5-.24-.75-.34a6.95 6.95 0 01-4.35-4.98 19.93 19.93 0 01-.51-6.16c.07-1.4.26-2.79.64-4.15a6.8 6.8 0 013.48-4.25 13.83 13.83 0 014.79-1.47 25.9 25.9 0 019.8.59 8.9 8.9 0 013.5 1.69 6.59 6.59 0 012.2 3.88zm-12.05-1.52c.54.04 1.07.15 1.6.28 1.98.5 3.52 1.53 4.32 3.43.42.99.63 2.02.7 3.08.02.27.15.42.43.42.27-.01.38-.19.39-.43.02-.21.01-.42.01-.64a7.41 7.41 0 00-1.39-4.12c-1.49-1.96-3.43-2.7-6-2.82-.31-.02-.49.1-.51.42-.01.31.21.36.45.38zm4.39 4.61c.11.4.21.81.26 1.22.03.27-.03.64.42.65.32.01.4-.13.43-.67a4.58 4.58 0 00-.68-2.46c-.96-1.52-2.37-2.16-4.16-2.32-.28-.03-.48.08-.52.37-.05.3.14.44.41.48.55.08 1.08.22 1.6.4a3.32 3.32 0 012.24 2.33zm-2.22-1.46a2.29 2.29 0 00-.89-.22c-.38.03-.58.19-.58.45.01.33.3.33.52.39l.27.06c.72.19 1.13.65 1.27 1.36.03.13.04.27.08.4.06.18.18.31.4.31.21-.01.34-.13.39-.32l.04-.35a2.4 2.4 0 00-1.5-2.08zm4.89 7.94c-.78-.65-1.6-1.25-2.47-1.78-1.02-.62-1.77-.45-2.47.49l-.11.14c-.32.39-.72.54-1.22.4a5.89 5.89 0 01-1.51-.74 6.76 6.76 0 01-2.77-3.19c-.35-.82-.19-1.35.54-1.88l.28-.2c.55-.45.68-.89.37-1.52a9.94 9.94 0 00-2.3-3.05 1.3 1.3 0 00-.97-.36 2.9 2.9 0 00-2.62 2.74c-.01.37.08.78.24 1.17 2.23 5.38 6.16 9.1 11.6 11.36.4.17.82.27 1.25.15a3.75 3.75 0 002.55-2.16c.28-.61.14-1.13-.39-1.57z"/>
<path id="def-ynadex-a" d="M471.93 10326.44h-.59c-.92 0-1.8-.64-1.8-2.24 0-1.67.83-2.35 1.68-2.35h.7v4.59zm.92-5.44h-1.6c-1.55 0-2.87 1.13-2.87 3.33 0 1.32.64 2.3 1.78 2.78l-2.13 3.68c-.07.12 0 .21.1.21h1c.08 0 .14-.03.17-.1l1.93-3.6h.7v3.6c0 .05.04.1.1.1h.86c.08 0 .11-.04.11-.1v-9.77c0-.09-.06-.13-.15-.13z"/>
<path id="def-ytube-a" d="M1343.37 349.72v-9.44l6.27 4.72zm-7.81-14.03a3.54 3.54 0 00-3.56 3.51v11.6a3.54 3.54 0 003.56 3.51h19.88a3.54 3.54 0 003.56-3.5V339.2a3.54 3.54 0 00-3.56-3.51h-19.88z"/>
</defs>
<symbol id="icon-arrow-chevron" viewBox="0 0 9 15"><path d="M7.07.862L0 7.93 7.072 15l1.06-1.06-6.011-6.01L8.13 1.922 7.07.862z"/></symbol>
<symbol id="icon-arrow-down" viewBox="0 0 8 5"><use xlink:href="#def-arrow-down-a" transform="translate(-223 -20813)"/></symbol>
<symbol id="icon-arrow-left" viewBox="0 0 18 12"><path d="M.1 6.3c-.1-.3 0-.6.1-.8l4.3-4.3c.3-.3.7-.3 1 0 .3.3.3.7 0 1l-3 3.1h14.1c.4 0 .7.3.7.7 0 .4-.3.7-.7.7H2.5l3.1 3.1c.3.3.3.8 0 1-.2.2-.3.2-.4.3-.2.1-.5 0-.7-.2L.2 6.6c-.1-.1-.1-.2-.1-.3z"/></symbol>
<symbol id="icon-arrow-menu" viewBox="0 0 10 5"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 0l5 5 5-5H0z"/></symbol>
<symbol id="icon-arrow-right" viewBox="0 0 15 12"><path d="M14.19 5.77c.11.26.05.57-.15.78l-4.32 4.33a.72.72 0 01-1.02 0 .72.72 0 010-1.02l3.09-3.1H.69A.72.72 0 010 6.04c0-.38.31-.7.69-.72h11.1L8.7 2.23a.73.73 0 01.33-1.21c.24-.06.51.01.69.19l4.32 4.32a.6.6 0 01.15.24z"/></symbol>
<symbol id="icon-arrow" viewBox="0 0 20 17"><use xlink:href="#def-arrow-a" transform="translate(-1033 -789)"/></symbol>
<symbol id="icon-be" viewBox="0 0 25 16"><use xlink:href="#def-be-a" transform="translate(-39 -27)"/></symbol>
<symbol id="icon-be2-mob" viewBox="0 0 34 34"><path d="M15.426 16.508s1.507-.112 1.507-1.879S15.7 12 14.138 12H9v9.875h5.138s3.137.099 3.137-2.915c0 0 .137-2.452-1.85-2.452zm-4.162-2.753h2.874s.699 0 .699 1.027c0 1.028-.411 1.177-.877 1.177h-2.696v-2.204zm2.742 6.365h-2.742v-2.64h2.874s1.041-.013 1.041 1.357c0 1.142-.761 1.271-1.173 1.283zM23.408 12.582h-4.074v1.216h4.074v-1.216zM21.458 14.513c-3.797 0-3.794 3.793-3.794 3.793s-.26 3.775 3.794 3.775c0 0 3.38.193 3.38-2.626H23.1s.058 1.062-1.584 1.062c0 0-1.737.116-1.737-1.718h5.116s.56-4.286-3.437-4.286zm1.545 2.968h-3.244s.213-1.522 1.738-1.522 1.506 1.522 1.506 1.522z"/></symbol>
<symbol id="icon-be2" viewBox="0 0 56 56"><path d="M27.475 27.946s1.987-.148 1.987-2.479c0-2.33-1.625-3.467-3.685-3.467H19v13.024h6.777s4.137.13 4.137-3.844c0 0 .18-3.234-2.439-3.234zm-5.489-3.631h3.791s.921 0 .921 1.355-.542 1.551-1.156 1.551h-3.556v-2.906zm3.616 8.394h-3.616v-3.48h3.79s1.374-.018 1.374 1.788c0 1.506-1.004 1.677-1.548 1.692zM38.004 22.767H32.63v1.604h5.373v-1.604zM35.432 25.314c-5.009 0-5.004 5.003-5.004 5.003s-.344 4.98 5.004 4.98c0 0 4.456.254 4.456-3.464h-2.292s.077 1.4-2.088 1.4c0 0-2.291.154-2.291-2.266h6.748s.738-5.653-4.533-5.653zm2.037 3.915H33.19s.28-2.008 2.291-2.008c2.013 0 1.987 2.008 1.987 2.008z"/></symbol>
<symbol id="icon-briefcase" viewBox="834 13519 48 44"><path d="M836.5 13563c-1.4 0-2.5-1.2-2.5-2.6v-19.4c0 .6.4 1 1 1h1v18.4c0 .3.2.6.5.6h42.9c.3 0 .5-.3.5-.6v-18.4h1c.6 0 1-.4 1-1s-.4-1-1-1h-1v-10.4c0-.3-.2-.5-.5-.6h-42.9c-.3 0-.5.3-.5.6v10.4h-1c-.6 0-1 .4-1 1v-11.4c0-1.4 1.1-2.5 2.5-2.6H849v1c0 .6.4 1 1 1s1-.4 1-1v-1h14v1c0 .6.4 1 1 1 .3 0 .5-.1.7-.3.2-.2.3-.4.3-.7v-1h12.5c1.4 0 2.5 1.2 2.5 2.6v30.9c0 1.4-1.1 2.6-2.5 2.6h-43zm18.4-21H836v-2h18.9c.6 0 1 .4 1 1s-.4 1-1 1zm25.1-2v2h-18.9c-.6 0-1-.4-1-1s.4-1 1-1H880zm-13-16.8c0-2.3-1.9-4.2-4.2-4.2h-9.6c-2.3 0-4.2 1.9-4.2 4.2v3.8h2v-3.8c0-1.2 1-2.2 2.2-2.2h9.6c1.2 0 2.2 1 2.2 2.2v3.8h2v-3.8z"/><clipPath id="def-briefcase-b"><use xlink:href="#def-briefcase-a" overflow="visible"/></clipPath><g clip-path="url(#def-briefcase-b)"><path stroke-width="4" stroke-miterlimit="50" d="M855 13538c0-1.7 1.3-3 3-3s3 1.3 3 3v7c0 1.7-1.3 3-3 3s-3-1.3-3-3v-7z"/></g></symbol>
<symbol id="icon-burger" viewBox="0 0 20 14"><g fill-rule="evenodd"><path d="M0 0h20v2H0zM0 6h20v2H0zM0 12h20v2H0z"/></g></symbol>
<symbol id="icon-cancel-circle" viewBox="0 0 24 24"><path d="M12 24a12 12 0 110-24 12 12 0 010 24zm0-22a10 10 0 100 20 10 10 0 000-20zm4.71 13.29L13.41 12l3.3-3.29a1 1 0 00-.02-1.4 1 1 0 00-1.4-.02L12 10.59l-3.29-3.3a1 1 0 00-1.4.02 1 1 0 00-.02 1.4l3.3 3.29-3.3 3.29a1 1 0 00.02 1.4 1 1 0 001.4.02l3.29-3.3 3.29 3.3a1 1 0 001.42 0 1 1 0 000-1.42z"/></symbol>
<symbol id="icon-clip" viewBox="0 0 25 22"><path d="M12.1 21.37a1.02 1.02 0 01-.71-1.73L21.74 9.11a4.19 4.19 0 000-5.87 4.04 4.04 0 00-5.78 0l-12 12.21c-.59.49-.94 1.2-.97 1.97.05.49.28.95.63 1.29.31.35.77.53 1.23.48.74-.17 1.4-.57 1.89-1.15l9.42-9.58a.98.98 0 011.41 0c.39.4.39 1.04 0 1.44l-9.42 9.58A5.3 5.3 0 015.1 21.2a3.37 3.37 0 01-2.89-1.05A4.16 4.16 0 011 17.54a4.62 4.62 0 011.55-3.53l12-12.2a6.03 6.03 0 018.6 0 6.24 6.24 0 010 8.74L12.8 21.07a.98.98 0 01-.7.3z"/></symbol>
<symbol id="icon-clock" viewBox="0 0 24 24"><path d="M0 12a12 12 0 1124 0 12 12 0 01-24 0zm2 0a10 10 0 1020 0 10 10 0 00-20 0zm14 5a1 1 0 00.71-1.71L13 11.59V5a1 1 0 00-1-1 1 1 0 00-1 1v7a1 1 0 00.08.38c.05.12.12.24.21.33l4 4c.19.18.45.29.71.29z"/></symbol>
<symbol id="icon-close-menu" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M15.636 2.303L13.97.636 8.136 6.469 2.303.636.636 2.303 6.47 8.136.636 13.97l1.667 1.667 5.833-5.833 5.833 5.833 1.667-1.666-5.833-5.834 5.833-5.833z"/></symbol>
<symbol id="icon-close" viewBox="0 0 16 15"><g fill-rule="evenodd"><path d="M1.963.045l13.791 12.86-1.364 1.463L.6 1.508z"/><path d="M14.39.045L.6 12.905l1.364 1.463 13.79-12.86z"/></g></symbol>
<symbol id="icon-comments" viewBox="0 0 16 16"><use xlink:href="#def-comments-a" transform="translate(-748 -8949)"/></symbol>
<symbol id="icon-eaye" viewBox="0 0 16 11"><use xlink:href="#def-eaye-a" transform="translate(-614 -8951)"/></symbol>
<symbol id="icon-fb" viewBox="0 0 13 25"><path d="M8.44 25V13.6h3.83l.58-4.45H8.44V6.31c0-1.28.36-2.16 2.2-2.16H13V.18A29.7 29.7 0 009.57 0c-3.4 0-5.73 2.07-5.73 5.87v3.28H0v4.45h3.84V25z"/></symbol>
<symbol id="icon-fb2-mob" viewBox="0 0 34 34"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.415 24.638v-7.131h2.457l.366-2.784h-2.823v-1.776c0-.8.23-1.351 1.411-1.351h1.514v-2.49A21.931 21.931 0 0019.14 9c-2.182 0-3.677 1.295-3.677 3.672v2.051H13v2.784h2.463v7.13h2.952z"/></symbol>
<symbol id="icon-fb2" viewBox="0 0 56 56"><path fill-rule="evenodd" clip-rule="evenodd" d="M30.142 38.625V29.22h3.24l.483-3.671H30.14v-2.343c0-1.056.305-1.782 1.862-1.782H34V18.14a28.937 28.937 0 00-2.902-.14c-2.877 0-4.849 1.708-4.849 4.843v2.706H23v3.671h3.25v9.405h3.892z"/></symbol>
<symbol id="icon-file" viewBox="0 0 24 20"><use xlink:href="#def-file-a" transform="translate(-491 -9437)"/></symbol>
<symbol id="icon-github-mob" viewBox="0 0 34 34"><path d="M17.2 10c-3.978 0-7.2 3.307-7.2 7.386 0 3.263 2.063 6.031 4.923 7.007.36.07.492-.16.492-.355 0-.175-.006-.64-.009-1.256-2.003.445-2.425-.99-2.425-.99-.328-.853-.801-1.081-.801-1.081-.652-.458.05-.449.05-.449.723.052 1.103.761 1.103.761.642 1.13 1.685.803 2.097.615.065-.478.25-.803.456-.988-1.599-.185-3.28-.82-3.28-3.65 0-.806.28-1.464.741-1.981-.08-.187-.324-.938.063-1.955 0 0 .603-.198 1.98.757a6.754 6.754 0 011.8-.25 6.754 6.754 0 011.8.25c1.368-.955 1.971-.757 1.971-.757.387 1.017.144 1.768.072 1.955.46.517.738 1.175.738 1.981 0 2.838-1.683 3.462-3.285 3.644.252.222.486.674.486 1.366 0 .989-.009 1.783-.009 2.023 0 .193.126.424.495.35 2.881-.969 4.942-3.739 4.942-6.997 0-4.079-3.224-7.386-7.2-7.386z"/></symbol>
<symbol id="icon-github" viewBox="0 0 56 56"><path d="M27.913 19C22.436 19 18 23.362 18 28.741c0 4.305 2.84 7.955 6.778 9.242.496.092.677-.21.677-.468 0-.232-.008-.844-.012-1.657-2.758.588-3.34-1.306-3.34-1.306-.45-1.125-1.102-1.425-1.102-1.425-.898-.604.07-.592.07-.592.995.068 1.518 1.004 1.518 1.004.884 1.49 2.32 1.059 2.887.81.09-.63.344-1.059.628-1.302-2.202-.244-4.515-1.082-4.515-4.814 0-1.063.384-1.932 1.02-2.614-.112-.246-.446-1.236.086-2.578 0 0 .83-.26 2.727.999a9.676 9.676 0 012.478-.329 9.676 9.676 0 012.478.329c1.883-1.26 2.714-.999 2.714-.999.532 1.342.198 2.332.099 2.578a3.737 3.737 0 011.016 2.614c0 3.742-2.317 4.566-4.523 4.805.347.293.67.89.67 1.803 0 1.303-.013 2.35-.013 2.667 0 .255.173.56.681.463 3.966-1.279 6.804-4.932 6.804-9.23 0-5.38-4.439-9.741-9.913-9.741z"/></symbol>
<symbol id="icon-gplus" viewBox="0 0 13 8"><use xlink:href="#def-gplus-a" transform="translate(-466 -10165)"/><use xlink:href="#def-gplus-b" transform="translate(-466 -10165)"/></symbol>
<symbol id="icon-head" viewBox="0 0 54 45"><g transform="translate(2 2)" fill-rule="evenodd"><path d="M9.23 19.458v17.61s14.232 8.328 28.462 0V19.231" fill-rule="nonzero"/><path stroke-width="3" fill-rule="nonzero" stroke-linecap="round" stroke-linejoin="round" d="M46.923 13.25L22.99 0 0 14.007l23.179 13.44L46.923 13.25V30"/><path d="M9.23 19.458v17.61s14.232 8.328 28.462 0V19.231" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><circle stroke-width="3" fill-rule="nonzero" stroke-linecap="round" stroke-linejoin="round" cx="47.308" cy="32.692" r="2.692"/><path d="M32.733 18.745c.53.295 1.074.575 1.604.87 1.302.7 2.468-1.164 1.181-1.865-3.694-1.99-7.403-3.98-11.097-5.957-.53-.294-1.075-.575-1.604-.869-1.302-.7-2.468 1.163-1.181 1.864 3.694 1.99 7.403 3.981 11.097 5.957zM36.733 15.745c.53.295 1.074.575 1.604.87 1.302.7 2.468-1.164 1.181-1.865a4281.61 4281.61 0 00-11.097-5.957c-.53-.294-1.075-.575-1.604-.869-1.302-.7-2.468 1.163-1.181 1.864 3.694 1.99 7.403 3.981 11.097 5.957z" fill-rule="nonzero"/></g></symbol>
<symbol id="icon-inst" viewBox="0 0 26 26"><use xlink:href="#def-inst-a" transform="translate(-1468 -332)"/><use xlink:href="#def-inst-b" transform="translate(-1468 -332)"/><use xlink:href="#def-inst-c" transform="translate(-1468 -332)"/></symbol>
<symbol id="icon-instagram-mob" viewBox="0 0 34 34"><path fill-rule="evenodd" clip-rule="evenodd" d="M24.027 20.23a3.801 3.801 0 01-3.797 3.797h-6.433A3.801 3.801 0 0110 20.23v-6.433A3.801 3.801 0 0113.797 10h6.433a3.801 3.801 0 013.797 3.797v6.433zm-7.014-7.052a3.84 3.84 0 00-3.835 3.835 3.84 3.84 0 003.835 3.836 3.84 3.84 0 003.836-3.836 3.84 3.84 0 00-3.836-3.835zm0 6.848A3.016 3.016 0 0114 17.013 3.016 3.016 0 0117.013 14a3.016 3.016 0 013.013 3.013 3.016 3.016 0 01-3.013 3.013zm2.794-7.077c0-.625.509-1.133 1.133-1.133.625 0 1.134.508 1.134 1.133s-.509 1.134-1.134 1.134a1.135 1.135 0 01-1.133-1.134z"/></symbol>
<symbol id="icon-instagram" viewBox="0 0 56 56"><path fill-rule="evenodd" clip-rule="evenodd" d="M37.5 32.492a5.014 5.014 0 01-5.008 5.008h-8.484A5.014 5.014 0 0119 32.492v-8.484A5.014 5.014 0 0124.008 19h8.484a5.014 5.014 0 015.008 5.008v8.484zm-9.25-9.3a5.064 5.064 0 00-5.058 5.058c0 2.79 2.269 5.059 5.058 5.059 2.79 0 5.059-2.27 5.059-5.059 0-2.79-2.27-5.058-5.059-5.058zm0 9.032a3.978 3.978 0 01-3.974-3.974 3.978 3.978 0 013.974-3.974 3.978 3.978 0 013.974 3.974 3.978 3.978 0 01-3.974 3.974zm3.685-9.334c0-.825.67-1.495 1.494-1.495.825 0 1.495.67 1.495 1.495 0 .824-.67 1.495-1.495 1.495-.824 0-1.494-.67-1.494-1.495z"/></symbol>
<symbol id="icon-like-down" viewBox="0 0 20 22"><use xlink:href="#def-like-down-a" transform="translate(-995 -522)"/></symbol>
<symbol id="icon-like-up" viewBox="0 0 20 22"><use xlink:href="#def-like-up-a" transform="translate(-934 -520)"/></symbol>
<symbol id="icon-like" viewBox="0 0 16 16"><use xlink:href="#def-like-a" transform="translate(-687 -8946)"/></symbol>
<symbol id="icon-link" viewBox="0 0 19 21"><use xlink:href="#def-link-a" transform="translate(-624 -1161)"/><use xlink:href="#def-link-b" transform="translate(-624 -1161)"/></symbol>
<symbol id="icon-mail" viewBox="0 0 16 12"><use xlink:href="#def-mail-a" transform="translate(-1042 -260)"/><use xlink:href="#def-mail-b" transform="translate(-1042 -260)"/></symbol>
<symbol id="icon-minus-zoom" viewBox="0 0 26 2"><path stroke-linecap="square" stroke-miterlimit="50" stroke-width="2" d="M1.5 1h23.19"/></symbol>
<symbol id="icon-outside" viewBox="0 0 21 21"><use xlink:href="#def-outside-a" transform="translate(-1185 -9211)"/></symbol>
<symbol id="icon-pencil" viewBox="0 0 20 21"><use xlink:href="#def-pencil-a" transform="translate(-1185 -9800)"/></symbol>
<symbol id="icon-phone" viewBox="0 0 21 22"><use xlink:href="#def-phone-a" transform="translate(-716 -19)"/></symbol>
<symbol id="icon-play-circle" viewBox="0 0 24 24"><path d="M12 24a12 12 0 110-24 12 12 0 010 24zM2 12a10 10 0 1020 0 10 10 0 00-20 0z"/><path d="M11.01 14.52c-.05.28.1.55.35.67.25.13.55.07.74-.14l2.85-2.94c.26-.27.27-.7.02-.98l-2.83-2.94a.69.69 0 00-.75-.13.67.67 0 00-.38.65z"/></symbol>
<symbol id="icon-play-reviews" viewBox="0 0 9 9"><path fill-rule="evenodd" clip-rule="evenodd" d="M8.074 4.507c0 .41-.745.741-.745.741l-5.854 2.91a.619.619 0 01-.563-.054.649.649 0 01-.294-.494V1.392A.586.586 0 01.895.853a.557.557 0 01.595.01l5.839 2.903s.745.331.745.741z"/></symbol>
<symbol id="icon-play" viewBox="0 0 17 17"><path d="M17 9.02c0 .88-1.6 1.59-1.6 1.59L2.84 16.86c-.4.16-.84.12-1.21-.12A1.4 1.4 0 011 15.68V2.33c-.03-.47.2-.92.6-1.16.39-.24.89-.23 1.27.02L15.4 7.43s1.6.71 1.6 1.59z"/></symbol>
<symbol id="icon-plus-zoom" viewBox="0 0 24 24"><path d="M23 13H13v10a1 1 0 01-1 1 1 1 0 01-1-1V13H1a1 1 0 01-1-1 1 1 0 011-1h10V1a1 1 0 011-1 1 1 0 011 1v10h10a1 1 0 011 1 1 1 0 01-1 1z"/></symbol>
<symbol id="icon-plus" viewBox="0 0 16 16"><use xlink:href="#def-plus-a" transform="translate(-1208 -4164)"/></symbol>
<symbol id="icon-search" viewBox="0 0 22 22"><use xlink:href="#def-search-a" transform="translate(-1083 -22)"/></symbol>
<symbol id="icon-shape" viewBox="0 0 48 38"><use xlink:href="#def-shape-a" transform="translate(-832 -13296)"/></symbol>
<symbol id="icon-share" viewBox="0 0 26 24"><path d="M21.03 8a3.95 3.95 0 01-3.02-1.41l-9.08 4.54c.12.55.13 1.11.02 1.66l9.06 4.61a3.98 3.98 0 11-.9 1.79l-9.05-4.61a4 4 0 11-.05-5.22l9.1-4.55A4 4 0 1121.03 8zm0 14a2 2 0 002-2 2 2 0 10-2 2zm-18-10a2 2 0 104 0 2 2 0 00-4 0zm16-8a2 2 0 104 0 2 2 0 00-4 0z"/></symbol>
<symbol id="icon-smile" viewBox="0 0 23 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.5 23.278c-6.351 0-11.5-5.148-11.5-11.5C0 5.427 5.149.278 11.5.278S23 5.427 23 11.778c-.005 6.35-5.15 11.495-11.5 11.5zm0-21.083a9.583 9.583 0 00-9.583 9.583 9.584 9.584 0 1019.167 0A9.599 9.599 0 0011.5 2.195zm-6.613 12.87a7.38 7.38 0 006.613 4.38 7.333 7.333 0 006.613-4.38.957.957 0 00-.93-1.427.96.96 0 00-.796.603 5.277 5.277 0 01-9.774 0 .959.959 0 00-1.726.824zm10.447-3.287a1.917 1.917 0 110-3.833 1.917 1.917 0 010 3.833zM5.75 9.862a1.917 1.917 0 103.833 0 1.917 1.917 0 00-3.833 0z"/></symbol>
<symbol id="icon-socials" viewBox="0 0 40 40"><g fill-rule="evenodd"><circle cx="20" cy="20" r="20"/><path d="M20.021 31h-.485C13.717 31 9 26.08 9 20.009c0-6.07 4.717-10.991 10.536-10.991.309-.024.619-.024.928 0 5.819 0 10.536 4.92 10.536 10.99C31 26.08 26.283 31 20.464 31h-.443zm0-2.198h.316c4.655 0 8.43-3.937 8.43-8.793s-3.775-8.793-8.43-8.793h-.632c-4.655 0-8.43 3.937-8.43 8.793s3.775 8.793 8.43 8.793h.316z"/><path d="M19.382 31C13.648 31 9 26.08 9 20.009c0-6.07 4.648-10.991 10.382-10.991.305-.024.61-.024.914 0 .252.02.488.138.665.33 5.385 5.95 5.385 15.338 0 21.29a.998.998 0 01-1.142.252.992.992 0 01-.437.11zm.322-19.784h-.238c-4.588 0-8.306 3.937-8.306 8.793s3.718 8.793 8.306 8.793a.981.981 0 01.26 0c4.23-5.007 4.23-12.58 0-17.586h-.022z" clip-rule="evenodd"/><path d="M19.91 30.967a1.101 1.101 0 01-.419-.077 1.101 1.101 0 01-1.21-.253c-5.708-5.95-5.708-15.337 0-21.288a1.1 1.1 0 01.704-.33 6.664 6.664 0 011.012 0C26.074 9.02 31 13.94 31 20.01S26.074 31 19.997 31l-.088-.033zm-.353-19.783a13.177 13.177 0 000 17.585c.091-.012.184-.012.275 0 4.861 0 8.802-3.936 8.802-8.792s-3.94-8.793-8.802-8.793h-.275z" clip-rule="evenodd"/><path d="M27.944 17H11.056C10.473 17 10 16.552 10 16s.473-1 1.056-1h16.888c.583 0 1.056.448 1.056 1s-.473 1-1.056 1zM27.944 25H11.056C10.473 25 10 24.552 10 24s.473-1 1.056-1h16.888c.583 0 1.056.448 1.056 1s-.473 1-1.056 1z"/></g></symbol>
<symbol id="icon-strawberry" viewBox="0 0 49 48"><use xlink:href="#def-strawberry-a" transform="translate(-832 -13406)"/></symbol>
<symbol id="icon-telegram" viewBox="0 0 29 24"><use xlink:href="#def-telegram-a" transform="translate(-795 -271)"/></symbol>
<symbol id="icon-telegram2-mob" viewBox="0 0 34 34"><path d="M14.95 19.329l-.25 3.528c.358 0 .514-.154.7-.34l1.683-1.607 3.486 2.553c.64.356 1.09.168 1.263-.588L24.12 12.15c.204-.946-.341-1.316-.964-1.084l-13.452 5.15c-.918.357-.904.869-.156 1.1l3.44 1.07 7.988-4.998c.375-.25.717-.112.436.137L14.95 19.33z"/></symbol>
<symbol id="icon-telegram2" viewBox="0 0 56 56"><path d="M25.848 30.985l-.331 4.653c.473 0 .678-.203.924-.447l2.22-2.121 4.598 3.367c.843.47 1.437.223 1.665-.776l3.018-14.143.001-.001c.268-1.247-.45-1.734-1.272-1.428L18.929 26.88c-1.211.47-1.193 1.145-.206 1.451l4.536 1.411 10.536-6.593c.495-.328.946-.146.575.182l-8.522 7.653z"/></symbol>
<symbol id="icon-tm" viewBox="0 0 26 22"><use xlink:href="#def-tm-a" transform="translate(-1399 -334)"/></symbol>
<symbol id="icon-trash" viewBox="0 0 20 21"><use xlink:href="#def-trash-a" transform="translate(-1156 -9799)"/></symbol>
<symbol id="icon-triangle" viewBox="0 0 16 8"><use xlink:href="#def-triangle-a" transform="translate(-1237 -6883)"/></symbol>
<symbol id="icon-tw" viewBox="0 0 18 15"><path d="M18 1.75c-.66.3-1.37.5-2.12.59A3.7 3.7 0 0017.5.27c-.71.43-1.5.74-2.34.91a3.68 3.68 0 00-6.39 2.56c0 .3.03.58.09.85A10.45 10.45 0 011.25.69 3.75 3.75 0 002.4 5.68a3.67 3.67 0 01-1.68-.47v.05a3.75 3.75 0 002.97 3.67 3.51 3.51 0 01-1.67.06 3.7 3.7 0 003.45 2.6A7.33 7.33 0 010 13.14a10.37 10.37 0 005.66 1.68c6.79 0 10.51-5.7 10.51-10.64l-.01-.49A7.35 7.35 0 0018 1.76z"/></symbol>
<symbol id="icon-twitter-mob" viewBox="0 0 34 34"><path d="M24.406 12.386a6.16 6.16 0 01-1.702.466 2.937 2.937 0 001.3-1.632c-.572.34-1.202.58-1.873.715a2.952 2.952 0 00-5.109 2.02c0 .233.02.458.068.672a8.36 8.36 0 01-6.087-3.089 2.957 2.957 0 00.908 3.947 2.917 2.917 0 01-1.335-.363v.032a2.967 2.967 0 002.366 2.902c-.24.066-.502.097-.774.097-.189 0-.38-.01-.56-.05a2.981 2.981 0 002.76 2.057 5.934 5.934 0 01-3.661 1.26c-.242 0-.475-.011-.707-.04a8.314 8.314 0 004.53 1.325c5.435 0 8.406-4.502 8.406-8.404 0-.13-.004-.257-.01-.382a5.89 5.89 0 001.48-1.533z"/></symbol>
<symbol id="icon-twitter" viewBox="0 0 56 56"><path d="M38 21.828c-.707.31-1.46.515-2.244.615a3.874 3.874 0 001.713-2.153 7.783 7.783 0 01-2.47.943 3.894 3.894 0 00-6.738 2.664c0 .308.026.605.09.887a11.025 11.025 0 01-8.028-4.074 3.922 3.922 0 00-.533 1.969 3.9 3.9 0 001.73 3.237 3.847 3.847 0 01-1.76-.48v.043a3.913 3.913 0 003.12 3.827 3.887 3.887 0 01-1.02.129c-.25 0-.502-.015-.738-.067.505 1.543 1.937 2.677 3.64 2.714a7.827 7.827 0 01-4.83 1.66c-.32 0-.626-.013-.932-.052a10.966 10.966 0 005.976 1.748c7.167 0 11.086-5.938 11.086-11.085a9.95 9.95 0 00-.014-.503A7.77 7.77 0 0038 21.828z"/></symbol>
<symbol id="icon-user-circle" viewBox="0 0 24 24"><use xlink:href="#def-user-circle-a" transform="translate(-1244 -22)"/></symbol>
<symbol id="icon-vb" viewBox="0 0 25 27"><use xlink:href="#def-vb-a" transform="translate(-931 -270)"/></symbol>
<symbol id="icon-view-list" viewBox="0 0 15 15"><path d="M0 6V0h15v6zm0 9V9h15v6z"/></symbol>
<symbol id="icon-view-tile" viewBox="0 0 15 15"><path d="M0 6V0h6v6zm9 0V0h6v6zm0 9V9h6v6zm-9 0V9h6v6z"/></symbol>
<symbol id="icon-vk" viewBox="0 0 22 14"><path d="M10.61 13.8h1.3s.39-.04.59-.27c.19-.2.18-.59.18-.59s-.02-1.8.78-2.07c.8-.26 1.82 1.75 2.91 2.52.81.58 1.44.46 1.44.46l2.89-.05s1.52-.09.8-1.33c-.06-.1-.42-.92-2.15-2.59-1.82-1.75-1.58-1.47.61-4.5 1.33-1.84 1.87-2.97 1.7-3.45-.16-.46-1.14-.34-1.14-.34l-3.26.02s-.24-.03-.42.08-.29.36-.29.36-.52 1.43-1.2 2.64c-1.46 2.57-2.04 2.7-2.27 2.54-.56-.37-.42-1.49-.42-2.28 0-2.49.36-3.52-.71-3.79A5.26 5.26 0 0010.43 1c-1.16-.01-2.15.01-2.7.29-.38.19-.66.61-.49.63.22.03.71.14.97.51.33.47.32 1.53.32 1.53s.19 2.92-.45 3.29c-.44.25-1.04-.26-2.34-2.59-.66-1.19-1.16-2.5-1.16-2.5s-.1-.25-.27-.38c-.21-.16-.5-.21-.5-.21l-3.1.02s-.47.01-.64.22c-.15.19-.01.58-.01.58s2.43 5.89 5.17 8.87c2.52 2.72 5.38 2.54 5.38 2.54z"/></symbol>
<symbol id="icon-vk2-mob" viewBox="0 0 34 34"><path fill-rule="evenodd" clip-rule="evenodd" d="M16.79 21.913h.947a.77.77 0 00.436-.201.795.795 0 00.13-.459s-.016-1.399.573-1.608c.588-.209 1.336 1.351 2.13 1.954.297.259.68.383 1.063.346l2.123-.032s1.116-.073.589-1.03a7.642 7.642 0 00-1.582-2.002c-1.337-1.35-1.153-1.134.451-3.473.978-1.424 1.367-2.3 1.245-2.67a.866.866 0 00-.832-.257l-2.4.016a.463.463 0 00-.305.056.702.702 0 00-.214.282 15.134 15.134 0 01-.886 2.042c-1.062 1.978-1.49 2.082-1.665 1.962-.405-.29-.306-1.15-.306-1.77 0-1.913.268-2.717-.511-2.926a4.053 4.053 0 00-1.123-.12 4.804 4.804 0 00-1.987.225c-.275.144-.48.466-.351.49.273.03.524.167.703.386.165.37.246.774.237 1.182 0 0 .145 2.26-.329 2.54-.32.194-.764-.2-1.719-1.993a17.581 17.581 0 01-.848-1.938.803.803 0 00-.198-.29.84.84 0 00-.367-.16l-2.276.016a.723.723 0 00-.466.169.581.581 0 00-.016.442s1.788 4.559 3.805 6.859c.99 1.217 2.427 1.931 3.95 1.962z"/></symbol>
<symbol id="icon-vk2" viewBox="0 0 56 56"><path fill-rule="evenodd" clip-rule="evenodd" d="M28.274 34.074h1.25c.213-.024.413-.117.574-.265.117-.177.177-.39.172-.605 0 0-.02-1.845.755-2.12.776-.276 1.763 1.78 2.811 2.576.391.342.895.506 1.4.456l2.802-.042s1.47-.096.775-1.358a10.079 10.079 0 00-2.085-2.64c-1.763-1.782-1.522-1.495.594-4.582 1.29-1.877 1.804-3.033 1.642-3.52a1.143 1.143 0 00-1.098-.34l-3.163.021a.61.61 0 00-.403.075.925.925 0 00-.282.37 19.972 19.972 0 01-1.17 2.694c-1.4 2.61-1.964 2.747-2.196 2.588-.534-.382-.403-1.516-.403-2.333 0-2.524.353-3.584-.675-3.86a5.345 5.345 0 00-1.48-.16 6.336 6.336 0 00-2.62.298c-.363.19-.635.615-.464.646.36.039.691.221.927.51.218.487.325 1.02.312 1.558 0 0 .192 2.98-.433 3.352-.423.254-1.007-.265-2.267-2.63a23.184 23.184 0 01-1.118-2.556 1.06 1.06 0 00-.262-.382 1.109 1.109 0 00-.484-.212l-3.002.021a.953.953 0 00-.615.223.767.767 0 00-.02.583s2.358 6.013 5.018 9.046c1.305 1.606 3.2 2.548 5.209 2.588z"/></symbol>
<symbol id="icon-yandex" viewBox="0 0 5 11"><path d="M4.847 0H3.259C1.7 0 .376 1.169.376 3.438c0 1.36.64 2.364 1.783 2.86L.028 10.092c-.07.123 0 .22.111.22h.99c.083 0 .139-.028.166-.097L3.231 6.49h.697v3.726c0 .041.041.097.097.097h.864c.083 0 .111-.042.111-.11V.138C5 .04 4.944 0 4.847 0zm-.92 5.61h-.584c-.92 0-1.81-.66-1.81-2.31 0-1.719.835-2.42 1.684-2.42h.71v4.73z" fill-rule="nonzero"/></symbol>
<symbol id="icon-ynadex" viewBox="0 0 5 10"><use xlink:href="#def-ynadex-a" transform="translate(-468 -10321)"/></symbol>
<symbol id="icon-ytube" viewBox="0 0 27 20"><use xlink:href="#def-ytube-a" transform="translate(-1332 -335)"/></symbol>
</svg>
<div class="header-banner topBanner" data-type="header" style="display: block; position: sticky; top: 0; z-index: 999;">
<a data-source="214531" data-banner="226288" class="universal-notice js-universal-notice-notice universal-notice--webp universal-notice--bitrix universal-notice--active" href="https://skillbox.ru/sale/main/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_banners_header_all_all_skillbox" target="_blank" style="--banner-bg: #5927E9;--banner-color: #fff;--button-font-color: #000000;--button-bg-color: #FFFFFF;--banner-img-left: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_left/602754/f9ac17dd-a1d4-46c6-aa14-4f7b949defd1.png);--banner-img-left-webp: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_left/602754/f9ac17dd-a1d4-46c6-aa14-4f7b949defd1.webp);--banner-img-center: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_center/602507/232fc4a5-b130-4af2-a629-bdb293a4dd2e.png);--banner-img-center-webp: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_center/602507/232fc4a5-b130-4af2-a629-bdb293a4dd2e.webp);--banner-img-center-mobile: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_center/602507/232fc4a5-b130-4af2-a629-bdb293a4dd2e.png);--banner-img-center-mobile-webp: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_center/602507/232fc4a5-b130-4af2-a629-bdb293a4dd2e.webp);--banner-img-right: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_right/602755/ad7a7fe5-b8d3-47a3-885b-51a7971c12a9.png);--banner-img-right-webp: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_right/602755/ad7a7fe5-b8d3-47a3-885b-51a7971c12a9.webp);">
<span class="universal-notice__wrapper">
<b class="universal-notice__title">
Скидка до 55% и 3 курса в подарок
</b>
<span class="universal-timer js-universal-notice-timer js-universal-notice-active">
<span class="universal-timer__days js-universal-notice-days">2 дня</span>
<span class="js-universal-notice-hours">13</span>
:<span class="js-universal-notice-minutes">30</span>
:<span class="js-universal-notice-seconds">09</span>
</span>
<span class="universal-notice__button">Выбрать курс</span>
</span>
</a><script>
document.addEventListener('DOMContentLoaded', () => {
// Установите конечную дату
const deadline = new Date();
deadline.setDate(5);
deadline.setHours(0, 0, 0);
// Найдите элементы DOM
var timer = document.querySelector('.universal-timer');
const elDays = timer.querySelector('.js-universal-notice-days');
const elHours = timer.querySelector('.js-universal-notice-hours');
const elMinutes = timer.querySelector('.js-universal-notice-minutes');
const elSeconds = timer.querySelector('.js-universal-notice-seconds');
// Функция обновления таймера
const updateTimer = () => {
const now = new Date();
let diff = Math.max(0, deadline - now);
if (diff === 0) {
let lastDayOfMonth = new Date(now.getFullYear(), now.getMonth() + 1, 0);
let lastDay = lastDayOfMonth.getDate();
if (lastDay - now.getDate() < 4) {
deadline.setMonth(deadline.getMonth() + 1, 1);
} else {
deadline.setDate(deadline.getDate() + 4);
}
diff = Math.max(0, deadline - now);
}
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(diff / (1000 * 60 * 60 * 24));
var hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)).toString();
var minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60)).toString();
var seconds = Math.floor((diff % (1000 * 60)) / 1000).toString();
if (timer) {
let dayTitles = ['день', 'дня', 'дней'];
let daySuffix = dayTitles[(days % 100 > 4 && days % 100 < 20) ? 2 : [2, 0, 1, 1, 1, 2][days % 10 < 5 ? days % 10 : 5]]
elDays.innerHTML = days + ' ' + daySuffix;
elHours.innerHTML = hours.padStart(2, '0');
elMinutes.innerHTML = minutes.padStart(2, '0');
elSeconds.innerHTML = seconds.padStart(2, '0');
}
};
updateTimer();
const timerId = setInterval(updateTimer, 1000);
});
</script>
<style>@font-face{font-display:swap;font-family:Graphik;font-weight:500;font-style:normal;src:url(https://248006.selcdn.ru/Shared/fonts/GraphikLCTT-VA-Medium.woff2) format("woff2")}@font-face{font-display:swap;font-family:Graphik;font-weight:700;font-style:normal;src:url(https://248006.selcdn.ru/Shared/fonts/GraphikLCTT-VA-Bold.woff2) format("woff2")}.universal-notice{position:sticky;z-index:5;top:0;box-sizing:border-box;text-decoration:none;display:none;justify-content:space-between;overflow:hidden;color:var(--banner-color);background-color:var(--banner-bg);font-family:Graphik,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:opacity .25s ease-in-out}.universal-notice--active{display:flex}.universal-notice--bitrix{z-index:1000}.universal-notice *,.universal-notice ::after,.universal-notice ::before{box-sizing:inherit}.universal-notice::after,.universal-notice::before{display:none;width:194px;height:56px;content:"";background-size:194px 56px;background-repeat:no-repeat}.universal-notice--no-webp::before{background-image:var(--banner-img-left)}.universal-notice--no-webp::after{background-image:var(--banner-img-right)}.universal-notice--webp::before{background-image:var(--banner-img-left-webp)}.universal-notice--webp::after{background-image:var(--banner-img-right-webp)}.universal-notice--new-design{position:static;margin:4px;border-radius:16px}.universal-notice--new-design::after,.universal-notice--new-design::before{width:166px;height:48px;background-size:166px 48px}.universal-notice__wrapper{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:12px;padding:12px;width:100%}.universal-notice--new-design .universal-notice__wrapper::after{height:48px}.universal-notice__title{font-weight:500;font-size:15px;line-height:16px}.universal-notice--new-design .universal-notice__title{font-size:14px;line-height:15px}.universal-timer{display:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500;font-size:24px;line-height:26px}.universal-notice--new-design .universal-timer{font-size:22px;line-height:24px}.universal-timer__days{margin-right:8px}.universal-notice__button{grid-column:2/3;padding:6px 16px;border-radius:6px;color:var(--button-font-color);background-color:var(--button-bg-color);font-weight:500;font-size:14px;line-height:20px}.universal-notice-sticky{position:fixed;z-index:5;top:0;left:0;width:100%;padding:11px 8px;color:var(--banner-color);background-color:var(--banner-bg);text-align:center;transition:transform .3s ease-in-out;will-change:transform;transform:translateY(-200%)}.universal-notice-sticky--show{transform:translateY(0)}@media (min-width:360px) and (max-width:0px){.universal-notice__wrapper{padding:0 12px;grid-template-columns:1fr 56px auto}.universal-notice__wrapper::after{grid-column:2/3;grid-row:1/2;width:100%;height:56px;background-size:cover;background-repeat:no-repeat;content:""}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 48px auto}.universal-notice--no-webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-mobile)}.universal-notice--webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-mobile-webp)}.universal-notice__button{grid-column:3/4}}@media (min-width:360px){.universal-notice__wrapper{padding:0 12px;grid-template-columns:1fr 56px auto}.universal-notice__wrapper::after{grid-column:2/3;grid-row:1/2;width:100%;height:56px;background-size:cover;background-repeat:no-repeat;content:""}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 48px auto}.universal-notice--no-webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-mobile)}.universal-notice--webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-mobile-webp)}.universal-notice__button{grid-column:3/4}}@media (min-width:768px){.universal-notice::before{background-position:right center;flex-shrink:0;display:block}.universal-notice--no-webp .universal-notice__wrapper::after{background-image:var(--banner-img-center)}.universal-notice--webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-webp)}}@media (min-width:768px) and (max-width:0px){.universal-notice::before{background-position:right center;flex-shrink:0;display:block}.universal-notice--no-webp .universal-notice__wrapper::after{background-image:var(--banner-img-center)}.universal-notice--webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-webp)}}@media (min-width:1024px){.universal-notice::after,.universal-notice::before{width:250px;height:72px;background-size:250px 72px}.universal-notice--new-design{height:64px;border-radius:32px}.universal-notice--new-design::after,.universal-notice--new-design::before{width:226px;height:64px;background-size:226px 64px}.universal-notice__wrapper{grid-template-columns:1fr 72px auto;grid-gap:24px;padding-right:16px;padding-left:24px}.universal-notice__wrapper::after{height:72px}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 64px auto}.universal-notice--new-design .universal-notice__wrapper::after{height:64px}.universal-notice__title{font-size:24px;line-height:26px}.universal-notice--new-design .universal-notice__title{font-size:22px;line-height:24px}.universal-notice__button{padding:10px 24px;border-radius:8px}.universal-notice-sticky{padding:14px 24px}}@media (min-width:1024px) and (max-width:0px){.universal-notice::after,.universal-notice::before{width:250px;height:72px;background-size:250px 72px}.universal-notice--new-design{height:64px;border-radius:32px}.universal-notice--new-design::after,.universal-notice--new-design::before{width:226px;height:64px;background-size:226px 64px}.universal-notice__wrapper{grid-template-columns:1fr 72px auto;grid-gap:24px;padding-right:16px;padding-left:24px}.universal-notice__wrapper::after{height:72px}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 64px auto}.universal-notice--new-design .universal-notice__wrapper::after{height:64px}.universal-notice__title{font-size:24px;line-height:26px}.universal-notice--new-design .universal-notice__title{font-size:22px;line-height:24px}.universal-notice__button{padding:10px 24px;border-radius:8px}.universal-notice-sticky{padding:14px 24px}}@media (min-width:1280px){.universal-notice::before{flex-shrink:1}.universal-notice::after{background-position:left center;display:block}.universal-notice__wrapper{grid-template-columns:1fr 72px minmax(202px,auto) auto;min-width:940px;max-width:1020px;padding-right:24px}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 64px minmax(202px,auto) auto}.universal-timer.js-universal-notice-active{display:flex}.universal-notice__timer-nuxt{display:flex}.universal-notice__button{grid-column:4/5}}@media (min-width:1280px) and (max-width:0px){.universal-notice::before{flex-shrink:1}.universal-notice::after{background-position:left center;display:block}.universal-notice__wrapper{grid-template-columns:1fr 72px minmax(202px,auto) auto;min-width:940px;max-width:1020px;padding-right:24px}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 64px minmax(202px,auto) auto}.universal-timer.js-universal-notice-active{display:flex}.universal-notice__timer-nuxt{display:flex}.universal-notice__button{grid-column:4/5}}@media (min-width:1400px) and (max-width:0px){.universal-notice::before{flex-shrink:0}.universal-notice::after{flex-shrink:0}}@media (min-width:1400px){.universal-notice::before{flex-shrink:0}.universal-notice::after{flex-shrink:0}}</style> </div>
<script>
document.addEventListener("DOMContentLoaded", function(event) {
window.TopBanner = true;
});
$(document).ready(function () {
$.ajax({
url: '/local/ajax/advert.php',
type: 'POST',
data: {
'type': 'top-banner-show',
'id': 226288,
'section_id': 0,
},
success: function (result) {
}
});
});
$(document).on('click', '.header-banner', function () {
$.ajax({
url: '/local/ajax/advert.php',
type: 'POST',
data: {
'type': 'top-banner-click',
'id': 226288,
'section_id': 0,
},
success: function (result) {
}
});
var page = window.location;
var $article = $('section[data-article-text]');
var pageId = $article.data('articleid');
if(pageId === undefined)
{
pageId = 0;
}
window.dataLayer.push({
'event': 'go_to_course',
'courseID': 226288,
'page': page,
'pageID': pageId
});
});
</script>
<header class="header">
<div id="menu" class="header__wrapper container">
<div class="header__logo link-active">
<a href="/media/" class="header__media-main-link">
<img src="/local/templates/media/images/logo/skillbox-media.svg" alt="Skillbox"/>
</a>
<a href="/media/code/" class="header__media-category-link">
<span class="header__media-category js-category ">Код</span>
</a>
</div>
<a href="/media/about-media/" v-if="!isMobile" rel="nofollow" class="menu-nav__link menu-nav__link--about" target="_blank" style="display: none">
Про медиа
</a>
<button v-if="!isMobile" v-show="!isMobile" rel="nofollow" class="toggle-menu header__toggle toggle-menu--course"
@click="openCourseMenu()"
:class="{ 'toggle-menu--active': isOpenCourseMenu }"
style="display: none">
Онлайн-курсы
<svg width="13" height="12" viewBox="0 0 13 12" fill="none" xmlns="http://www.w3.org/2000/svg"
:class="{
'animated-chevron--default': isOpenCourseMenu,
'animated-chevron--active animated-chevron--default': ! isOpenCourseMenu
}"
class="animated-chevron toggle-menu__arrow select-arrow select-arrow--small">
<line x1="6.48415" y1="5.92242" x2="11.4909" y2="10.9291" stroke="currentColor" stroke-width="1.78"
class=" animated-chevron__line animated-chevron__line1 animated-chevron__line1--default"></line>
<line x1="6.3701" y1="5.9224" x2="11.3768" y2="0.915678" stroke="currentColor" stroke-width="1.78"
class="animated-chevron__line"></line>
<line x1="1.36337" y1="10.9291" x2="6.3701" y2="5.9224" stroke="currentColor" stroke-width="1.78"
class="animated-chevron__line animated-chevron__line2 animated-chevron__line2--default"></line>
<line x1="1.47743" y1="0.915681" x2="6.48415" y2="5.9224" stroke="currentColor" stroke-width="1.78"
class="animated-chevron__line"></line>
</svg>
</button>
<a href="https://skillbox.ru/?utm_source=media&utm_medium=button&utm_campaign=button_main_skillbox&utm_term=mainskillbox" v-if="!isMobile" v-show="!isMobile" rel="nofollow" class="menu-nav__link menu-nav__link-ml0 menu-nav__link--main" target="_blank" style="display: none">
Главная Skillbox
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.9375 10.0618L9.9161 4.08203" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M3.93811 3.93665H10.0631V10.0616" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</a>
<div v-if="isOpenCourseMenu && !isMobile" class="menu-block menu-block--desktop" @click="closeCourseMenu($event)" style="display: none">
<div class="menu-block__wrapper menu-block__wrapper--desktop">
<div class="menu-block__content vue-container">
<span class="menu-block__title">
Направления обучения
</span>
<ul class="menu-directions menu-block__direction">
<li class="menu-directions__item">
<a href="https://skillbox.ru/courses/?utm_source=media&utm_medium=button&utm_campaign=button_courses_all&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="All directions">
Все направления
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/code/?utm_source=media&utm_medium=button&utm_campaign=button_courses_code&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Code">
Программирование
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/design/?utm_source=media&utm_medium=button&utm_campaign=button_courses_design&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Design">
Дизайн
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/management?utm_source=media&utm_medium=button&utm_campaign=button_courses_management&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Management">
Управление
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/marketing?utm_source=media&utm_medium=button&utm_campaign=button_courses_marketing&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Marketing">
Маркетинг
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/games?utm_source=media&utm_medium=button&utm_campaign=button_courses_games&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="GameDev">
Игры
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/multimedia?utm_source=media&utm_medium=button&utm_campaign=button_courses_multimedia&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="">
Кино и Музыка
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/psychology?utm_source=media&utm_medium=button&utm_campaign=button_courses_psychology&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Development">
Психология
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/health?utm_source=media&utm_medium=button&utm_campaign=button_courses_health&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Development">
Здоровье
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/spo/?utm_source=media&utm_medium=button&utm_campaign=button_courses_spo&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Development">
Цифровой колледж
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/general-development/?utm_source=media&utm_medium=button&utm_campaign=button_courses_general-development&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Education">
Общее развитие
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/engineering/?utm_source=media&utm_medium=button&utm_campaign=button_courses_engineering&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="engineering">
Инженерия
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/english/?utm_source=media&utm_medium=button&utm_campaign=button_courses_english&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="english">
Английский язык
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/other/?utm_source=media&utm_medium=button&utm_campaign=button_courses_other&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Other">
Другое
</a>
</li>
</ul>
</div>
</div>
</div>
<div v-show="isOpenMenu" class="menu-block" @click="closeMenu($event)" style="display: none">
<div class="menu-block__wrapper">
<div class="menu-block__content vue-container">
<h2 class="menu-block__header">Редакции</h2>
<div class="tab-nav" data-tab-parent="" data-action="index">
<div class="tab-nav__item">
<a class="" data-tab-name="media_nav" data-section-id="0" data-code="All directions" href="/media/">
<img src="/local/templates/media/images/common/menu-icon-mobile-1.png" alt=""/>
Все
</a>
</div>
<div class="tab-nav__item tab-nav__item--custom tab-nav__item--spec"
data-nav-parent-item>
<a
data-tab-name="media_nav"
data-code=""
href="/media/topic/history/">
<img src="/local/templates/media/images/common/menu-icon-mobile-19.png"
alt=""/>
Истории</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="8"
data-code="Design"
href="/media/design/">
<img src="/local/templates/media/images/common/menu-icon-mobile-2.png" alt=""/>
Дизайн</a>
</div>
<div class="tab-nav__item">
<a class="tab-active"
data-tab-name="media_nav"
data-section-id="10"
data-code="Code"
href="/media/code/">
<img src="/local/templates/media/images/common/menu-icon-mobile-3.png" alt=""/>
Код</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="18"
data-code="GameDev"
href="/media/gamedev/">
<img src="/local/templates/media/images/common/menu-icon-mobile-4.png" alt=""/>
Геймдев</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="21"
data-code="Business"
href="/media/business/">
<img src="/local/templates/media/images/common/menu-icon-mobile-9.png" alt=""/>
Бизнес</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="9"
data-code="Marketing"
href="/media/marketing/">
<img src="/local/templates/media/images/common/menu-icon-mobile-5.png" alt=""/>
Маркетинг</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="11"
data-code=""
href="/media/management/">
<img src="/local/templates/media/images/common/menu-icon-mobile-6.png" alt=""/>
Управление</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="29"
data-code=""
href="/media/cinemusic/">
<img src="/local/templates/media/images/common/menu-icon-mobile-22.png" alt=""/>
Кино</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="36"
data-code=""
href="/media/music/">
<img src="/local/templates/media/images/common/menu-icon-mobile-23.png" alt=""/>
Музыка</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="34"
data-code=""
href="/media/photo/">
<img src="/local/templates/media/images/common/menu-icon-mobile-20.png" alt=""/>
Проектная фотография</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="17"
data-code="Development"
href="/media/growth/">
<img src="/local/templates/media/images/common/menu-icon-mobile-7.png" alt=""/>
Развитие</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="33"
data-code=""
href="/media/health/">
<img src="/local/templates/media/images/common/menu-icon-mobile-16.png" alt=""/>
Здоровье</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="32"
data-code=""
href="/media/money/">
<img src="/local/templates/media/images/common/menu-icon-mobile-17.png" alt=""/>
Деньги</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="22"
data-code="Education"
href="/media/education/">
<img src="/local/templates/media/images/common/menu-icon-mobile-8.png" alt=""/>
Образование</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="31"
data-code=""
href="/media/edtech/">
<img src="/local/templates/media/images/common/menu-icon-mobile-11.png" alt=""/>
EdTech</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="30"
data-code=""
href="/media/corptrain/">
<img src="/local/templates/media/images/common/menu-icon-mobile-10.png" alt=""/>
Корп. обучение</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="35"
data-code=""
href="/media/skillbox-blog/">
<img src="/local/templates/media/images/common/menu-icon-mobile-21.png" alt=""/>
Блог Skillbox</a>
</div>
<div class="tab-nav__item tab-nav__item--custom tab-nav__item--spec"
data-nav-parent-item>
<a
data-tab-name="media_nav"
data-code=""
href="https://skillbox.ru/media/glossary/">
<img src="/local/templates/media/images/common/menu-icon-mobile-18.png"
alt=""/>
Глоссарий</a>
</div>
<div class="tab-nav__item tab-nav__item--custom tab-nav__item--spec"
data-nav-parent-item>
<a
data-tab-name="media_nav"
data-code=""
href="/media/topic/specials/">
<img src="/local/templates/media/images/common/menu-icon-mobile-13.png"
alt=""/>
Спецпроекты</a>
</div>
<div class="tab-nav__item tab-nav__item--custom tab-nav__item--spec"
data-nav-parent-item>
<a
data-tab-name="media_nav"
data-code=""
href="https://skillbox.ru/course/career-guide-free/">
<img src="/local/templates/media/images/common/menu-icon-mobile-15.png"
alt=""/>
Профориентация</a>
</div>
</div>
<h2 class="menu-block__header">Онлайн-курсы</h2>
<ul class="menu-directions menu-block__direction">
<li class="menu-directions__item">
<a href="https://skillbox.ru/courses/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="All directions">
Все направления
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/code/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Code">
Программирование
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/design/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Design">
Дизайн
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/marketing/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Marketing">
Маркетинг
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/management/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Management">
Управление
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/games/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="GameDev">
Игры
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/multimedia/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="">
Мультимедиа
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/psychology/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Development">
Психология
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/general-development/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Education">
Общее развитие
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/engineering/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="engineering">
Инженерия
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/english/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="english">
Английский язык
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/other/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Other">
Другое
</a>
</li>
</ul>
<a href="/media/about-media/" rel="nofollow" class="menu-nav__link">
Про медиа
</a>
<a href="https://skillbox.ru/" rel="nofollow" class="menu-nav__link">
Главная Skillbox
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.9375 10.0618L9.9161 4.08203" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M3.93811 3.93665H10.0631V10.0616" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</a>
</div>
</div>
</div>
<button v-if="isMobile" class="menu-toggle"
@click="openMenu()"
:class="{ 'menu-toggle--opened': isOpenMenu }" style="opacity: 0">
<span v-if="isOpenMenu" class="menu-toggle__line"></span>
<svg v-if="!isOpenMenu" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M24 5.5H0V4H24V5.5ZM24 11.5H0V13H24V11.5ZM24 19H0V20.5H24V19Z" fill="black"/>
</svg>
</button>
</div>
<script>
BX.Vue.create({
el: '#menu',
data: {
isOpenMenu: false,
isOpenCourseMenu: false,
isMobile: false,
isSubOpen: false,
display: 'none'
},
computed: {
isMobile() {
const w = window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;
return w < 1024;
}
},
methods: {
openMenu() {
this.isOpenMenu = !this.isOpenMenu;
document.getElementsByTagName('body')[0].classList.toggle('scroll-locked');
window.addEventListener('keyup', this.closeMenu);
},
closeMenu(event) {
if (event.target.classList.contains('menu-block') || event.keyCode === 27) {
this.isOpenMenu = false;
document.getElementsByTagName('body')[0].classList.remove('scroll-locked');
window.removeEventListener('keyup', this.closeMenu);
}
},
openCourseMenu() {
this.isOpenCourseMenu = !this.isOpenCourseMenu;
if (this.isOpenCourseMenu) {
document.getElementsByTagName('body')[0].classList.add('scroll-locked');
window.addEventListener('keyup', this.closeCourseMenu);
} else {
document.getElementsByTagName('body')[0].classList.remove('scroll-locked');
window.removeEventListener('keyup', this.closeCourseMenu);
}
},
closeCourseMenu(event) {
if (event.target.classList.contains('menu-block') || event.keyCode === 27) {
this.isOpenCourseMenu = false;
document.getElementsByTagName('body')[0].classList.remove('scroll-locked');
window.removeEventListener('keyup', this.closeCourseMenu);
}
},
openSub() {
this.isSubOpen = !this.isSubOpen;
},
isMobileFn() {
const w = window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;
this.isMobile = (w < 1024);
}
},
created() {
window.addEventListener("resize", this.isMobileFn);
document.querySelector('.menu-block').style.display = '';
document.querySelector('.menu-toggle').style.opacity = '1';
document.querySelector('.menu-nav__link').style.display = '';
this.display = 'block';
this.isMobileFn();
},
destroyed() {
window.removeEventListener("resize", this.isMobileFn);
}
});
</script>
</header>
<main class="content">
<div class="page style-update">
<div class="page-wrap">
<style>
.article-inner .rr-widget__title {
padding-top: 0 !important;
}
.article-inner div[data-retailrocket-markup-block] {
margin-top: -32px;
display: none;
}
.article-inner {
font-family: 'Graphik';
}
</style>
<div class="under_header_banner" data-type="under_header"><!-- Yandex.RTB R-A-13443663-10 -->
<div id="yandex_rtb_R-A-13443663-10"></div>
<script>
window.yaContextCb.push(() => {
Ya.Context.AdvManager.render({
"blockId": "R-A-13443663-10",
"renderTo": "yandex_rtb_R-A-13443663-10"
})
})
</script>
</div> <div data-area="article" data-title="Операторы в Java: большой гайд с примерами / Skillbox Media" class=" noFullClass">
<div class="article-inner">
<section class="top-section-detail-page ">
<div class="container">
<div class="article-preview-info">
<div class="article-preview-info__tags ">
<div class="tag article-preview-info__tag">
<a href="/media/code/"
class="tag-item programming">
Код </a>
</div>
</div>
<a class="info-hashtag article-preview-info__hashtag" href="/media/topic/articles/">
#статьи </a>
<ul class="info article-preview__info-box">
<li class="info-item"> <time class="info-text" datatime="#">17 фев 2023</time></li>
<li class="info-item hidden">
<span class="info-icon"><img src="/local/templates/media/images/icons/like.svg" alt=""></span>
<span class="info__text js-article-like-value">0</span>
</li>
</ul>
</div>
<div class="row">
<div class="top-section-detail-page__title-block col-xl-9 col-lg-10">
<div class="article-preview">
<h1 class="article-preview__title">Операторы в Java: для чего нужны и какие бывают</h1>
<p class="article-preview__description">Знакомимся с основными инструментами языка и учимся работать с ними на практике.</p>
</div>
</div>
</div>
</div>
</section>
<section data-article-text
data-articleId="214531"
data-courseId="3869"
>
<div class="container">
<noindex>
<div class="share" data-nosnippet>
<button class="share__handler-btn ">
<span class="share__handler-icon">
<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 4.99902L6 0V2.99805C2.688 2.99805 0 5.68505 0 8.99805V11.498H0.0980225C0.765022 8.91205 3.107 6.99805 5.901 6.99805H6.00098V9.99805L11 4.99902Z" fill="currentColor"/>
</svg>
</span>
<span class="share__handler-text">Поделиться</span>
</button>
<div class="share__list">
<a href="#" class="share__item" data-code="vk">
<span class="share__item-icon share__item-icon--vk">
<svg width="9" height="5" viewBox="0 0 9 5" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.04776 4.98054H4.53996C4.62377 4.97136 4.70279 4.9361 4.76621 4.87951C4.81226 4.81209 4.83594 4.73139 4.83369 4.64925C4.83369 4.64925 4.82574 3.94629 5.1314 3.84125C5.43701 3.73621 5.826 4.51998 6.23879 4.82297C6.39281 4.95308 6.59128 5.01558 6.79053 4.99669L7.89399 4.98054C7.89399 4.98054 8.47355 4.94415 8.19965 4.46339C7.98372 4.08315 7.70589 3.743 7.37799 3.45744C6.68338 2.77872 6.77865 2.8878 7.61219 1.71216C8.12024 0.997077 8.32269 0.556717 8.25918 0.370875C8.14651 0.254767 7.98299 0.205914 7.82655 0.241594L6.58018 0.249674C6.52565 0.241067 6.46984 0.251007 6.42141 0.277954C6.37298 0.314507 6.33466 0.363228 6.31025 0.419356C6.18259 0.772814 6.0287 1.11586 5.8498 1.44552C5.29807 2.43936 5.07579 2.49188 4.98451 2.43128C4.77416 2.28584 4.82574 1.85356 4.82574 1.54248C4.82574 0.580957 4.96468 0.176954 4.55979 0.0719133C4.36879 0.0254376 4.17259 0.00505841 3.97631 0.0113129C3.62834 -0.0214164 3.27745 0.017045 2.94429 0.124433C2.8014 0.197154 2.69423 0.358753 2.76171 0.370875C2.90334 0.385518 3.03406 0.454932 3.12688 0.564795C3.21268 0.750336 3.25481 0.953675 3.24993 1.15868C3.24993 1.15868 3.32535 2.29392 3.07925 2.43532C2.91254 2.53228 2.68232 2.33432 2.18616 1.4334C2.01958 1.11848 1.87243 0.793298 1.74557 0.459754C1.72231 0.404013 1.68704 0.354309 1.64236 0.314316C1.58589 0.272672 1.52066 0.245006 1.45184 0.233514L0.268986 0.241594C0.181167 0.241154 0.0958013 0.271066 0.0268587 0.326434C-0.00595087 0.396174 -0.00882613 0.476652 0.0189202 0.548633C0.0189202 0.548633 0.947737 2.83932 1.99563 3.99477C2.51 4.60651 3.2568 4.96526 4.04776 4.98054Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Vkontakte</span>
</a>
<a href="#" class="share__item" data-code="tw">
<span class="share__item-icon share__item-icon--tw">
<svg width="9" height="7" viewBox="0 0 9 7" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.52788 0.00144284V0H5.9158L6.05754 0.027414C6.15204 0.0452114 6.23783 0.068535 6.31491 0.0973918C6.39201 0.126249 6.46661 0.159917 6.53872 0.198391C6.61083 0.236864 6.67623 0.276066 6.73492 0.315982C6.79311 0.355422 6.84533 0.397265 6.89158 0.441509C6.93733 0.486237 7.0087 0.49778 7.10568 0.476138C7.20266 0.454495 7.3071 0.424433 7.419 0.38596C7.5309 0.347487 7.64156 0.304201 7.75097 0.256104C7.86039 0.208007 7.92703 0.177469 7.95091 0.164484C7.97428 0.151022 7.98671 0.143808 7.98821 0.142841L7.98969 0.140677L7.99715 0.13707L8.00461 0.133463L8.01207 0.129856L8.01953 0.126249L8.02102 0.124084L8.02326 0.122642L8.02551 0.121199L8.02699 0.119034L8.03445 0.11687L8.04191 0.115427L8.04043 0.126249L8.03818 0.13707L8.03445 0.147891L8.03072 0.158713L8.02699 0.165927L8.02326 0.173141L8.01953 0.183962C8.01705 0.191176 8.01456 0.200793 8.01207 0.212819C8.00959 0.224845 7.98596 0.272935 7.9412 0.357103C7.89644 0.441271 7.84049 0.526637 7.77335 0.613208C7.70621 0.699778 7.64604 0.765182 7.59283 0.809434C7.53911 0.854162 7.50355 0.885421 7.48614 0.903219C7.46874 0.921492 7.4476 0.938323 7.42273 0.953718L7.38543 0.977525L7.37797 0.981132L7.37051 0.984739L7.36902 0.986903L7.36678 0.988346L7.36454 0.989789L7.36305 0.991953L7.35559 0.99556L7.34813 0.999168L7.34664 1.00133L7.3444 1.00277L7.34216 1.00422L7.34067 1.00638L7.33918 1.00855L7.33694 1.00999L7.3347 1.01143L7.33321 1.0136H7.37051L7.57939 0.970311C7.71865 0.941454 7.85168 0.906588 7.9785 0.865705L8.17992 0.800777L8.2023 0.793563L8.21349 0.789956L8.22095 0.786348L8.22841 0.782741L8.23587 0.779134L8.24333 0.775527L8.25825 0.773363L8.27317 0.77192V0.786348L8.26944 0.787791L8.26571 0.789956L8.26423 0.79212L8.26198 0.793563L8.25974 0.795006L8.25825 0.79717L8.25677 0.799334L8.25452 0.800777L8.25228 0.80222L8.25079 0.804384L8.24931 0.806548L8.24706 0.807991L8.24333 0.815205L8.2396 0.82242L8.23736 0.823862C8.23637 0.825305 8.20479 0.866181 8.14262 0.946504C8.08046 1.0273 8.04689 1.06818 8.04191 1.06915C8.03694 1.07059 8.02997 1.0778 8.02102 1.09079C8.01257 1.10425 7.95985 1.15788 7.86287 1.25166C7.76589 1.34545 7.67091 1.42889 7.57791 1.502C7.48441 1.57558 7.43716 1.666 7.43616 1.77325C7.43467 1.88002 7.42895 2.00074 7.419 2.13541C7.40905 2.27007 7.3904 2.41555 7.36305 2.57186C7.3357 2.72817 7.29342 2.90492 7.23623 3.10211C7.17904 3.29929 7.10941 3.49168 7.02735 3.67925C6.94529 3.86681 6.8595 4.03514 6.76998 4.18424C6.68046 4.33334 6.5984 4.45958 6.5238 4.56299C6.4492 4.66639 6.37336 4.76378 6.29626 4.85516C6.21918 4.94654 6.12171 5.04947 6.00384 5.16393C5.88547 5.27791 5.82082 5.34044 5.80988 5.3515C5.79844 5.36208 5.74971 5.40152 5.66365 5.46981C5.57812 5.53858 5.48611 5.60736 5.38763 5.67614C5.28966 5.74443 5.19964 5.80143 5.11758 5.84711C5.03552 5.8928 4.93655 5.94498 4.82067 6.00366C4.70529 6.06282 4.58046 6.11765 4.44618 6.16815C4.3119 6.21865 4.17016 6.26554 4.02096 6.30882C3.87176 6.35211 3.72753 6.38578 3.58827 6.40982C3.44903 6.43387 3.29112 6.45431 3.11456 6.47114L2.84973 6.49639V6.5H2.36483V6.49639L2.30142 6.49279C2.25915 6.49038 2.22433 6.48797 2.19698 6.48557C2.16963 6.48317 2.06643 6.46994 1.88739 6.44589C1.70835 6.42185 1.56785 6.3978 1.4659 6.37375C1.36395 6.34971 1.21225 6.30401 1.01083 6.23668C0.809413 6.16935 0.637087 6.10129 0.493854 6.03252C0.351121 5.96422 0.261601 5.92094 0.225293 5.90266C0.189485 5.88487 0.149201 5.86275 0.10444 5.83629L0.0373001 5.79661L0.0358156 5.79445L0.0335701 5.79301L0.0313321 5.79156L0.0298401 5.7894L0.0223801 5.78579L0.0149201 5.78219L0.0134355 5.78002L0.01119 5.77858L0.00895204 5.77714L0.00746003 5.77497L0.00597548 5.77281L0.00373001 5.77137H0V5.75694L0.00746003 5.75838L0.0149201 5.76054L0.0484902 5.76415C0.0708703 5.76655 0.131796 5.77016 0.231261 5.77497C0.330733 5.77978 0.436412 5.77978 0.548312 5.77497C0.660213 5.77016 0.774605 5.75934 0.891474 5.74251C1.00835 5.72568 1.14636 5.69682 1.30551 5.65594C1.46466 5.61505 1.61087 5.56648 1.74416 5.51021C1.87695 5.45346 1.97144 5.41114 2.02764 5.38324C2.08334 5.35583 2.16838 5.30484 2.28277 5.2303L2.45435 5.11848L2.45584 5.11632L2.45808 5.11487L2.46033 5.11343L2.46181 5.11127L2.4633 5.1091L2.46554 5.10766L2.46779 5.10622L2.46927 5.10405L2.47673 5.10189L2.48419 5.10044L2.48568 5.09323L2.48792 5.08602L2.49017 5.08457L2.49165 5.08241L2.43197 5.0788C2.39219 5.0764 2.35364 5.07399 2.31634 5.07159C2.27904 5.06918 2.2206 5.05836 2.14103 5.03912C2.06146 5.01988 1.97567 4.99103 1.88366 4.95255C1.79165 4.91408 1.70213 4.86838 1.6151 4.81548C1.52807 4.76258 1.46515 4.71857 1.42636 4.68346C1.38807 4.64883 1.33833 4.59978 1.27716 4.53629C1.21648 4.47233 1.16376 4.40668 1.119 4.33934C1.07424 4.27202 1.03148 4.19433 0.990699 4.10633L0.928774 3.97503L0.925044 3.96421L0.921314 3.95339L0.919076 3.94617L0.917584 3.93896L0.928774 3.9404L0.939964 3.94256L1.02202 3.95339C1.07674 3.9606 1.16253 3.963 1.27939 3.9606C1.39627 3.9582 1.47709 3.95339 1.52185 3.94617C1.56661 3.93896 1.59396 3.93414 1.60391 3.93174L1.61883 3.92814L1.63748 3.92453L1.65613 3.92092L1.65762 3.91876L1.65986 3.91731L1.6621 3.91587L1.66359 3.91371L1.64867 3.9101L1.63375 3.90649L1.61883 3.90289L1.60391 3.89928L1.58899 3.89567C1.57904 3.89327 1.56164 3.88846 1.53677 3.88124C1.5119 3.87403 1.44476 3.84757 1.33535 3.80189C1.22594 3.7562 1.1389 3.71171 1.07424 3.66842C1.00943 3.62501 0.947626 3.57754 0.889235 3.5263C0.831047 3.47436 0.767145 3.40751 0.697513 3.32575C0.627888 3.24399 0.565724 3.149 0.511012 3.04079C0.456308 2.93257 0.415277 2.82917 0.387922 2.73058C0.360676 2.63256 0.3427 2.53235 0.334217 2.43119L0.320781 2.27969L0.328241 2.28113L0.335701 2.2833L0.343161 2.2869L0.350621 2.29051L0.358081 2.29412L0.365541 2.29772L0.481172 2.34822C0.558264 2.38189 0.653998 2.41075 0.768383 2.43479C0.882775 2.45884 0.951154 2.47207 0.973534 2.47447L1.0071 2.47808H1.07424L1.07276 2.47592L1.07051 2.47447L1.06828 2.47303L1.06678 2.47087L1.0653 2.4687L1.06305 2.46726L1.06082 2.46582L1.05932 2.46365L1.05186 2.46004L1.0444 2.45644L1.04292 2.45427L1.04067 2.45283L1.03844 2.45139L1.03694 2.44922L1.02948 2.44562L1.02202 2.44201L1.02054 2.43984C1.01905 2.43888 0.99766 2.42349 0.956376 2.39367C0.915592 2.36337 0.872823 2.32418 0.828063 2.27608C0.783303 2.22798 0.738543 2.17749 0.693783 2.12458C0.64894 2.07156 0.609 2.01483 0.574422 1.95505C0.539614 1.89493 0.502806 1.81846 0.464014 1.72564C0.425721 1.6333 0.396627 1.54023 0.376731 1.44645C0.356843 1.35266 0.345653 1.26008 0.343161 1.1687C0.340677 1.07732 0.343161 0.999168 0.350621 0.93424C0.358081 0.869312 0.373001 0.795965 0.395382 0.714206C0.417762 0.632448 0.450093 0.545877 0.492362 0.454495L0.555772 0.317425L0.559502 0.306604L0.563232 0.295782L0.565478 0.29434L0.566962 0.292175L0.568454 0.290011L0.570692 0.288568L0.572938 0.290011L0.574422 0.292175L0.575914 0.29434L0.578152 0.295782L0.580398 0.297225L0.581882 0.29939L0.583374 0.301554L0.585612 0.302997L0.589342 0.310211L0.593072 0.317425L0.595318 0.318868L0.596802 0.321032L0.697513 0.429245C0.764653 0.501387 0.844229 0.581948 0.936234 0.670921C1.02825 0.759894 1.07922 0.806065 1.08916 0.809434C1.09912 0.813279 1.11154 0.824338 1.12646 0.842619C1.14138 0.860417 1.19112 0.902981 1.27567 0.970311C1.36022 1.03764 1.47087 1.1158 1.60764 1.20477C1.74441 1.29375 1.89609 1.38152 2.0627 1.46809C2.22931 1.55466 2.40835 1.63281 2.59982 1.70255C2.7913 1.77229 2.92558 1.81798 3.00266 1.83962C3.07975 1.86127 3.21154 1.88892 3.39804 1.92259C3.58454 1.95625 3.72505 1.9779 3.81954 1.98751C3.91403 1.99713 3.97869 2.00266 4.0135 2.00411L4.06572 2.00555L4.06423 1.99473L4.06199 1.98391L4.04707 1.89373C4.03712 1.83361 4.03215 1.74944 4.03215 1.64123C4.03215 1.53302 4.04085 1.43322 4.05826 1.34184C4.07567 1.25046 4.10178 1.15788 4.13659 1.0641C4.1714 0.970311 4.20547 0.895038 4.23879 0.838291C4.27261 0.78202 4.31687 0.717814 4.37158 0.645671C4.42629 0.573529 4.49716 0.498985 4.58419 0.422031C4.67122 0.345077 4.77069 0.276542 4.88259 0.216426C4.99449 0.15631 5.09769 0.110615 5.19218 0.0793563C5.28668 0.0480971 5.36625 0.0276521 5.4309 0.0180355C5.49556 0.00841898 5.52788 0.00288568 5.52788 0.00144284Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Twitter</span>
</a>
<a href="#" class="share__item" data-code="tg">
<span class="share__item-icon share__item-icon--tg">
<svg width="10" height="7" viewBox="0 0 10 7" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.39589 3.04852C1.39589 3.04852 5.05491 1.51189 6.32392 0.9708C6.8104 0.754384 8.46012 0.0617918 8.46012 0.0617918C8.46012 0.0617918 9.22155 -0.241191 9.15809 0.494655C9.13692 0.797667 8.96773 1.85815 8.79854 3.00523C8.54472 4.62846 8.26976 6.40316 8.26976 6.40316C8.26976 6.40316 8.22746 6.90097 7.86791 6.98753C7.50836 7.0741 6.91613 6.68455 6.8104 6.59795C6.72577 6.53304 5.22411 5.5591 4.6742 5.08295C4.52614 4.9531 4.35695 4.6934 4.69533 4.39039C5.45676 3.67617 6.36622 2.78882 6.91613 2.2261C7.16995 1.96638 7.42374 1.36038 6.36622 2.09622C4.86456 3.15674 3.38403 4.15231 3.38403 4.15231C3.38403 4.15231 3.04561 4.36873 2.41111 4.17394C1.77657 3.97918 1.03631 3.71945 1.03631 3.71945C1.03631 3.71945 0.528726 3.39481 1.39589 3.04852Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Telegram</span>
</a>
<a href="#" class="share__item js-share-item-copy">
<span class="share__item-icon share__item-icon--copy">
<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.19922 5.40327C4.37217 5.63449 4.59283 5.8258 4.84622 5.96425C5.09962 6.10269 5.37982 6.18501 5.66783 6.20564C5.95584 6.22627 6.24492 6.18471 6.51546 6.08379C6.78599 5.98287 7.03166 5.82495 7.2358 5.62074L8.44399 4.41255C8.81079 4.03277 9.01375 3.52412 9.00917 2.99615C9.00458 2.46818 8.79281 1.96313 8.41946 1.58978C8.04611 1.21644 7.54106 1.00466 7.01309 1.00008C6.48512 0.995488 5.97647 1.19845 5.59669 1.56525L4.904 2.25392" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M5.81002 4.59658C5.63707 4.36536 5.41641 4.17404 5.16302 4.0356C4.90962 3.89716 4.62942 3.81483 4.34141 3.79421C4.0534 3.77358 3.76432 3.81514 3.49379 3.91605C3.22325 4.01697 2.97758 4.17489 2.77344 4.3791L1.56525 5.58729C1.19845 5.96707 0.995488 6.47572 1.00008 7.0037C1.00466 7.53167 1.21644 8.03672 1.58978 8.41006C1.96313 8.78341 2.46818 8.99518 2.99615 8.99977C3.52412 9.00436 4.03277 8.80139 4.41255 8.43459L5.10122 7.74592" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="share__item-text">Скопировать ссылку</span>
</a>
</div>
</div> <!-- //share -->
</noindex>
<div class="row">
<div class="col-xl-9 col-lg-8 col-poster">
<div class="article-poster">
<picture >
<img src="https://248006.selcdn.ru/main/iblock/de4/de47fe7be49f7f87f70f9edc7f1df253/577652deb03108dac7b0cf790c07e434.png" itemprop='image' class='hidden-xs' />
</picture> <picture >
<img src="https://248006.selcdn.ru/main/iblock/de4/de47fe7be49f7f87f70f9edc7f1df253/577652deb03108dac7b0cf790c07e434.png" itemprop='image' class='visible-xs' />
</picture> </div>
<noindex>
<p class="article-poster-text" data-nosnippet>
Иллюстрация: Оля Ежак для Skillbox Media </p>
</noindex>
</div>
<div class="col-xl-3 col-lg-4 col-author">
<div class="article-author">
<div class="article-author__image">
<a href="/media/authors/lev-sergeev/">
<img src="https://248006.selcdn.ru/main/iblock/975/97528927514d16b820ee7f44c1d1dfda/5c1efb11c80b4961a4dd7bf15ba78edc.png" alt="Лев Сергеев">
</a>
</div>
<div class="article-author__info">
<div class="article-author__name">
Лев Сергеев </div>
<div class="article-author__description">
Программист, музыкант. Знает Java, C# и Unity3D, но не собирается останавливаться на достигнутом. </div>
</div>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row flex-row-rev">
<div class="col-xl-3 col-lg-4 col-author">
<div class="js-article-banner" data-article-banner-mobile data-type="side_mounted" data-article-banner-sticky-start>
<!--AdFox START-->
<!--yandex_skillbox.media-->
<!--Площадка: Skillbox / Сквозной для застройщика Легенда / Боковой баннер сквозной для застройщика Легенда-->
<!--Категория: <не задана>-->
<!--Тип баннера: Media banner-->
<div id="adfox_176131540100027244"></div>
<script>
window.yaContextCb.push(()=>{
Ya.adfoxCode.create({
ownerId: 11649869,
containerId: 'adfox_176131540100027244',
params: {
p1: 'dkugb',
p2: 'p'
}
})
})
</script> </div>
<div class="js-article-banner" data-article-banner-mobile data-type="vertical" data-article-banner-sticky-end></div>
</div>
<div class="col-xl-9 col-lg-8 col-poster">
<div class="container container--setka">
<div class="js-article-banner" data-type="top"></div>
<div class="article-detail-text__setka" data-detail-text>
<div class="stk-post stk-layout_12col_18068 stk-theme_26309" data-stk="{"images":[{"id":49417,"alt":"","caption":""},{"id":49414,"alt":"","caption":""},{"id":49415,"alt":"","caption":""},{"id":49413,"alt":"","caption":""},{"id":49412,"alt":"","caption":""},{"id":49411,"alt":"","caption":""},{"id":49410,"alt":"","caption":""},{"id":49408,"alt":"","caption":""},{"id":49407,"alt":"","caption":""},{"id":49409,"alt":"","caption":""}]}" data-ui-id="post" data-ce-tag="post" data-reset-type="class" data-layout-type="auto" data-editor-version="3.2.8-rc1"><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><p class="stk-reset" data-ce-tag="paragraph">Все мы со школы знакомы с математическими знаками <strong class="stk-reset"><u class="stk-reset">+</u></strong> (<em class="stk-reset">плюс</em>), <strong class="stk-reset"><u class="stk-reset">–</u></strong> (<em class="stk-reset">минус</em>), <strong class="stk-reset"><u class="stk-reset">=</u></strong> (<em class="stk-reset">равно</em>) и так далее. В Java и других языках программирования эти символы называются операторами<em class="stk-reset">.</em> Они нужны для того, чтобы сообщить компилятору, какое действие совершать с <em class="stk-reset">операндами</em> — числами, строками, объектами и другими значениями по обе стороны оператора.</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img src="/upload/setka_images/09045616022023_5c20dcbcfbab07ab6c2df7e27444d5ac2afca569.png" data-image-id="49409" data-image-name="1.png" width="1540" height="870" loading="lazy" class="stk-image stk-reset"/></div><figcaption style="display:block" class="stk-reset stk-description" data-ce-tag="description"><em class="stk-reset">Скриншот: Лев Сергеев для Skillbox Media</em></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Например, на картинке выше <em class="stk-reset">оператор</em> <u class="stk-reset">+</u> говорит компилятору: «Сложи два числа». Но на практике чисел в выражении может быть разное количество — и одно, и два, и три. В этих случаях и операторы будут называться по-разному: <strong class="stk-reset">унарные</strong> — что-то делают с одним операндом, <strong class="stk-reset">бинарные</strong> — с двумя, и тернарные — с тремя.</p><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">В этой статье рассмотрим не только эти, но все основные виды операторов в Java:</p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a class="stk-reset" href="#stk-1">Присваивания</a></li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a class="stk-reset" href="#stk-2">Арифметические</a></li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a class="stk-reset" href="#stk-3">Унарные</a></li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a class="stk-reset" href="#stk-4">Сравнения</a></li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a class="stk-reset" href="#stk-5">Логические</a></li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a class="stk-reset" href="#stk-6">Тернарный</a></li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a class="stk-reset" href="#stk-7">Оператор instanceof</a></li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a class="stk-reset" href="#stk-8">Побитовые</a></li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a class="stk-reset" href="#stk-9">Составные операторы присваивания</a></li></ul><p class="stk-reset" data-ce-tag="paragraph">Ещё поговорим о <a class="stk-reset" href="#stk-10">приоритетах операторов</a> — разберёмся, в каком порядке они выполняются. Если вы хотите просто освежить в памяти суть работы разных операторов, можете сразу перейти к <a class="stk-reset" href="#stk-11">шпаргалке в конце статьи</a>.</p></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph" id="stk-1"><strong class="stk-reset">Оператор присваивания в Java</strong></h2><p class="stk-reset" data-ce-tag="paragraph">Оператор присваивания в Java — это знак <strong class="stk-reset"><u class="stk-reset">=</u></strong> (равно). Его задача — переложить значение переменной справа в переменную слева:</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img src="/upload/setka_images/09045516022023_278cadb5c5a600fd354bbb4a32acf34407bf98f0.png" data-image-id="49407" data-image-name="2.png" width="1540" height="866" loading="lazy" class="stk-image stk-reset"/></div><figcaption style="display:block" class="stk-reset stk-description" data-ce-tag="description"><em class="stk-reset">Скриншот: <em class="stk-reset">Лев Сергеев для Skillbox Media</em></em></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Вот как это выглядит в коде (в комментариях — разбор синтаксиса):</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">int</span> x = <span class="hljs-number" style="color: rgb(255, 115, 253);">1</span>; <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Объявляем числовую переменную 'x' со значением 1</span>
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">boolean</span> a, b; <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Объявляем логические переменные 'a' и 'b'</span>
a = b = <span class="hljs-keyword" style="color: rgb(150, 203, 254);">true</span>;</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Что происходит:</strong> значение <u class="stk-reset">true</u> присваивается переменной <u class="stk-reset">b</u>. В свою очередь, значение переменной <u class="stk-reset">b</u> присваивается переменной <u class="stk-reset">a</u>.</p></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph" id="stk-2"><strong class="stk-reset">Арифметические операторы в Java</strong></h2><p class="stk-reset" data-ce-tag="paragraph">Эти операторы выполняют простые арифметические действия: сложение, вычитание, умножение, деление и деление с остатком. Все арифметические операторы являются <em class="stk-reset">бинарными</em> — то есть работают только с двумя значениями.</p><h3 class="stk-theme_26309__style_medium_header stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Плюс: +</strong></h3><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Что делает:</strong> складывает два операнда.</p><p class="stk-reset" data-ce-tag="paragraph">Ещё этот оператор применяется при соединении двух строк в одну. Например, в Java можно выполнить выражение «Я люблю» + «Москву» и получить «Я люблю Москву». Такая операция в программировании называется конкатенацией.</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-comment" style="color: rgb(124, 124, 124);">// Сложение чисел</span>
System.out.println(<span class="hljs-number" style="color: rgb(255, 115, 253);">10</span> + <span class="hljs-number" style="color: rgb(255, 115, 253);">2</span>); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: 12</span>
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// Конкатенация строк</span>
System.out.println(<span class="hljs-string" style="color: rgb(168, 255, 96);">"A"</span> + <span class="hljs-string" style="color: rgb(168, 255, 96);">"B"</span>); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: AB</span>
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// Сложение двух переменных типа 'char' </span>
System.out.println(<span class="hljs-string" style="color: rgb(168, 255, 96);">'a'</span> + <span class="hljs-string" style="color: rgb(168, 255, 96);">'b'</span>); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: 195</span></pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><div class="stk-grid" data-ce-tag="grid" data-stk-css="stkyIbST"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><p class="stk-reset " data-ce-tag="paragraph">В Java типы данных <strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">char</strong>, <strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">byte</strong> и <strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">short</strong> при вычислениях неявно приводятся к типу <strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">int</strong> (целое число), поэтому с ними можно работать как с обычными числами. При этом тип данных <strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">char</strong> в Java отвечает за символы Unicode — каждый символ обозначает какое-то число. Например, символ <strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">a</strong> равен числу 97, а <strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">b</strong> — 98, поэтому в нашем примере и получилось значение 195.</p></div></div><h3 class="stk-theme_26309__style_medium_header stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Минус: −</strong></h3><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Что делает:</strong> вычитает из левого операнда правый.</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вычитание чисел</span>
System.out.println(<span class="hljs-number" style="color: rgb(255, 115, 253);">10</span> - <span class="hljs-number" style="color: rgb(255, 115, 253);">2</span>); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: 8</span></pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><h3 class="stk-theme_26309__style_medium_header stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Умножение: *</strong></h3><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Что делает:</strong> возвращает произведение операндов.</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-comment" style="color: rgb(124, 124, 124);">// Умножение чисел</span>
System.out.println(<span class="hljs-number" style="color: rgb(255, 115, 253);">10</span> * <span class="hljs-number" style="color: rgb(255, 115, 253);">2</span>); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: 20</span></pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><h3 class="stk-theme_26309__style_medium_header stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Деление: /</strong></h3><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Что делает:</strong> делит левый операнд на правый.</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-comment" style="color: rgb(124, 124, 124);">// Деление без остатка</span>
System.out.println(<span class="hljs-number" style="color: rgb(255, 115, 253);">10</span> / <span class="hljs-number" style="color: rgb(255, 115, 253);">2</span>); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: 5</span>
System.out.println(<span class="hljs-number" style="color: rgb(255, 115, 253);">11</span> / <span class="hljs-number" style="color: rgb(255, 115, 253);">2</span>); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: 5</span>
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// Деление на 'double' </span>
System.out.println(<span class="hljs-number" style="color: rgb(255, 115, 253);">11</span> / <span class="hljs-number" style="color: rgb(255, 115, 253);">2</span>d); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: 5.5</span></pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">А вот что будет, если попробовать поделить на ноль в Java:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">System.out.println(<span class="hljs-number" style="color: rgb(255, 115, 253);">10</span> / <span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Ошибка</span>
Вывод: Exception in thread <span class="hljs-string" style="color: rgb(168, 255, 96);">"main"</span> java.lang.ArithmeticException: / by zero</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Делить число на ноль нельзя! Программа завершится, выбросив исключение. Но если привести выражение к типу <u class="stk-reset">'double'</u> (число с плавающей запятой), то вы получите «бесконечность»:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">System.out.println(<span class="hljs-number" style="color: rgb(255, 115, 253);">10</span> / <span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>d); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: Infinity</span></pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><h3 class="stk-theme_26309__style_medium_header stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Деление с остатком (деление по модулю): %</strong></h3><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Что делает:</strong> возвращает остаток от деления.</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-comment" style="color: rgb(124, 124, 124);">// Деление чисел по модулю (получение остатка от деления)</span>
System.out.println(<span class="hljs-number" style="color: rgb(255, 115, 253);">10</span> % <span class="hljs-number" style="color: rgb(255, 115, 253);">2</span>); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: 0</span>
System.out.println(<span class="hljs-number" style="color: rgb(255, 115, 253);">11</span> % <span class="hljs-number" style="color: rgb(255, 115, 253);">2</span>); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: 1</span></pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph" id="stk-3"><strong class="stk-reset">Унарные операторы в Java</strong></h2><p class="stk-reset" data-ce-tag="paragraph">Эти операторы в Java тоже можно отнести к арифметическим, но есть нюанс — они работают только с одним<em class="stk-reset"> </em>операндом. Поэтому их и называют унарными.</p><h3 class="stk-theme_26309__style_medium_header stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Унарные плюс и минус: + и − </strong></h3><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Что делают:</strong> меняют значение числа на положительное или отрицательное.</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">int</span> positive = <span class="hljs-number" style="color: rgb(255, 115, 253);">1</span>;
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">int</span> negative = -<span class="hljs-number" style="color: rgb(255, 115, 253);">2</span>;
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// Унарный минус</span>
System.out.println(-positive); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: -1</span>
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// Унарный плюс</span>
System.out.println(+negative); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: 2</span></pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><h3 class="stk-theme_26309__style_medium_header stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Инкремент и декремент: ++ и −− </strong></h3><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Что делают:</strong> инкремент — увеличивает значение переменной на единицу, а декремент — уменьшает.</p><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">В свою очередь, у декремента и инкремента есть две формы: префиксная и постфиксная. Звучит сложно, но на деле всё просто:</p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">Префиксные</strong> операторы (++x) сразу меняют значение переменной и подставляют его в выражение.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">Постфиксные</strong> операторы (x++) делают наоборот — сначала используют старое значение переменной и только потом подставляют новое.</li></ul><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">int</span> a = <span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>, b = <span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>, c = <span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>, d = <span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>;
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// Префиксный инкремент/декремент</span>
System.out.println(++a); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: 1</span>
System.out.println(--b); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: -1</span>
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// Постфиксный (значение переменных изменится после вывода в консоль)</span>
System.out.println(c++); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: 0</span>
System.out.println(d--); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: 0</span></pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Инкременты и декременты часто используют в циклах в качестве счётчика, когда нужно по очереди вывести все числа в каком-то диапазоне:</p><div class="stk-grid" data-ce-tag="grid"><div data-col-width="6" class="stk-grid-col" data-ce-tag="grid-col"><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-comment" style="color: rgb(124, 124, 124);">/* Префиксный инкремент в цикле.
Сначала переменная i увеличивается на 1, а потом подставляется в цикл
*/</span>
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">int</span> i = <span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>;
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">while</span> (++i < <span class="hljs-number" style="color: rgb(255, 115, 253);">3</span>){
System.out.print(i);
}
Вывод: <span class="hljs-number" style="color: rgb(255, 115, 253);">12</span></pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure></div><div data-col-width="6" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-comment" style="color: rgb(124, 124, 124);">/* Постфиксный инкремент в цикле.
Сперва выполняется цикл c начальным значением i, и только потом i увеличивается на 1:*/</span>
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">int</span> i = <span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>;
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">while</span> (i++ < <span class="hljs-number" style="color: rgb(255, 115, 253);">3</span>){
System.out.print(i);
}
Вывод: <span class="hljs-number" style="color: rgb(255, 115, 253);">123</span></pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure></div></div><div class="stk-grid" data-ce-tag="grid" data-stk-css="stkRJvAl"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><p class="stk-reset " data-ce-tag="paragraph">Подробнее о декрементах и инкрементах можно почитать <a href="https://skillbox.ru/media/base/inkrement_i_dekrement_v_java/" target="_blank" class="stk-reset">в нашей статье</a> — рассказываем, как решать сложные выражения с этими операторами.</p></div></div><p class="stk-reset" data-ce-tag="paragraph">В Java есть ещё два унарных оператора: <u class="stk-reset">!</u> — логическое отрицание, и <u class="stk-reset">~</u> — побитовое отрицание, но их мы рассмотрим чуть позже, когда будем разбираться с логическими и побитовыми операторами.</p></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph" id="stk-4"><strong class="stk-reset">Операторы сравнения в Java</strong></h2><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Что делают:</strong> сравнивают два операнда и выясняют отношения между ними — что больше, что меньше, что чему равняется. При вычислении такие операторы возвращают значение типа <strong class="stk-reset">boolean</strong>:</p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">true</strong> (правда);</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">false</strong> (ложь).</li></ul><p class="stk-reset" data-ce-tag="paragraph">Всего в Java шесть операторов сравнения:</p><div class="stk-table-wrap"><table data-responsive-type="scroll" class="stk-table--zebra stk-reset stk-table" data-ce-tag="table"><colgroup><col class="stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset" data-stk-css="stkD6LPK" data-stk-id="102"/><col class="stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset" data-stk-css="stkYx1w2" data-stk-id="103"/></colgroup><thead class="stk-reset"><tr class="stk-reset stk-table-row"><th class="stk-reset stk-table-cell" data-ce-tag="th">Оператор</th><th class="stk-reset stk-table-cell" data-ce-tag="th">Что означает</th></tr></thead><tbody class="stk-reset"><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Оператор"><strong class="stk-reset">==</strong></td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Что означает">Равно</td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Оператор"><strong class="stk-reset">></strong></td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Что означает">Больше, чем</td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Оператор"><strong class="stk-reset"><</strong></td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Что означает">Меньше, чем</td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Оператор"><strong class="stk-reset">>=</strong></td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Что означает">Больше или равно</td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Оператор"><strong class="stk-reset"><=</strong></td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Что означает">Меньше или равно</td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Оператор"><strong class="stk-reset">!=</strong></td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Что означает">Не равно</td></tr></tbody></table></div><p class="stk-reset" data-ce-tag="paragraph">Давайте посмотрим, как выглядят операторы сравнения в коде — попробуем сравнить два целых числа и вывести результаты на экран:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-comment" style="color: rgb(124, 124, 124);">// В этом примере мы спрашиваем, равен ли ноль единице: </span>
System.out.println(<span class="hljs-number" style="color: rgb(255, 115, 253);">1</span> == <span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: false (ложь)</span>
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// А здесь — больше ли единица, чем ноль:</span>
System.out.println(<span class="hljs-number" style="color: rgb(255, 115, 253);">1</span> > <span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: true (правда)</span>
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// Единица меньше или равна нулю?</span>
System.out.println(<span class="hljs-number" style="color: rgb(255, 115, 253);">1</span> <= <span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: false (ложь)</span></pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Ещё операторы сравнения часто используют в условных конструкциях. Это когда, в зависимости от условий, выполняется какой-то один блок кода. В этом случае, помимо операторов сравнения, нам понадобятся операторы ветвления: <u class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">if-else</u>, <u class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">switch</u> и так далее. Например, здесь мы просим Java напечатать слово <u class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">true</u>, если <u class="stk-reset">1</u> не равно <u class="stk-reset">0</u>:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-comment" style="color: rgb(124, 124, 124);">// Если '1' не равно '0', то напечатать "true"</span>
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">if</span>(<span class="hljs-number" style="color: rgb(255, 115, 253);">1</span> != <span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>) System.out.println(<span class="hljs-string" style="color: rgb(168, 255, 96);">"true"</span>); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: true</span></pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Подробнее об операторах сравнения и условных конструкциях можно почитать <a href="https://skillbox.ru/media/base/tip_boolean_i_operatory_sravneniya_v_java/" target="_blank" class="stk-reset">в этой статье</a>.</p></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph" id="stk-5"><strong class="stk-reset">Логические операторы в Java: Boolean</strong></h2><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Что делают:</strong> комбинируют логические значения типа <u class="stk-reset">true</u> и <u class="stk-reset">false</u>.</p><p class="stk-reset" data-ce-tag="paragraph">В отличие от операторов сравнения, логические операторы работают не с отдельными числами, а с результатами выражений. Их часто используют в условных конструкциях — например, можно поставить рядом два выражения и выполнить какой-то блок кода, если одно из них возвращает <u class="stk-reset">true</u>.</p><p class="stk-reset" data-ce-tag="paragraph">Всего в Java шесть логических операторов, но чаще всего используют эти четыре:</p><div class="stk-table-wrap"><table data-responsive-type="scroll" class="stk-table--zebra stk-reset stk-table" data-ce-tag="table"><colgroup><col class="stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset" data-stk-css="stk8ulUx" data-stk-id="139"/><col class="stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset" data-stk-css="stkUfWmK" data-stk-id="140"/><col class="stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset" data-stk-css="stkpeJ5z" data-stk-id="141"/></colgroup><thead class="stk-reset"><tr class="stk-reset stk-table-row"><th class="stk-reset stk-table-cell" data-ce-tag="th">Символ</th><th class="stk-reset stk-table-cell" data-ce-tag="th">Логический оператор</th><th class="stk-reset stk-table-cell" data-ce-tag="th">Что означает</th></tr></thead><tbody class="stk-reset"><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Символ"><strong class="stk-reset">&&</strong></td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Логический оператор">И (AND)</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Что означает">Возвращает <em class="stk-reset"><u class="stk-reset">true</u></em>, когда оба операнда <em class="stk-reset"><u class="stk-reset">true</u></em>.</td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Символ"><strong class="stk-reset">||</strong></td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Логический оператор">ИЛИ (OR)</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Что означает">Возвращает <em class="stk-reset"><u class="stk-reset">true</u></em>, когда хотя бы один операнд — <em class="stk-reset"><u class="stk-reset">true</u></em>.</td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Символ"><strong class="stk-reset">^</strong></td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Логический оператор">ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR)</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Что означает">Возвращает <em class="stk-reset"><u class="stk-reset">true</u></em>, когда один операнд <em class="stk-reset"><u class="stk-reset">true</u></em>, а второй — <em class="stk-reset"><u class="stk-reset">false</u></em>.</td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Символ"><strong class="stk-reset">!</strong></td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Логический оператор">НЕ (NOT)</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Что означает">Инвертирует <em class="stk-reset"><u class="stk-reset">true</u></em> в <em class="stk-reset"><u class="stk-reset">false</u></em> и наоборот. Это унарный оператор — он работает только с каким-то одним выражением.</td></tr></tbody></table></div><p class="stk-reset" data-ce-tag="paragraph">В качестве примера сравним несколько выражений:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-comment" style="color: rgb(124, 124, 124);">// AND — логическое умножение</span>
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">boolean</span> a = (<span class="hljs-number" style="color: rgb(255, 115, 253);">6</span> > <span class="hljs-number" style="color: rgb(255, 115, 253);">5</span>) && (<span class="hljs-number" style="color: rgb(255, 115, 253);">7</span> > <span class="hljs-number" style="color: rgb(255, 115, 253);">4</span>);
System.out.println(a);
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// Результат: true, так как оба выражения true</span>
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// OR — логическое сложение</span>
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">boolean</span> b = (<span class="hljs-number" style="color: rgb(255, 115, 253);">6</span> > <span class="hljs-number" style="color: rgb(255, 115, 253);">5</span>) || (<span class="hljs-number" style="color: rgb(255, 115, 253);">7</span> > <span class="hljs-number" style="color: rgb(255, 115, 253);">4</span>);
System.out.println(b);
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// Результат: true, так как одно из выражений true</span>
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// XOR — логическое вычитание</span>
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">boolean</span> c = (<span class="hljs-number" style="color: rgb(255, 115, 253);">6</span> > <span class="hljs-number" style="color: rgb(255, 115, 253);">8</span>) ^ (<span class="hljs-number" style="color: rgb(255, 115, 253);">6</span> > <span class="hljs-number" style="color: rgb(255, 115, 253);">7</span>);
System.out.println(c);
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// Результат: false, так как оба выражения — false</span>
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// NOT — логическое отрицание</span>
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">boolean</span> d = (<span class="hljs-number" style="color: rgb(255, 115, 253);">6</span> > <span class="hljs-number" style="color: rgb(255, 115, 253);">5</span>);
System.out.println(!d);
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// Результат: false, так как изначальное выражение — true</span></pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Как это работает.</strong> Допустим, у нас есть конструкция <u class="stk-reset">(6 > 5) && (7 > 4)</u>. Когда мы начнём её выполнять, компилятор сначала проверит условия первого выражения, затем — второго. При этом оператор <u class="stk-reset">&&</u> устроен так, что если оба выражения истинны, то он и сам вернёт <u class="stk-reset">true</u>. А это как раз наш случай, потому что и 6 больше 5, и 7 больше 4.</p><div class="stk-grid__layout_reverse stk-grid" data-stk-css="stkghwG_" data-ce-tag="grid"><div data-col-width="4" class="stk-grid-col valign-middle stk-grid-col_last" data-ce-tag="grid-col" data-stk-css="" data-stk-css-m=""><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img src="/upload/setka_images/09165716022023_b9ead331dd32dc217902662bedebf0771737fa47.PNG" data-image-id="49411" data-image-name="321.PNG" class="stk-image stk-reset" width="636" height="318" loading="lazy"/></div></figure></div><div data-col-width="8" class="stk-grid-col" data-ce-tag="grid-col"><p class="stk-reset stk-theme_26309__mb_05 stk-theme_26309__style_font_style-1629726727970" data-ce-tag="paragraph">Читайте также:</p><p class="stk-theme_26309__mb_15 stk-reset stk-theme_26309__style_font_style-1629786048064 stk-theme_26309__style_font_style-1629290372003 stk-theme_26309__color_26309_custom_color_1 article_incut" data-ce-tag="paragraph"><a href="https://skillbox.ru/media/base/logicheskie_operatory_v_java/" target="_blank" class="stk-reset">Логические операторы в Java</a></p></div></div></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph" id="stk-6"><strong class="stk-reset">Тернарный оператор в Java: можно, только осторожно</strong></h2><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Что делает:</strong> сокращает условную конструкцию <u class="stk-reset">if-else</u> до одной строчки.</p><p class="stk-reset" data-ce-tag="paragraph">Тернарный оператор (от латинского слова <em class="stk-reset">ternarius</em> — «<em class="stk-reset">тройной</em>») — это языковая конструкция, которая состоит из <em class="stk-reset">трёх</em> операндов: логического условия и двух выражений. Если результат логического условия будет <em class="stk-reset"><u class="stk-reset">true</u></em>, выполнится первое выражение, если <em class="stk-reset"><u class="stk-reset">false</u></em> — второе. Записываются тернарные операторы так:</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img src="/upload/setka_images/09045516022023_bd473197c461193ea9b6d317f4c236910d065887.png" data-image-id="49408" data-image-name="3.png" width="1540" height="682" loading="lazy" class="stk-image stk-reset"/></div><figcaption style="display:block" class="stk-reset stk-description" data-ce-tag="description"><em class="stk-reset">Скриншот: <em class="stk-reset">Лев Сергеев для Skillbox Media</em></em></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Фишка в том, что таким образом мы можем записать конструкцию <u class="stk-reset">if-else</u> всего одной строчкой. Допустим, нам нужно проверить булеву переменную <u class="stk-reset">condition</u> — если она возвращает <u class="stk-reset">true</u>, то переменная <u class="stk-reset">a</u> = 100, а если <u class="stk-reset">false</u>, то <u class="stk-reset">a</u> = 200. Посмотрите, как легко это можно сделать с помощью тернарного оператора:</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img src="/upload/setka_images/09045616022023_e3039f248dd555899a396179b51a05be377f9973.png" data-image-id="49410" data-image-name="4.png" width="1540" height="638" loading="lazy" class="stk-image stk-reset"/></div><figcaption style="display:block" class="stk-reset stk-description" data-ce-tag="description">Слева — классическая конструкция if-else, справа — запись с помощью тернарного оператора<br><em class="stk-reset">Скриншот: <em class="stk-reset">Лев Сергеев для Skillbox Media</em></em></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Кажется, что эти <u class="stk-reset">if-else</u> теперь вообще больше не нужны. Мол, ставь везде тернарные операторы, и дело с концом. Однако в больших программах со сложной логикой это может повредить читаемости кода. Это в нашем примере выражение простое — а представьте, если в каждое выражение положить ещё по одному оператору. Получится неопрятно. Другому разработчику, который будет читать наш код, разобраться будет сложно.</p><p class="stk-reset" data-ce-tag="paragraph">Поэтому тернарные операторы рекомендуют использовать в тех случаях, когда условие простое и легко проверяется. А во всех остальных случаях прибегать к привычным «ифам» и «элсам».</p><div class="stk-grid" data-ce-tag="grid" data-stk-css="stks8HqI"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><p class="stk-reset " data-ce-tag="paragraph">Подробно о том, как работать с тернарными операторами, мы рассказывали в статье: «<a href="https://skillbox.ru/media/base/tip_boolean_i_operatory_sravneniya_v_java/" target="_blank" class="stk-reset"><em class="stk-reset">Тип Boolean и операторы сравнения в Java</em></a>».</p></div></div></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph" id="stk-7"><strong class="stk-reset">Оператор instanceof в Java</strong></h2><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Что делает:</strong> проверяет, принадлежит ли объект к какому-то классу или интерфейсу, и возвращает булево значение — то есть <u class="stk-reset">true</u> или <u class="stk-reset">false</u>.</p><p class="stk-reset" data-ce-tag="paragraph">Использование <u class="stk-reset">instanceof</u> актуально, когда нужно проверить родителя объекта прямо во время выполнения программы. Например, если объекты приходят в ваш код из базы данных или другого потока выполнения и вам нужно убедиться, что к ним можно применять методы какого-то класса. Записывается <u class="stk-reset">instanceof</u> так:</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img src="/upload/setka_images/09200616022023_ee673444daa2c4c150863fb4fe2e59385df85324.png" data-image-id="49412" data-image-name="5.png" width="1540" height="303" loading="lazy" class="stk-image stk-reset"/></div><figcaption style="display:block" class="stk-reset stk-description" data-ce-tag="description"><em class="stk-reset">Скриншот: <em class="stk-reset">Лев Сергеев для Skillbox Media</em></em></figcaption></figure><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">import</span> java.io.Serializable;
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">public</span> <span class="hljs-class"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">class</span> <span class="hljs-title" style="color: rgb(255, 255, 182);">Main</span> </span>{
<span class="hljs-function"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">public</span> <span class="hljs-keyword" style="color: rgb(150, 203, 254);">static</span> <span class="hljs-keyword" style="color: rgb(150, 203, 254);">void</span> <span class="hljs-title" style="color: rgb(255, 255, 182);">main</span><span class="hljs-params">(String[] args)</span> </span>{
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// Объявляем ссылку типа 'Object' и кладём объект типа 'String'</span>
Object object = <span class="hljs-keyword" style="color: rgb(150, 203, 254);">new</span> String();
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// 'true', так как в 'object' лежит объект 'String'</span>
System.out.println(object <span class="hljs-keyword" style="color: rgb(150, 203, 254);">instanceof</span> String);
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// 'true', так как 'object' наследник 'Object'</span>
System.out.println(object <span class="hljs-keyword" style="color: rgb(150, 203, 254);">instanceof</span> Object);
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// 'false', так как 'object' не принадлежит классу 'Math'</span>
System.out.println(object <span class="hljs-keyword" style="color: rgb(150, 203, 254);">instanceof</span> Math);
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// 'true', так как в 'object' лежит объект 'String',</span>
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// а 'String' реализует интерфейс 'Serializable'</span>
System.out.println(object <span class="hljs-keyword" style="color: rgb(150, 203, 254);">instanceof</span> Serializable);
}
}</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph" id="stk-8"><strong class="stk-reset">Побитовые операторы в Java и смещение битов</strong></h2><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Зачем нужны:</strong> чтобы писать алгоритмы, работающие с битами, — например, это полезно в криптографии и шифровании данных.</p><p class="stk-reset" data-ce-tag="paragraph">В Java существует семь <em class="stk-reset">побитовых операторов</em>. Четыре из них отвечают за побитовые вычисления. Они похожи на <em class="stk-reset">логические</em> операции, только вместо <em class="stk-reset"><u class="stk-reset">true</u></em> и <em class="stk-reset"><u class="stk-reset">false</u></em> вы имеете дело с <strong class="stk-reset">нулями</strong><em class="stk-reset"> и</em> <strong class="stk-reset">единицами</strong> в двоичной системе счисления. Каждый разряд вычисляется поочерёдно — но в отличие от математики, когда складываются две единицы, результат не переносится на старший разряд и ответом будет <u class="stk-reset">1</u>. Это как если бы мы считали столбиком, а всё, что «в уме», — выкидывали.</p><p class="stk-reset" data-ce-tag="paragraph">Выглядит так:</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img src="/upload/setka_images/09220516022023_a3e9b924b0c79cb7169afa563a255fa0a5b1cadd.png" data-image-id="49413" data-image-name="6.png" width="1540" height="1155" loading="lazy" class="stk-image stk-reset"/></div><figcaption style="display:block" class="stk-reset stk-description" data-ce-tag="description"><em class="stk-reset">Скриншот: <em class="stk-reset">Лев Сергеев для Skillbox Media</em></em></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Побитовые операторы вычисления бывают следующими:</p><div class="stk-table-wrap"><table data-responsive-type="scroll" class="stk-table--zebra stk-reset stk-table" data-ce-tag="table"><colgroup><col class="stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset" data-stk-css="stkhKaIY" data-stk-id="206"/><col class="stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset" data-stk-css="stkydHQ-" data-stk-id="207"/></colgroup><thead class="stk-reset"><tr class="stk-reset stk-table-row"><th class="stk-reset stk-table-cell" data-ce-tag="th">Символ</th><th class="stk-reset stk-table-cell" data-ce-tag="th">Что означает</th></tr></thead><tbody class="stk-reset"><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Символ"><strong class="stk-reset">&</strong></td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Что означает">Побитовое И (AND) — умножение</td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Символ"><strong class="stk-reset">|</strong></td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Что означает">Побитовое ИЛИ (OR) — сложение</td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Символ"><strong class="stk-reset">^</strong></td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Что означает">Побитовое ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR) — вычитание</td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Символ"><strong class="stk-reset">~</strong></td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Что означает">Побитовое НЕ (NOT) — отрицание</td></tr></tbody></table></div><p class="stk-reset" data-ce-tag="paragraph">Чтобы посмотреть, как работают побитовые вычисления в Java, переведём несколько десятичных чисел в двоичную систему счисления:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-comment" style="color: rgb(124, 124, 124);">// Переводим числа от 1 до 8 в двоичную систему</span>
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// 1 = 001 5 = 101</span>
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// 2 = 010 6 = 110</span>
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// 3 = 011 7 = 111</span>
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// 4 = 100 8 = 1000</span></pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Теперь попробуем выполнить с ними логические операции:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-comment" style="color: rgb(124, 124, 124);">// 100 побитово умножить на 011 = 000</span>
System.out.println(<span class="hljs-number" style="color: rgb(255, 115, 253);">4</span> & <span class="hljs-number" style="color: rgb(255, 115, 253);">3</span>); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: 0</span>
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// 010 побитово сложить с 011 = 011</span>
System.out.println(<span class="hljs-number" style="color: rgb(255, 115, 253);">2</span> | <span class="hljs-number" style="color: rgb(255, 115, 253);">3</span>); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: 3</span>
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// из 010 побитово вычесть 001 = 011</span>
System.out.println(<span class="hljs-number" style="color: rgb(255, 115, 253);">2</span> ^ <span class="hljs-number" style="color: rgb(255, 115, 253);">1</span>); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: 3</span>
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// 000 инвертировать в ... 111 ? </span>
System.out.println(~<span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Вывод: -1</span></pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">В последнем примере мы видим, что при побитовом отрицании числа <u class="stk-reset">0</u>, почему-то получается <u class="stk-reset">-1</u>. Тут есть два нюанса:</p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">0</u> в нашем примере имеет тип <u class="stk-reset">int</u> и занимает в памяти <strong class="stk-reset">4 байта</strong> — то есть <strong class="stk-reset">32 бита</strong>.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item">Самый <em class="stk-reset">старший бит</em> переменной (первый слева) является <em class="stk-reset">знаковым</em>. Если он равен <u class="stk-reset">0</u>, то число будет <em class="stk-reset">положительным</em>, а если <u class="stk-reset">1</u> — <em class="stk-reset">отрицательным</em>.</li></ul><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img src="/upload/setka_images/09220516022023_cae856732bd4226855875d839121e46dd85999a9.png" data-image-id="49415" data-image-name="7.png" width="1540" height="436" loading="lazy" class="stk-image stk-reset"/></div><figcaption style="display:block" class="stk-reset stk-description" data-ce-tag="description"><em class="stk-reset">Скриншот: <em class="stk-reset">Лев Сергеев для Skillbox Media</em></em></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Если разобраться в концепции старшего бита, можно без труда освоить три оставшихся побитовых оператора, которые называются операторами <em class="stk-reset">смещения битов:</em></p><div class="stk-table-wrap"><table data-responsive-type="scroll" class="stk-table--zebra stk-reset stk-table" data-ce-tag="table"><colgroup><col class="stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset" data-stk-css="stk7oZrd" data-stk-id="237"/><col class="stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset" data-stk-css="stkXTA9z" data-stk-id="238"/></colgroup><thead class="stk-reset"><tr class="stk-reset stk-table-row"><th class="stk-reset stk-table-cell" data-ce-tag="th">Символ</th><th class="stk-reset stk-table-cell" data-ce-tag="th">Что означает</th></tr></thead><tbody class="stk-reset"><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Символ"><strong class="stk-reset"><<</strong></td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Что означает">Сдвиг битов влево</td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Символ"><strong class="stk-reset">>></strong></td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Что означает">Сдвиг битов вправо</td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Символ"><strong class="stk-reset">>><strong class="stk-reset">></strong></strong></td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Что означает"><em class="stk-reset">Беззнаковый</em> сдвиг битов вправо</td></tr></tbody></table></div><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><em class="stk-reset">Операторы сдвига</em> смещают все биты в левую или правую сторону, но делают это по-разному:</p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">>></u> не трогает старший бит, оставляя число с тем же знаком (отрицательным или положительным). Ячейки отрицательных чисел при <u class="stk-reset">>></u> заполняются единицами.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">>>></u> и <u class="stk-reset"><<</u> — затрагивают все биты. Освободившиеся ячейки справа заполняются нулями. Наполнение ячеек слева зависит от знака и оператора.</li></ul><p class="stk-reset" data-ce-tag="paragraph">Звучит сложно, на деле — тоже сложно. Но попробуем разобраться на примере — разложим какое-то десятичное число на биты и посмотрим, как работает смещение битов.</p><p class="stk-reset" data-ce-tag="paragraph">В Java есть метод <u class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">toBinaryString()</u>, который показывает, как выглядят десятичные числа в двоичной системе. Но двоичные числа — это ещё не биты. Например, число <strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">2</strong> занимает <strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">32</strong> бита, но если обработать его методом <u class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">toBinaryString()</u>, на экране появятся только два из них: <u class="stk-reset">1</u> и <u class="stk-reset">0</u>. Оставшиеся 30 нулей просто «обрезаются». Это происходит по той же причине, по которой мы, например, не пишем десятичное число 9 как 009.</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">System.out.print(Integer.toBinaryString(<span class="hljs-number" style="color: rgb(255, 115, 253);">2</span>));
Вывод: <span class="hljs-number" style="color: rgb(255, 115, 253);">10</span></pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Поэтому, чтобы лучше разобраться в работе побитовых операторов, лучше использовать модифицированный метод <u class="stk-reset">BinaryString</u>, который раскладывает на биты уже так, как надо:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-comment" style="color: rgb(124, 124, 124);">// Метод добавляет к бинарному значению все недостающие биты и выводит их на экран</span>
<span class="hljs-function"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">public</span> <span class="hljs-keyword" style="color: rgb(150, 203, 254);">static</span> <span class="hljs-keyword" style="color: rgb(150, 203, 254);">void</span> <span class="hljs-title" style="color: rgb(255, 255, 182);">printBinaryString</span><span class="hljs-params">(<span class="hljs-keyword" style="color: rgb(150, 203, 254);">int</span> hexNumber)</span></span>{
String bits = Integer.toBinaryString(hexNumber);
String allBits = <span class="hljs-string" style="color: rgb(168, 255, 96);">"00000000000000000000000000000000"</span>
.substring(<span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>, <span class="hljs-number" style="color: rgb(255, 115, 253);">32</span> - bits.length()) + bits;
System.out.printf(<span class="hljs-string" style="color: rgb(168, 255, 96);">"%11d : %s\n"</span>, hexNumber, allBits);
}</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Сдвинув биты числа <u class="stk-reset">1</u> два раза влево, мы получаем <u class="stk-reset">4</u>. А если потом сдвинуть их ещё 29 раз, получится минимальное значение типа <u class="stk-reset">int</u>: –2 147 483 648.</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">printBinaryString(<span class="hljs-number" style="color: rgb(255, 115, 253);">1</span>);
printBinaryString(<span class="hljs-number" style="color: rgb(255, 115, 253);">1</span> << <span class="hljs-number" style="color: rgb(255, 115, 253);">2</span>); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Смещаем биты числа '1' влево на 2 позиции</span>
printBinaryString(<span class="hljs-number" style="color: rgb(255, 115, 253);">4</span> << <span class="hljs-number" style="color: rgb(255, 115, 253);">29</span>); <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Смещаем биты числа '4' влево на 29 позиций</span>
Вывод: <span class="hljs-number" style="color: rgb(255, 115, 253);">1</span> : <span class="hljs-number" style="color: rgb(255, 115, 253);">00000000000000000000000000000001</span>
<span class="hljs-number" style="color: rgb(255, 115, 253);">4</span> : <span class="hljs-number" style="color: rgb(255, 115, 253);">00000000000000000000000000000100</span>
-<span class="hljs-number" style="color: rgb(255, 115, 253);">2147483648</span> : <span class="hljs-number" style="color: rgb(255, 115, 253);">10000000000000000000000000000000</span></pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Теперь попробуем сдвинуть наши биты уже в обратную сторону. Обратите внимание, как различается работа <u class="stk-reset">>></u> и <u class="stk-reset">>>></u>. В первом случае всё заполнится единицами и вы получите минусовое значение, а во втором на выходе будут просто нули.</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">printBinaryString(Integer.MIN_VALUE);
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// Смещаем биты числа '-2147483648' вправо на 16</span>
printBinaryString(Integer.MIN_VALUE >> <span class="hljs-number" style="color: rgb(255, 115, 253);">16</span>);
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// Беззнаковое смещение битов числа '-2147483648' вправо на 16</span>
printBinaryString(Integer.MIN_VALUE >>> <span class="hljs-number" style="color: rgb(255, 115, 253);">16</span>);
Вывод: -<span class="hljs-number" style="color: rgb(255, 115, 253);">2147483648</span> : <span class="hljs-number" style="color: rgb(255, 115, 253);">10000000000000000000000000000000</span>
-<span class="hljs-number" style="color: rgb(255, 115, 253);">32768</span> : <span class="hljs-number" style="color: rgb(255, 115, 253);">11111111111111111000000000000000</span>
<span class="hljs-number" style="color: rgb(255, 115, 253);">32768</span> : <span class="hljs-number" style="color: rgb(255, 115, 253);">00000000000000001000000000000000</span></pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Как это работает.</strong> С помощью операторов <u class="stk-reset">>></u> и <u class="stk-reset">>>></u> мы сдвигаем все биты числа вправо. Но при обычном сдвиге (<u class="stk-reset">>></u>) отрицательное число остаётся отрицательным, потому что мы не трогаем старший бит. При беззнаковом сдвиге (<u class="stk-reset">>>></u>) наоборот — отрицательное станет положительным, потому что мы затронем эту значимую единицу.</p></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph" id="stk-9"><strong class="stk-reset">Составные операторы присваивания в Java</strong></h2><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Зачем нужны:</strong> чтобы записывать выражения короче и автоматически приводить операнды к единому типу.</p><p class="stk-reset" data-ce-tag="paragraph">В Java есть сокращённые формы операторов присваивания — составные. Такие операторы выполняют действие между <strong class="stk-reset">x</strong> и <strong class="stk-reset">y</strong>, а получившееся значение помещают в <strong class="stk-reset">x</strong>. Выглядят составные операторы так:</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img src="/upload/setka_images/09484116022023_dfaaeed694eae97c85b434d102c0fe199eb9c461.png" data-image-id="49417" data-image-name="0.png" width="3080" height="1732" loading="lazy" class="stk-image stk-reset"/></div><figcaption style="display:block" class="stk-reset stk-description" data-ce-tag="description"><em class="stk-reset">Скриншот: <em class="stk-reset">Лев Сергеев для Skillbox Media</em></em></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Плюс составных операторов в том, что они записываются короче и неявно приводят переменные к одному типу, если эти типы различаются. Например, в сокращённом варианте можно сложить дроби и числа без приведения, и нам за это ничего не будет. А в полной записи будет ошибка:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">int</span> x = <span class="hljs-number" style="color: rgb(255, 115, 253);">1</span>;
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">double</span> y = <span class="hljs-number" style="color: rgb(255, 115, 253);">3.1415</span>d;
x = x + y; <span class="hljs-comment" style="color: rgb(124, 124, 124);">// Эта строка не скомпилируется</span>
x += y; <span class="hljs-comment" style="color: rgb(124, 124, 124);">// А здесь всё хорошо</span>
<span class="hljs-comment" style="color: rgb(124, 124, 124);">// Оператор += в развёрнутом виде</span>
x = (<span class="hljs-keyword" style="color: rgb(150, 203, 254);">int</span>)(x + y); </pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-theme_26309__style_large_header stk-reset" data-ce-tag="paragraph" id="stk-10"><strong class="stk-reset">Приоритеты операторов Java</strong></h2><p class="stk-reset" data-ce-tag="paragraph">У каждого оператора Java есть свой приоритет. Чем он выше, тем раньше оператор выполнится в выражении. Бинарные и тернарный операторы (кроме присваивания) выполняются слева направо, а остальные (унарные и присваивания) — справа налево.</p><div class="stk-table-wrap"><table data-responsive-type="scroll" class="stk-table--zebra stk-reset stk-table" data-ce-tag="table"><colgroup><col class="stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset" data-stk-css="stkl6hmJ" data-stk-id="284"/><col class="stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset" data-stk-css="stkqtFn6" data-stk-id="285"/><col class="stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset" data-stk-css="stkI6cNc" data-stk-id="286"/></colgroup><thead class="stk-reset"><tr class="stk-reset stk-table-row"><th class="stk-reset stk-table-cell" data-ce-tag="th"><strong class="stk-reset">Приоритет</strong><br><strong class="stk-reset">(снизу вверх)</strong></th><th class="stk-reset stk-table-cell" data-ce-tag="th">Группа</th><th class="stk-reset stk-table-cell" data-ce-tag="th">Операторы</th></tr></thead><tbody class="stk-reset"><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Приоритет(снизу вверх)">13</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Группа">Постфиксные</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Операторы"><u class="stk-reset">x++</u> <u class="stk-reset">x––</u></td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Приоритет(снизу вверх)">12</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Группа">Унарные</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Операторы"><u class="stk-reset">++x</u> <u class="stk-reset">––x</u> <u class="stk-reset">+x</u> <u class="stk-reset">–x</u> <u class="stk-reset">~x</u> <u class="stk-reset">!x</u></td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Приоритет(снизу вверх)">11</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Группа">Мультипликативные</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Операторы"><u class="stk-reset">*</u> <u class="stk-reset">/</u> <u class="stk-reset">%</u></td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Приоритет(снизу вверх)">10</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Группа">Аддитивные</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Операторы"><u class="stk-reset">+</u> <u class="stk-reset">-</u></td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Приоритет(снизу вверх)">9</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Группа">Сдвига битов</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Операторы"><u class="stk-reset"><<</u> <u class="stk-reset">>></u> <u class="stk-reset">>>></u></td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Приоритет(снизу вверх)">8</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Группа">Сравнения</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Операторы"><u class="stk-reset"><</u> <u class="stk-reset">></u> <u class="stk-reset"><=</u> <u class="stk-reset">>=</u> <u class="stk-reset">instanceof</u></td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Приоритет(снизу вверх)">7</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Группа">Равенства</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Операторы"><u class="stk-reset">==</u> <u class="stk-reset">!=</u></td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Приоритет(снизу вверх)">6</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Группа">Побитовое И</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Операторы"><u class="stk-reset">&</u></td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Приоритет(снизу вверх)">5</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Группа">Побитовое исключающее ИЛИ</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Операторы"><u class="stk-reset">^</u></td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Приоритет(снизу вверх)">4</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Группа">Побитовое ИЛИ</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Операторы"><u class="stk-reset">|</u></td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Приоритет(снизу вверх)">3</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Группа">Логическое И</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Операторы"><u class="stk-reset">&&</u></td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Приоритет(снизу вверх)">2</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Группа">Логическое ИЛИ</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Операторы"><u class="stk-reset">||</u></td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Приоритет(снизу вверх)">1</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Группа">Тернарный</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Операторы"><u class="stk-reset">?</u> <u class="stk-reset">:</u></td></tr><tr class="stk-reset stk-table-row"><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Приоритет(снизу вверх)">0</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Группа">Присваивания</td><td class="stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Операторы"><u class="stk-reset">=</u> <u class="stk-reset">+=</u> <u class="stk-reset">-=</u> <u class="stk-reset">*=</u> <u class="stk-reset">/=</u> <u class="stk-reset">%=</u><br><u class="stk-reset">&=</u> <u class="stk-reset">^=</u> <u class="stk-reset">|=</u><br><u class="stk-reset"><<=</u> <u class="stk-reset">>>=</u> <u class="stk-reset">>>>=</u></td></tr></tbody></table></div></div></div><div class="stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-theme_26309__style_large_header stk-reset" data-ce-tag="paragraph" id="stk-11"><strong class="stk-reset">Резюме: что нужно запомнить</strong></h2><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Мы рассмотрели все основные операторы в Java и их работу на примерах. Попробуем кратко резюмировать, что нужно вынести из этой статьи:</p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">Оператор</strong><em class="stk-reset"> </em>— это языковая конструкция, которая выполняет действие над операндом.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">Операнд</strong><em class="stk-reset"> — это </em>число, переменная, объект и так далее, с которыми оператор совершает какие-то действия (например, арифметическое и логическое).</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">Операторы</strong> бывают <strong class="stk-reset">унарные</strong>, <strong class="stk-reset">бинарные</strong> и <strong class="stk-reset">тернарные</strong> — это зависит от того, сколько операндов они обрабатывают.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">Арифметические операторы</strong> нужны для простых математических действий: сложения, вычитания, умножения, деления и деления с остатком.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">Унарные операторы</strong> работают только с одним операндом. Это унарные минус и плюс, инкремент, декремент, логическое и побитовое отрицание.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">Операторы сравнения</strong> сопоставляют значения двух операторов и возвращают ответ — <u class="stk-reset">true</u> или <u class="stk-reset">false</u>.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">Логические операторы</strong> заточены уже не на числа, а на целые выражения — и на их основе создают сложные условия, например, для работы в циклах.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">Тернарный оператор</strong> умеет работать сразу с тремя операндами: условием и двумя выражениями. То есть им вполне можно заменить ветвления типа <u class="stk-reset">if-else</u>.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">Оператор </strong><strong class="stk-reset">instanceof </strong>определяет принадлежность объекта к классу.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">Побитовые операторы</strong> нужны для проведения операций с битами — если упростить, то с нулями и единицами в двоичной системе счисления.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">Составные операторы</strong> неявно приводят типы данных, если они разные.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item">У каждого оператора есть свой <strong class="stk-reset">приоритет</strong>.</li></ul><p class="stk-reset" data-ce-tag="paragraph">Для более глубокого понимания темы можно почитать другие наши статьи: «<a href="https://skillbox.ru/media/base/tip_boolean_i_operatory_sravneniya_v_java/" target="_blank" class="stk-reset"><em class="stk-reset">Тип Boolean и операторы сравнения в Java</em></a>» и «<a href="https://skillbox.ru/media/base/logicheskie_operatory_v_java/" target="_blank" class="stk-reset"><em class="stk-reset">Логические операторы в Java</em></a>». А если хотите совсем хорошо разобраться, почитайте <a href="https://www.oracle.com/cis/java/technologies/javase-jdk8-doc-downloads.html" target="_blank" class="stk-reset">официальную документацию</a> Java — это вообще лучший способ освоить язык со всеми его тонкостями.</p><div class="stk-grid" data-ce-tag="grid" data-stk-css="stkjRn9X"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col" data-stk-css="" data-stk-css-m=""><p class="stk-reset stk-theme_26309__style_small_text stk-theme_26309__mb_05" data-ce-tag="paragraph"><strong class="stk-reset">Читайте также:</strong></p><ul class="stk-theme_26309__style_small_text stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-theme_26309__style_small_text stk-reset stk-list-item" data-ce-tag="list-item"><a href="https://skillbox.ru/media/base/tip_boolean_i_operatory_sravneniya_v_java/" target="_blank" class="stk-reset">Тип Boolean и операторы сравнения в Java</a></li><li class="stk-theme_26309__style_small_text stk-reset stk-list-item" data-ce-tag="list-item"><a href="https://skillbox.ru/media/code/test-kakoy-yazyk-sozdadite-vy-java-ili-python/" target="_blank" class="stk-reset">Тест. Какой язык создадите вы — Java или Python?</a></li><li class="stk-theme_26309__style_small_text stk-reset stk-list-item" data-ce-tag="list-item"><a href="https://skillbox.ru/media/code/frontend_i_backend_razrabotka/" target="_blank" class="stk-reset">Чем различается фронтенд- и бэкенд-разработка</a></li></ul></div></div></div></div><style data-stk-css="stkjRn9X" media="all" class="">
[data-stk-css="stkjRn9X"]:not(#stk):not(#stk):not(style) {
padding: 20px;
background-color: rgba(254, 245, 224, 1)
}
</style><style data-stk-css="stks8HqI" media="all" class="">
[data-stk-css="stks8HqI"]:not(#stk):not(#stk):not(style) {
border-left: 4px solid #f5a74f;
padding: 20px;
background-color: rgba(254, 245, 224, 1)
}
</style><style data-stk-css="stkghwG_" class="" media="all">
[data-stk-css="stkghwG_"]:not(#stk):not(#stk):not(style) {
border-radius: 16px;
padding: 40px;
border: 1px solid;
background-color: rgba(255, 255, 255, 1);
border-color: #E4E4E4;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
</style><style data-stk-css="stkRJvAl" media="all" class="">
[data-stk-css="stkRJvAl"]:not(#stk):not(#stk):not(style) {
border-left: 4px solid #f5a74f;
padding: 20px;
background-color: rgba(254, 245, 224, 1)
}
</style><style data-stk-css="stkyIbST" media="all" class="">
[data-stk-css="stkyIbST"]:not(#stk):not(#stk):not(style) {
border-left: 4px solid #f5a74f;
padding: 20px;
background-color: rgba(254, 245, 224, 1)
}
</style><style data-stk-css="stkD6LPK" class="" media="all">[data-stk-css="stkD6LPK"]:not(#stk):not(#stk):not(style){border: 1px solid grey}</style><style data-stk-css="stkYx1w2" class="" media="all">[data-stk-css="stkYx1w2"]:not(#stk):not(#stk):not(style){border: 1px solid grey}</style><style data-stk-css="stk8ulUx" class="" media="all">[data-stk-css="stk8ulUx"]:not(#stk):not(#stk):not(style){width: 25%; border: 1px solid grey}</style><style data-stk-css="stkUfWmK" class="" media="all">[data-stk-css="stkUfWmK"]:not(#stk):not(#stk):not(style){width: 25%; border: 1px solid grey}</style><style data-stk-css="stkpeJ5z" class="" media="all">[data-stk-css="stkpeJ5z"]:not(#stk):not(#stk):not(style){border: 1px solid grey}</style><style data-stk-css="stkhKaIY" class="" media="all">[data-stk-css="stkhKaIY"]:not(#stk):not(#stk):not(style){border: 1px solid grey}</style><style data-stk-css="stkydHQ-" class="" media="all">[data-stk-css="stkydHQ-"]:not(#stk):not(#stk):not(style){border: 1px solid grey}</style><style data-stk-css="stk7oZrd" class="" media="all">[data-stk-css="stk7oZrd"]:not(#stk):not(#stk):not(style){border: 1px solid grey}</style><style data-stk-css="stkXTA9z" class="" media="all">[data-stk-css="stkXTA9z"]:not(#stk):not(#stk):not(style){border: 1px solid grey}</style><style data-stk-css="stkl6hmJ" class="" media="all">[data-stk-css="stkl6hmJ"]:not(#stk):not(#stk):not(style){border: 1px solid grey}</style><style data-stk-css="stkqtFn6" class="" media="all">[data-stk-css="stkqtFn6"]:not(#stk):not(#stk):not(style){border: 1px solid grey}</style><style data-stk-css="stkI6cNc" class="" media="all">[data-stk-css="stkI6cNc"]:not(#stk):not(#stk):not(style){border: 1px solid grey}</style></div> </div>
</div>
</div>
</div>
<div class="col-xl-9 col-lg-8 col-poster">
<div class="article-preview-info">
</div>
</div>
<noindex>
<div class="share" data-nosnippet>
<button class="share__handler-btn ">
<span class="share__handler-icon">
<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 4.99902L6 0V2.99805C2.688 2.99805 0 5.68505 0 8.99805V11.498H0.0980225C0.765022 8.91205 3.107 6.99805 5.901 6.99805H6.00098V9.99805L11 4.99902Z" fill="currentColor"/>
</svg>
</span>
<span class="share__handler-text">Поделиться</span>
</button>
<div class="share__list">
<a href="#" class="share__item" data-code="vk">
<span class="share__item-icon share__item-icon--vk">
<svg width="9" height="5" viewBox="0 0 9 5" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.04776 4.98054H4.53996C4.62377 4.97136 4.70279 4.9361 4.76621 4.87951C4.81226 4.81209 4.83594 4.73139 4.83369 4.64925C4.83369 4.64925 4.82574 3.94629 5.1314 3.84125C5.43701 3.73621 5.826 4.51998 6.23879 4.82297C6.39281 4.95308 6.59128 5.01558 6.79053 4.99669L7.89399 4.98054C7.89399 4.98054 8.47355 4.94415 8.19965 4.46339C7.98372 4.08315 7.70589 3.743 7.37799 3.45744C6.68338 2.77872 6.77865 2.8878 7.61219 1.71216C8.12024 0.997077 8.32269 0.556717 8.25918 0.370875C8.14651 0.254767 7.98299 0.205914 7.82655 0.241594L6.58018 0.249674C6.52565 0.241067 6.46984 0.251007 6.42141 0.277954C6.37298 0.314507 6.33466 0.363228 6.31025 0.419356C6.18259 0.772814 6.0287 1.11586 5.8498 1.44552C5.29807 2.43936 5.07579 2.49188 4.98451 2.43128C4.77416 2.28584 4.82574 1.85356 4.82574 1.54248C4.82574 0.580957 4.96468 0.176954 4.55979 0.0719133C4.36879 0.0254376 4.17259 0.00505841 3.97631 0.0113129C3.62834 -0.0214164 3.27745 0.017045 2.94429 0.124433C2.8014 0.197154 2.69423 0.358753 2.76171 0.370875C2.90334 0.385518 3.03406 0.454932 3.12688 0.564795C3.21268 0.750336 3.25481 0.953675 3.24993 1.15868C3.24993 1.15868 3.32535 2.29392 3.07925 2.43532C2.91254 2.53228 2.68232 2.33432 2.18616 1.4334C2.01958 1.11848 1.87243 0.793298 1.74557 0.459754C1.72231 0.404013 1.68704 0.354309 1.64236 0.314316C1.58589 0.272672 1.52066 0.245006 1.45184 0.233514L0.268986 0.241594C0.181167 0.241154 0.0958013 0.271066 0.0268587 0.326434C-0.00595087 0.396174 -0.00882613 0.476652 0.0189202 0.548633C0.0189202 0.548633 0.947737 2.83932 1.99563 3.99477C2.51 4.60651 3.2568 4.96526 4.04776 4.98054Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Vkontakte</span>
</a>
<a href="#" class="share__item" data-code="tw">
<span class="share__item-icon share__item-icon--tw">
<svg width="9" height="7" viewBox="0 0 9 7" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.52788 0.00144284V0H5.9158L6.05754 0.027414C6.15204 0.0452114 6.23783 0.068535 6.31491 0.0973918C6.39201 0.126249 6.46661 0.159917 6.53872 0.198391C6.61083 0.236864 6.67623 0.276066 6.73492 0.315982C6.79311 0.355422 6.84533 0.397265 6.89158 0.441509C6.93733 0.486237 7.0087 0.49778 7.10568 0.476138C7.20266 0.454495 7.3071 0.424433 7.419 0.38596C7.5309 0.347487 7.64156 0.304201 7.75097 0.256104C7.86039 0.208007 7.92703 0.177469 7.95091 0.164484C7.97428 0.151022 7.98671 0.143808 7.98821 0.142841L7.98969 0.140677L7.99715 0.13707L8.00461 0.133463L8.01207 0.129856L8.01953 0.126249L8.02102 0.124084L8.02326 0.122642L8.02551 0.121199L8.02699 0.119034L8.03445 0.11687L8.04191 0.115427L8.04043 0.126249L8.03818 0.13707L8.03445 0.147891L8.03072 0.158713L8.02699 0.165927L8.02326 0.173141L8.01953 0.183962C8.01705 0.191176 8.01456 0.200793 8.01207 0.212819C8.00959 0.224845 7.98596 0.272935 7.9412 0.357103C7.89644 0.441271 7.84049 0.526637 7.77335 0.613208C7.70621 0.699778 7.64604 0.765182 7.59283 0.809434C7.53911 0.854162 7.50355 0.885421 7.48614 0.903219C7.46874 0.921492 7.4476 0.938323 7.42273 0.953718L7.38543 0.977525L7.37797 0.981132L7.37051 0.984739L7.36902 0.986903L7.36678 0.988346L7.36454 0.989789L7.36305 0.991953L7.35559 0.99556L7.34813 0.999168L7.34664 1.00133L7.3444 1.00277L7.34216 1.00422L7.34067 1.00638L7.33918 1.00855L7.33694 1.00999L7.3347 1.01143L7.33321 1.0136H7.37051L7.57939 0.970311C7.71865 0.941454 7.85168 0.906588 7.9785 0.865705L8.17992 0.800777L8.2023 0.793563L8.21349 0.789956L8.22095 0.786348L8.22841 0.782741L8.23587 0.779134L8.24333 0.775527L8.25825 0.773363L8.27317 0.77192V0.786348L8.26944 0.787791L8.26571 0.789956L8.26423 0.79212L8.26198 0.793563L8.25974 0.795006L8.25825 0.79717L8.25677 0.799334L8.25452 0.800777L8.25228 0.80222L8.25079 0.804384L8.24931 0.806548L8.24706 0.807991L8.24333 0.815205L8.2396 0.82242L8.23736 0.823862C8.23637 0.825305 8.20479 0.866181 8.14262 0.946504C8.08046 1.0273 8.04689 1.06818 8.04191 1.06915C8.03694 1.07059 8.02997 1.0778 8.02102 1.09079C8.01257 1.10425 7.95985 1.15788 7.86287 1.25166C7.76589 1.34545 7.67091 1.42889 7.57791 1.502C7.48441 1.57558 7.43716 1.666 7.43616 1.77325C7.43467 1.88002 7.42895 2.00074 7.419 2.13541C7.40905 2.27007 7.3904 2.41555 7.36305 2.57186C7.3357 2.72817 7.29342 2.90492 7.23623 3.10211C7.17904 3.29929 7.10941 3.49168 7.02735 3.67925C6.94529 3.86681 6.8595 4.03514 6.76998 4.18424C6.68046 4.33334 6.5984 4.45958 6.5238 4.56299C6.4492 4.66639 6.37336 4.76378 6.29626 4.85516C6.21918 4.94654 6.12171 5.04947 6.00384 5.16393C5.88547 5.27791 5.82082 5.34044 5.80988 5.3515C5.79844 5.36208 5.74971 5.40152 5.66365 5.46981C5.57812 5.53858 5.48611 5.60736 5.38763 5.67614C5.28966 5.74443 5.19964 5.80143 5.11758 5.84711C5.03552 5.8928 4.93655 5.94498 4.82067 6.00366C4.70529 6.06282 4.58046 6.11765 4.44618 6.16815C4.3119 6.21865 4.17016 6.26554 4.02096 6.30882C3.87176 6.35211 3.72753 6.38578 3.58827 6.40982C3.44903 6.43387 3.29112 6.45431 3.11456 6.47114L2.84973 6.49639V6.5H2.36483V6.49639L2.30142 6.49279C2.25915 6.49038 2.22433 6.48797 2.19698 6.48557C2.16963 6.48317 2.06643 6.46994 1.88739 6.44589C1.70835 6.42185 1.56785 6.3978 1.4659 6.37375C1.36395 6.34971 1.21225 6.30401 1.01083 6.23668C0.809413 6.16935 0.637087 6.10129 0.493854 6.03252C0.351121 5.96422 0.261601 5.92094 0.225293 5.90266C0.189485 5.88487 0.149201 5.86275 0.10444 5.83629L0.0373001 5.79661L0.0358156 5.79445L0.0335701 5.79301L0.0313321 5.79156L0.0298401 5.7894L0.0223801 5.78579L0.0149201 5.78219L0.0134355 5.78002L0.01119 5.77858L0.00895204 5.77714L0.00746003 5.77497L0.00597548 5.77281L0.00373001 5.77137H0V5.75694L0.00746003 5.75838L0.0149201 5.76054L0.0484902 5.76415C0.0708703 5.76655 0.131796 5.77016 0.231261 5.77497C0.330733 5.77978 0.436412 5.77978 0.548312 5.77497C0.660213 5.77016 0.774605 5.75934 0.891474 5.74251C1.00835 5.72568 1.14636 5.69682 1.30551 5.65594C1.46466 5.61505 1.61087 5.56648 1.74416 5.51021C1.87695 5.45346 1.97144 5.41114 2.02764 5.38324C2.08334 5.35583 2.16838 5.30484 2.28277 5.2303L2.45435 5.11848L2.45584 5.11632L2.45808 5.11487L2.46033 5.11343L2.46181 5.11127L2.4633 5.1091L2.46554 5.10766L2.46779 5.10622L2.46927 5.10405L2.47673 5.10189L2.48419 5.10044L2.48568 5.09323L2.48792 5.08602L2.49017 5.08457L2.49165 5.08241L2.43197 5.0788C2.39219 5.0764 2.35364 5.07399 2.31634 5.07159C2.27904 5.06918 2.2206 5.05836 2.14103 5.03912C2.06146 5.01988 1.97567 4.99103 1.88366 4.95255C1.79165 4.91408 1.70213 4.86838 1.6151 4.81548C1.52807 4.76258 1.46515 4.71857 1.42636 4.68346C1.38807 4.64883 1.33833 4.59978 1.27716 4.53629C1.21648 4.47233 1.16376 4.40668 1.119 4.33934C1.07424 4.27202 1.03148 4.19433 0.990699 4.10633L0.928774 3.97503L0.925044 3.96421L0.921314 3.95339L0.919076 3.94617L0.917584 3.93896L0.928774 3.9404L0.939964 3.94256L1.02202 3.95339C1.07674 3.9606 1.16253 3.963 1.27939 3.9606C1.39627 3.9582 1.47709 3.95339 1.52185 3.94617C1.56661 3.93896 1.59396 3.93414 1.60391 3.93174L1.61883 3.92814L1.63748 3.92453L1.65613 3.92092L1.65762 3.91876L1.65986 3.91731L1.6621 3.91587L1.66359 3.91371L1.64867 3.9101L1.63375 3.90649L1.61883 3.90289L1.60391 3.89928L1.58899 3.89567C1.57904 3.89327 1.56164 3.88846 1.53677 3.88124C1.5119 3.87403 1.44476 3.84757 1.33535 3.80189C1.22594 3.7562 1.1389 3.71171 1.07424 3.66842C1.00943 3.62501 0.947626 3.57754 0.889235 3.5263C0.831047 3.47436 0.767145 3.40751 0.697513 3.32575C0.627888 3.24399 0.565724 3.149 0.511012 3.04079C0.456308 2.93257 0.415277 2.82917 0.387922 2.73058C0.360676 2.63256 0.3427 2.53235 0.334217 2.43119L0.320781 2.27969L0.328241 2.28113L0.335701 2.2833L0.343161 2.2869L0.350621 2.29051L0.358081 2.29412L0.365541 2.29772L0.481172 2.34822C0.558264 2.38189 0.653998 2.41075 0.768383 2.43479C0.882775 2.45884 0.951154 2.47207 0.973534 2.47447L1.0071 2.47808H1.07424L1.07276 2.47592L1.07051 2.47447L1.06828 2.47303L1.06678 2.47087L1.0653 2.4687L1.06305 2.46726L1.06082 2.46582L1.05932 2.46365L1.05186 2.46004L1.0444 2.45644L1.04292 2.45427L1.04067 2.45283L1.03844 2.45139L1.03694 2.44922L1.02948 2.44562L1.02202 2.44201L1.02054 2.43984C1.01905 2.43888 0.99766 2.42349 0.956376 2.39367C0.915592 2.36337 0.872823 2.32418 0.828063 2.27608C0.783303 2.22798 0.738543 2.17749 0.693783 2.12458C0.64894 2.07156 0.609 2.01483 0.574422 1.95505C0.539614 1.89493 0.502806 1.81846 0.464014 1.72564C0.425721 1.6333 0.396627 1.54023 0.376731 1.44645C0.356843 1.35266 0.345653 1.26008 0.343161 1.1687C0.340677 1.07732 0.343161 0.999168 0.350621 0.93424C0.358081 0.869312 0.373001 0.795965 0.395382 0.714206C0.417762 0.632448 0.450093 0.545877 0.492362 0.454495L0.555772 0.317425L0.559502 0.306604L0.563232 0.295782L0.565478 0.29434L0.566962 0.292175L0.568454 0.290011L0.570692 0.288568L0.572938 0.290011L0.574422 0.292175L0.575914 0.29434L0.578152 0.295782L0.580398 0.297225L0.581882 0.29939L0.583374 0.301554L0.585612 0.302997L0.589342 0.310211L0.593072 0.317425L0.595318 0.318868L0.596802 0.321032L0.697513 0.429245C0.764653 0.501387 0.844229 0.581948 0.936234 0.670921C1.02825 0.759894 1.07922 0.806065 1.08916 0.809434C1.09912 0.813279 1.11154 0.824338 1.12646 0.842619C1.14138 0.860417 1.19112 0.902981 1.27567 0.970311C1.36022 1.03764 1.47087 1.1158 1.60764 1.20477C1.74441 1.29375 1.89609 1.38152 2.0627 1.46809C2.22931 1.55466 2.40835 1.63281 2.59982 1.70255C2.7913 1.77229 2.92558 1.81798 3.00266 1.83962C3.07975 1.86127 3.21154 1.88892 3.39804 1.92259C3.58454 1.95625 3.72505 1.9779 3.81954 1.98751C3.91403 1.99713 3.97869 2.00266 4.0135 2.00411L4.06572 2.00555L4.06423 1.99473L4.06199 1.98391L4.04707 1.89373C4.03712 1.83361 4.03215 1.74944 4.03215 1.64123C4.03215 1.53302 4.04085 1.43322 4.05826 1.34184C4.07567 1.25046 4.10178 1.15788 4.13659 1.0641C4.1714 0.970311 4.20547 0.895038 4.23879 0.838291C4.27261 0.78202 4.31687 0.717814 4.37158 0.645671C4.42629 0.573529 4.49716 0.498985 4.58419 0.422031C4.67122 0.345077 4.77069 0.276542 4.88259 0.216426C4.99449 0.15631 5.09769 0.110615 5.19218 0.0793563C5.28668 0.0480971 5.36625 0.0276521 5.4309 0.0180355C5.49556 0.00841898 5.52788 0.00288568 5.52788 0.00144284Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Twitter</span>
</a>
<a href="#" class="share__item" data-code="tg">
<span class="share__item-icon share__item-icon--tg">
<svg width="10" height="7" viewBox="0 0 10 7" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.39589 3.04852C1.39589 3.04852 5.05491 1.51189 6.32392 0.9708C6.8104 0.754384 8.46012 0.0617918 8.46012 0.0617918C8.46012 0.0617918 9.22155 -0.241191 9.15809 0.494655C9.13692 0.797667 8.96773 1.85815 8.79854 3.00523C8.54472 4.62846 8.26976 6.40316 8.26976 6.40316C8.26976 6.40316 8.22746 6.90097 7.86791 6.98753C7.50836 7.0741 6.91613 6.68455 6.8104 6.59795C6.72577 6.53304 5.22411 5.5591 4.6742 5.08295C4.52614 4.9531 4.35695 4.6934 4.69533 4.39039C5.45676 3.67617 6.36622 2.78882 6.91613 2.2261C7.16995 1.96638 7.42374 1.36038 6.36622 2.09622C4.86456 3.15674 3.38403 4.15231 3.38403 4.15231C3.38403 4.15231 3.04561 4.36873 2.41111 4.17394C1.77657 3.97918 1.03631 3.71945 1.03631 3.71945C1.03631 3.71945 0.528726 3.39481 1.39589 3.04852Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Telegram</span>
</a>
<a href="#" class="share__item js-share-item-copy">
<span class="share__item-icon share__item-icon--copy">
<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.19922 5.40327C4.37217 5.63449 4.59283 5.8258 4.84622 5.96425C5.09962 6.10269 5.37982 6.18501 5.66783 6.20564C5.95584 6.22627 6.24492 6.18471 6.51546 6.08379C6.78599 5.98287 7.03166 5.82495 7.2358 5.62074L8.44399 4.41255C8.81079 4.03277 9.01375 3.52412 9.00917 2.99615C9.00458 2.46818 8.79281 1.96313 8.41946 1.58978C8.04611 1.21644 7.54106 1.00466 7.01309 1.00008C6.48512 0.995488 5.97647 1.19845 5.59669 1.56525L4.904 2.25392" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M5.81002 4.59658C5.63707 4.36536 5.41641 4.17404 5.16302 4.0356C4.90962 3.89716 4.62942 3.81483 4.34141 3.79421C4.0534 3.77358 3.76432 3.81514 3.49379 3.91605C3.22325 4.01697 2.97758 4.17489 2.77344 4.3791L1.56525 5.58729C1.19845 5.96707 0.995488 6.47572 1.00008 7.0037C1.00466 7.53167 1.21644 8.03672 1.58978 8.41006C1.96313 8.78341 2.46818 8.99518 2.99615 8.99977C3.52412 9.00436 4.03277 8.80139 4.41255 8.43459L5.10122 7.74592" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="share__item-text">Скопировать ссылку</span>
</a>
</div>
</div>
</noindex>
</div>
<section class="container inset" data-banner="221440" data-source="214531" data-format="horizontal">
<div class="row">
<div class="col-lg-8 col-sm-12">
<a
target="_blank" href="https://skillbox.ru/course/profession-java/"
class="article-advert-banner__link courseLink"
data-banner="221440"
data-source="214531"
data-format="horizontal"
data-type="horizontal"
>
<div class="inset__wrapper" style="background-color: #BDDAEC;">
<div class="inset__content">
<h2 class="inset__header">Курс</h2>
<p class="inset__description">
Профессия Java-разработчик + ИИ </p>
<p class="inset__text">
</p>
<p class="inset__button article-advert-banner__link"> Узнать про курс</p>
</div>
<div class="inset__image">
<img src="https://cdn.skillbox.pro/landgen/blocks/start-screen/604300/lg/a4acb4f6-f326-4e82-9bd1-fce4136cf411.webp" width="145" height="145" alt="">
</div>
</div>
</a>
</div>
</div>
</section>
</section>
<div class="article-banner" data-banner="219298" data-source="214531" data-format="vertical" data-type="vertical">
<div class="row">
<div class="col-sm-4 col-sm-12">
<div class="inset__wrapper" style="background-color:#f2eeff;">
<div class="inset__content" >
<div class="inset__image" style="text-align: top;">
<img src="https://skillbox.ru/upload/setka_images/math-side.png" width="150" height="150" alt="">
</div>
<p class="inset__description" style="color:#000!important; padding-bottom:13px;">
Изучайте IT на практике — бесплатно</p>
<p class="inset__text" style="color:#000!important">
Курсы за <del>2990</del> 0 р. </p>
<ul class="inset__content" style="color:#007bff!important; list-style:'\2713 ' outside; margin-left:13px;">
<li style="list-style:'\2713 '; padding-left:2px; margin-bottom:6px">
<a data-source="214531" data-banner="219298" href="https://bootcamp.skillbox.ru/python-short/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-617_all_code_skillbox" target="_blank">Python</a>
</li>
<li style="list-style:'\2713 '; padding-left:2px; margin-bottom:6px">
<a href="https://bootcamp.skillbox.ru/qa-start/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-655_all_code_skillbox" target="_blank">Тестирование</a>
</li>
<li style="list-style:'\2713 '; padding-left:2px; margin-bottom:6px">
<a href="https://bootcamp.skillbox.ru/data-science/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-675_all_code_skillbox" target="_blank">Data Science</a>
</li>
<li style="list-style:'\2713 '; padding-left:2px; margin-bottom:6px">
<a href="https://bootcamp.skillbox.ru/java/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-682_all_code_skillbox" target="_blank">Java</a>
</li>
<li style="list-style:'\2713 '; padding-left:2px; margin-bottom:6px">
<a href="https://bootcamp.skillbox.ru/sql/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-695_all_code_skillbox" target="_blank">SQL и работа с данными</a>
</li>
</ul>
<a href="https://bootcamp.skillbox.ru/it-jobs/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-759_all_code_skillbox" class="inset__button article-advert-banner__link" target="_blank" style="color:#000; background-color:#ffafff">Я не знаю, с чего начать</a>
</div>
</div>
</div>
</div> </div>
<a
target="_blank" href="https://skillbox.ru/course/profession-java/"
class="article-banner article-advert-banner__link"
style="background-color: #BDDAEC;"
data-banner="221440"
data-source="214531"
data-format="top"
data-type="top"
>
<div class="article-banner__img">
<img src="https://cdn.skillbox.pro/landgen/blocks/start-screen/604300/lg/a4acb4f6-f326-4e82-9bd1-fce4136cf411.webp" alt="">
</div>
<span class="article-banner__title">Научитесь: <u>Профессия Java-разработчик + ИИ</u></span>
<span class="article-banner__link">Узнать больше</span>
</a>
<section class="container news">
<div class="row">
<div class="col-lg-8 col-sm-12">
<h2 class="news__header">Новости</h2>
<div class="row">
<div class="col-xl-4 col-lg-6 col-md-4 col-12 news__item">
<a href="/media/code/google-predstavil-gemini-31-pro-s-uluchshennymi-rassuzhdeniyami/" class="news__text">
Google представил Gemini 3.1 Pro с улучшенными рассуждениями </a>
<span class="news__date">20 фев 2026</span>
</div>
<div class="col-xl-4 col-lg-6 col-md-4 col-12 news__item">
<a href="/media/code/xai-dobavila-v-grok-multiagentnuyu-sistemu-s-chetyrmya-pomoschnikami/" class="news__text">
xAI добавила в Grok мультиагентную систему с четырьмя помощниками </a>
<span class="news__date">18 фев 2026</span>
</div>
<div class="col-xl-4 col-lg-6 col-md-4 col-12 news__item">
<a href="/media/code/openai-predstavila-gpt-53-codex-spark-prodvinutuyu-model-dlya-programmistov/" class="news__text">
OpenAI представила GPT-5.3-Codex-Spark — продвинутую модель для программистов </a>
<span class="news__date">13 фев 2026</span>
</div>
</div>
</div>
</div>
</section>
<div class="slider-news-wrap media-catalog-content media-catalog-content--interesting">
<div class="container">
<div class="slider-news slider-news--article-slider js-slider-news">
<div class="slider-news__header">
<div class="slider-news__title" style="font-family: 'Graphik'; font-weight: 500;">
<span class="slider-news__title-notmob">Это интересно</span>
<span class="slider-news__title-mob">Это интересно</span>
</div>
<div class="slider-news__nav-wrapper">
<div class="slider-news__nav-button button-prev swiper-button-disabled" tabindex="0" role="button" aria-label="Previous slide" aria-disabled="true">
<svg viewBox="0 0 9 15" width="9" height="15" class="icon">
<use xlink:href="/static/svg/svg-symbols-site.svg#icon-arrow-chevron" href="/static/svg/svg-symbols-site.svg#icon-arrow-chevron"></use>
</svg>
</div>
<div class="slider-news__nav-button button-next" tabindex="0" role="button" aria-label="Next slide" aria-disabled="false">
<svg viewBox="0 0 9 15" width="9" height="15" class="icon">
<use xlink:href="/static/svg/svg-symbols-site.svg#icon-arrow-chevron" href="/static/svg/svg-symbols-site.svg#icon-arrow-chevron"></use>
</svg>
</div>
</div>
</div>
<div class="slider-news__carousel grad-end">
<div class="slider-news__container swiper-container swiper-container-initialized swiper-container-horizontal">
<div class="swiper-wrapper">
<div class="slider-news__slide swiper-slide swiper-slide-active" style="margin-right: 20px;">
<div class="news-block__item">
<div class="news-block__img" style="margin-bottom: 8px;">
<picture>
<img src="https://248006.selcdn.ru/main/iblock/f1f/f1f05b73644b83a05ad3685325a98308/1668de27023f167b5952dda8f6448bab.jpg">
</picture> </div>
<a href="/media/code/chto-takoe-big-data/" class="news-block__title" style="font-family: 'Graphik'; font-size: 14px; line-height: 19px; -webkit-line-clamp: 4; font-weight: 500">
Big data: что такое большие данные и как с ними работать </a>
</div>
</div>
<div class="slider-news__slide swiper-slide swiper-slide-active" style="margin-right: 20px;">
<div class="news-block__item">
<div class="news-block__img" style="margin-bottom: 8px;">
<picture>
<img src="https://248006.selcdn.ru/main/iblock/ea6/ea6a8323236c2561837dabaf3aaf6301/b1321ab07a64d09d9eba7a802ff1a19d.jpg">
</picture> </div>
<a href="/media/code/google-v-fevrale-2026-goda-vekovye-obligacii-privatnost-v-poiske-i-webmcp-dlya-agentov/" class="news-block__title" style="font-family: 'Graphik'; font-size: 14px; line-height: 19px; -webkit-line-clamp: 4; font-weight: 500">
Google в феврале 2026 года: вековые облигации, приватность в поиске и WebMCP для агентов </a>
</div>
</div>
<div class="slider-news__slide swiper-slide swiper-slide-active" style="margin-right: 20px;">
<div class="news-block__item">
<div class="news-block__img" style="margin-bottom: 8px;">
<picture>
<img src="https://248006.selcdn.ru/main/iblock/83f/83f5fbe33b9cb70f84fd1bade3ba0200/5fec158e3ca8709d41cf5f5a4a0b8430.png">
</picture> </div>
<a href="/media/code/razrabotchiki-skupayut-mac-mini-na-it-rynke-peregrev-a-iz-tyurmy-vyshel-izvestnyy-kriptohaker/" class="news-block__title" style="font-family: 'Graphik'; font-size: 14px; line-height: 19px; -webkit-line-clamp: 4; font-weight: 500">
Разработчики скупают Mac mini, на IT-рынке перегрев, а из тюрьмы вышел известный хакер </a>
</div>
</div>
<div class="slider-news__slide swiper-slide swiper-slide-active" style="margin-right: 20px;">
<div class="news-block__item">
<div class="news-block__img" style="margin-bottom: 8px;">
<picture>
<img src="https://248006.selcdn.ru/main/iblock/080/080d477242b414a3d2964960de55dcda/3fa556922b64473697f8960ca2f25218.png">
</picture> </div>
<a href="/media/code/story-yana-orlovceva/" class="news-block__title" style="font-family: 'Graphik'; font-size: 14px; line-height: 19px; -webkit-line-clamp: 4; font-weight: 500">
От пользователя до программиста 1С: история Яны Орловцевой </a>
</div>
</div>
<div class="slider-news__slide swiper-slide swiper-slide-active" style="margin-right: 20px;">
<div class="news-block__item">
<div class="news-block__img" style="margin-bottom: 8px;">
<picture>
<img src="https://248006.selcdn.ru/main/iblock/010/010725bb6a24b5d14ec80639eeb09031/ad6eb5f9c899b436ac21af1e7099be54.png">
</picture> </div>
<a href="/media/code/eslint-i-prettier/" class="news-block__title" style="font-family: 'Graphik'; font-size: 14px; line-height: 19px; -webkit-line-clamp: 4; font-weight: 500">
Гайд по ESLint и Prettier: от установки до автоматизации в VS Code </a>
</div>
</div>
</div>
<span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span>
</div>
</div>
</div>
</div>
</div>
<div class="question">
<div class="container">
<div class="question__inner">
<div class="question__title">Понравилась статья?</div>
<a href="#" data-cur-url="/media/code/operatory-v-java-dlya-chego-nuzhny-i-kakie-byvayut/"
class="question__btn js-modalLink" data-mfp-src="#modalAuth">Да</a>
</div>
</div>
</div>
</div>
<span
data-area="article-bottom"
data-current-url="/media/code/operatory-v-java-dlya-chego-nuzhny-i-kakie-byvayut/"
data-id="214531">
</span>
</div>
<script type="application/ld+json">
{"@context":"http:\/\/schema.org","@type":"Article","url":"https:\/\/skillbox.ru\/media\/code\/operatory-v-java-dlya-chego-nuzhny-i-kakie-byvayut\/","headline":"\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0432\u00a0Java: \u0434\u043b\u044f \u0447\u0435\u0433\u043e \u043d\u0443\u0436\u043d\u044b \u0438\u00a0\u043a\u0430\u043a\u0438\u0435 \u0431\u044b\u0432\u0430\u044e\u0442","articleSection":"\u041a\u043e\u0434","articleBody":"\u0412\u0441\u0435 \u043c\u044b \u0441\u043e \u0448\u043a\u043e\u043b\u044b \u0437\u043d\u0430\u043a\u043e\u043c\u044b \u0441 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \r\n\u0437\u043d\u0430\u043a\u0430\u043c\u0438 + (\u043f\u043b\u044e\u0441), \u2013 (\u043c\u0438\u043d\u0443\u0441), = (\u0440\u0430\u0432\u043d\u043e) \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u0412 Java \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u044d\u0442\u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u043c\u0438. \u041e\u043d\u0438 \u043d\u0443\u0436\u043d\u044b \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u044c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0443, \u043a\u0430\u043a\u043e\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441\u043e\u0432\u0435\u0440\u0448\u0430\u0442\u044c \u0441 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u0430\u043c\u0438 \u2014 \u0447\u0438\u0441\u043b\u0430\u043c\u0438, \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438, \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u043e \u043e\u0431\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430.\r\n \r\n\u0421\u043a\u0440\u0438\u043d\u0448\u043e\u0442: \u041b\u0435\u0432 \u0421\u0435\u0440\u0433\u0435\u0435\u0432 \u0434\u043b\u044f Skillbox Media\r\n\r\n\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 \u0432\u044b\u0448\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \r\n+ \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0443: \u00ab\u0421\u043b\u043e\u0436\u0438 \u0434\u0432\u0430 \u0447\u0438\u0441\u043b\u0430\u00bb. \u041d\u043e \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0447\u0438\u0441\u0435\u043b \u0432 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u2014 \u0438 \u043e\u0434\u043d\u043e, \u0438 \u0434\u0432\u0430, \u0438 \u0442\u0440\u0438. \u0412 \u044d\u0442\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0431\u0443\u0434\u0443\u0442 \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u043e-\u0440\u0430\u0437\u043d\u043e\u043c\u0443: \u0443\u043d\u0430\u0440\u043d\u044b\u0435 \u2014 \u0447\u0442\u043e-\u0442\u043e \u0434\u0435\u043b\u0430\u044e\u0442 \u0441 \u043e\u0434\u043d\u0438\u043c \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u043e\u043c, \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u2014 \u0441 \u0434\u0432\u0443\u043c\u044f, \u0438 \u0442\u0435\u0440\u043d\u0430\u0440\u043d\u044b\u0435 \u2014 \u0441 \u0442\u0440\u0435\u043c\u044f.\r\n\r\n\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \r\n\u044d\u0442\u0438, \u043d\u043e \u0432\u0441\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u0438\u0434\u044b \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0432 Java:\r\n\r\n- \u041f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u044f [ #stk-1 ] \r\n- \u0410\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 [ #stk-2 ] \r\n- \u0423\u043d\u0430\u0440\u043d\u044b\u0435 [ #stk-3 ] \r\n- \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f [ #stk-4 ] \r\n- \u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 [ #stk-5 ] \r\n- \u0422\u0435\u0440\u043d\u0430\u0440\u043d\u044b\u0439 [ #stk-6 ] \r\n- \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 instanceof [ #stk-7 ] \r\n- \u041f\u043e\u0431\u0438\u0442\u043e\u0432\u044b\u0435 [ #stk-8 ] \r\n- \u0421\u043e\u0441\u0442\u0430\u0432\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u044f [ #stk-9 ]\r\n \r\n\r\n\u0415\u0449\u0451 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u0430\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \r\n[ #stk-10 ] \u2014 \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c\u0441\u044f, \u0432 \u043a\u0430\u043a\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u043e\u043d\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f. \u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0441\u0432\u0435\u0436\u0438\u0442\u044c \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u0443\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432, \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0440\u0430\u0437\u0443 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0448\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0435 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 [ #stk-11 ] .\r\n\r\n\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u044f \u0432 Java\r\n\r\n\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u044f \u0432 Java \u2014 \u044d\u0442\u043e \r\n\u0437\u043d\u0430\u043a = (\u0440\u0430\u0432\u043d\u043e). \u0415\u0433\u043e \u0437\u0430\u0434\u0430\u0447\u0430 \u2014 \u043f\u0435\u0440\u0435\u043b\u043e\u0436\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0441\u043f\u0440\u0430\u0432\u0430 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441\u043b\u0435\u0432\u0430:\r\n \r\n\u0421\u043a\u0440\u0438\u043d\u0448\u043e\u0442: \u041b\u0435\u0432 \u0421\u0435\u0440\u0433\u0435\u0435\u0432 \u0434\u043b\u044f Skillbox Media\r\n\r\n\u0412\u043e\u0442 \u043a\u0430\u043a \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432 \u043a\u043e\u0434\u0435 (\u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u2014 \r\n\u0440\u0430\u0437\u0431\u043e\u0440 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430):\r\n\r\nint x = 1; \/\/ \u041e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c \u0447\u0438\u0441\u043b\u043e\u0432\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \r\n'x' \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c 1 boolean a, b; \/\/ \u041e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 'a' \u0438 'b' a = b = true;\r\n\r\n\u0427\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442: \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 true \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \r\n\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 b. \u0412 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 b \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 a.\r\n\r\n\u0410\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0432 Java\r\n\r\n\u042d\u0442\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \r\n\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f: \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u0435, \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435, \u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0438 \u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0441 \u043e\u0441\u0442\u0430\u0442\u043a\u043e\u043c. \u0412\u0441\u0435 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u043c\u0438 \u2014 \u0442\u043e \u0435\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0434\u0432\u0443\u043c\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438.\u041f\u043b\u044e\u0441: +\r\n\r\n\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442: \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 \u0434\u0432\u0430 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u0430.\r\n\r\n\u0415\u0449\u0451 \u044d\u0442\u043e\u0442 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0438 \r\n\u0434\u0432\u0443\u0445 \u0441\u0442\u0440\u043e\u043a \u0432 \u043e\u0434\u043d\u0443. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 Java \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u00ab\u042f \u043b\u044e\u0431\u043b\u044e\u00bb + \u00ab\u041c\u043e\u0441\u043a\u0432\u0443\u00bb \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u00ab\u042f \u043b\u044e\u0431\u043b\u044e \u041c\u043e\u0441\u043a\u0432\u0443\u00bb. \u0422\u0430\u043a\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043d\u043a\u0430\u0442\u0435\u043d\u0430\u0446\u0438\u0435\u0439.\r\n\r\n\/\/ \u0421\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0447\u0438\u0441\u0435\u043b System.out.println(10 + 2); \/\/ \u0412\u044b\u0432\u043e\u0434: \r\n12 \/\/ \u041a\u043e\u043d\u043a\u0430\u0442\u0435\u043d\u0430\u0446\u0438\u044f \u0441\u0442\u0440\u043e\u043a System.out.println(\"A\" + \"B\"); \/\/ \u0412\u044b\u0432\u043e\u0434: AB \/\/ \u0421\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u0432\u0443\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0442\u0438\u043f\u0430 'char' System.out.println('a' + 'b'); \/\/ \u0412\u044b\u0432\u043e\u0434: 195\r\n\r\n\r\n\r\n\u0412 Java \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445 char, byte \u0438 short \u043f\u0440\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f\u0445 \r\n\u043d\u0435\u044f\u0432\u043d\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u043a \u0442\u0438\u043f\u0443 int (\u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441 \u043d\u0438\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043a\u0430\u043a \u0441 \u043e\u0431\u044b\u0447\u043d\u044b\u043c\u0438 \u0447\u0438\u0441\u043b\u0430\u043c\u0438. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 char \u0432 Java \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u044b Unicode \u2014 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u0447\u0438\u0441\u043b\u043e. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0438\u043c\u0432\u043e\u043b a \u0440\u0430\u0432\u0435\u043d \u0447\u0438\u0441\u043b\u0443 97, \u0430 b \u2014 98, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 195.\u041c\u0438\u043d\u0443\u0441: \u2212\r\n\r\n\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442: \u0432\u044b\u0447\u0438\u0442\u0430\u0435\u0442 \u0438\u0437 \u043b\u0435\u0432\u043e\u0433\u043e \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u0430 \r\n\u043f\u0440\u0430\u0432\u044b\u0439.\r\n\r\n\/\/ \u0412\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u0435 \u0447\u0438\u0441\u0435\u043b System.out.println(10 - 2); \/\/ \u0412\u044b\u0432\u043e\u0434: \r\n8\u0423\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435: *\r\n\r\n\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442: \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u043e\u0432.\r\n\r\n\/\/ \u0423\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 \u0447\u0438\u0441\u0435\u043b System.out.println(10 * 2); \/\/ \u0412\u044b\u0432\u043e\u0434: \r\n20\u0414\u0435\u043b\u0435\u043d\u0438\u0435: \/\r\n\r\n\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442: \u0434\u0435\u043b\u0438\u0442 \u043b\u0435\u0432\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u043d\u0434 \u043d\u0430 \u043f\u0440\u0430\u0432\u044b\u0439.\r\n\r\n\/\/ \u0414\u0435\u043b\u0435\u043d\u0438\u0435 \u0431\u0435\u0437 \u043e\u0441\u0442\u0430\u0442\u043a\u0430 System.out.println(10 \/ 2); \/\/ \r\n\u0412\u044b\u0432\u043e\u0434: 5 System.out.println(11 \/ 2); \/\/ \u0412\u044b\u0432\u043e\u0434: 5 \/\/ \u0414\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 'double' System.out.println(11 \/ 2d); \/\/ \u0412\u044b\u0432\u043e\u0434: 5.5\r\n\r\n\u0410 \u0432\u043e\u0442 \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442, \u0435\u0441\u043b\u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c \r\n\u043d\u0430 \u043d\u043e\u043b\u044c \u0432 Java:\r\n\r\nSystem.out.println(10 \/ 0); \/\/ \u041e\u0448\u0438\u0431\u043a\u0430 \u0412\u044b\u0432\u043e\u0434: Exception in thread \r\n\"main\" java.lang.ArithmeticException: \/ by zero\r\n\r\n\u0414\u0435\u043b\u0438\u0442\u044c \u0447\u0438\u0441\u043b\u043e \u043d\u0430 \u043d\u043e\u043b\u044c \u043d\u0435\u043b\u044c\u0437\u044f! \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \r\n\u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0441\u044f, \u0432\u044b\u0431\u0440\u043e\u0441\u0438\u0432 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435. \u041d\u043e \u0435\u0441\u043b\u0438 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043a \u0442\u0438\u043f\u0443 'double' (\u0447\u0438\u0441\u043b\u043e \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0437\u0430\u043f\u044f\u0442\u043e\u0439), \u0442\u043e \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u00ab\u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0441\u0442\u044c\u00bb:\r\n\r\nSystem.out.println(10 \/ 0d); \/\/ \u0412\u044b\u0432\u043e\u0434: Infinity\u0414\u0435\u043b\u0435\u043d\u0438\u0435 \u0441 \u043e\u0441\u0442\u0430\u0442\u043a\u043e\u043c \r\n(\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e): %\r\n\r\n\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442: \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0441\u0442\u0430\u0442\u043e\u043a \u043e\u0442 \u0434\u0435\u043b\u0435\u043d\u0438\u044f.\r\n\r\n\/\/ \u0414\u0435\u043b\u0435\u043d\u0438\u0435 \u0447\u0438\u0441\u0435\u043b \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e (\u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043e\u0441\u0442\u0430\u0442\u043a\u0430 \r\n\u043e\u0442 \u0434\u0435\u043b\u0435\u043d\u0438\u044f) System.out.println(10 % 2); \/\/ \u0412\u044b\u0432\u043e\u0434: 0 System.out.println(11 % 2); \/\/ \u0412\u044b\u0432\u043e\u0434: 1\r\n\r\n\u0423\u043d\u0430\u0440\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0432 Java\r\n\r\n\u042d\u0442\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0432 Java \u0442\u043e\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043d\u0435\u0441\u0442\u0438 \r\n\u043a \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c, \u043d\u043e \u0435\u0441\u0442\u044c \u043d\u044e\u0430\u043d\u0441 \u2014 \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043e\u0434\u043d\u0438\u043c \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u043e\u043c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0445 \u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0443\u043d\u0430\u0440\u043d\u044b\u043c\u0438.\u0423\u043d\u0430\u0440\u043d\u044b\u0435 \u043f\u043b\u044e\u0441 \u0438 \u043c\u0438\u043d\u0443\u0441: + \u0438 \u2212 \r\n\r\n\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u044e\u0442: \u043c\u0435\u043d\u044f\u044e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0447\u0438\u0441\u043b\u0430 \u043d\u0430 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \r\n\u0438\u043b\u0438 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435.\r\n\r\nint positive = 1; int negative = -2; \/\/ \u0423\u043d\u0430\u0440\u043d\u044b\u0439 \u043c\u0438\u043d\u0443\u0441 System.out.println(-positive); \r\n\/\/ \u0412\u044b\u0432\u043e\u0434: -1 \/\/ \u0423\u043d\u0430\u0440\u043d\u044b\u0439 \u043f\u043b\u044e\u0441 System.out.println(+negative); \/\/ \u0412\u044b\u0432\u043e\u0434: 2\u0418\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442 \u0438 \u0434\u0435\u043a\u0440\u0435\u043c\u0435\u043d\u0442: ++ \u0438 \u2212\u2212 \r\n\r\n\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u044e\u0442: \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442 \u2014 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \r\n\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0443, \u0430 \u0434\u0435\u043a\u0440\u0435\u043c\u0435\u043d\u0442 \u2014 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u0442.\r\n\r\n\u0412 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0443 \u0434\u0435\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430 \u0438 \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430 \r\n\u0435\u0441\u0442\u044c \u0434\u0432\u0435 \u0444\u043e\u0440\u043c\u044b: \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043d\u0430\u044f \u0438 \u043f\u043e\u0441\u0442\u0444\u0438\u043a\u0441\u043d\u0430\u044f. \u0417\u0432\u0443\u0447\u0438\u0442 \u0441\u043b\u043e\u0436\u043d\u043e, \u043d\u043e \u043d\u0430 \u0434\u0435\u043b\u0435 \u0432\u0441\u0451 \u043f\u0440\u043e\u0441\u0442\u043e:\r\n\r\n- \u041f\u0440\u0435\u0444\u0438\u043a\u0441\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b (++x) \u0441\u0440\u0430\u0437\u0443 \u043c\u0435\u043d\u044f\u044e\u0442 \r\n\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0438 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0435\u0433\u043e \u0432 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435.\r\n- \u041f\u043e\u0441\u0442\u0444\u0438\u043a\u0441\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b (x++) \u0434\u0435\u043b\u0430\u044e\u0442 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442 \u2014 \r\n\u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0441\u0442\u0430\u0440\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u043e\u043c \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u043d\u043e\u0432\u043e\u0435.\r\n\r\nint a = 0, b = 0, c = 0, d = 0; \/\/ \u041f\u0440\u0435\u0444\u0438\u043a\u0441\u043d\u044b\u0439 \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\/\u0434\u0435\u043a\u0440\u0435\u043c\u0435\u043d\u0442 \r\nSystem.out.println(++a); \/\/ \u0412\u044b\u0432\u043e\u0434: 1 System.out.println(--b); \/\/ \u0412\u044b\u0432\u043e\u0434: -1 \/\/ \u041f\u043e\u0441\u0442\u0444\u0438\u043a\u0441\u043d\u044b\u0439 (\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0432\u043e\u0434\u0430 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c) System.out.println(c++); \/\/ \u0412\u044b\u0432\u043e\u0434: 0 System.out.println(d--); \/\/ \u0412\u044b\u0432\u043e\u0434: 0\r\n\r\n\u0418\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u044b \u0438 \u0434\u0435\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u044b \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \r\n\u0432 \u0446\u0438\u043a\u043b\u0430\u0445 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u0430, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u043f\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0432\u0441\u0435 \u0447\u0438\u0441\u043b\u0430 \u0432 \u043a\u0430\u043a\u043e\u043c-\u0442\u043e \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435:\r\n\r\n\r\n\r\n\/* \u041f\u0440\u0435\u0444\u0438\u043a\u0441\u043d\u044b\u0439 \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442 \u0432 \u0446\u0438\u043a\u043b\u0435. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \r\n\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f i \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 1, \u0430 \u043f\u043e\u0442\u043e\u043c \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0446\u0438\u043a\u043b *\/ int i = 0; while (++i < 3){ System.out.print(i); } \u0412\u044b\u0432\u043e\u0434: 12\r\n\r\n\r\n\/* \u041f\u043e\u0441\u0442\u0444\u0438\u043a\u0441\u043d\u044b\u0439 \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442 \u0432 \u0446\u0438\u043a\u043b\u0435. \u0421\u043f\u0435\u0440\u0432\u0430 \r\n\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0446\u0438\u043a\u043b c \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c i, \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u043e\u043c i \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 1:*\/ int i = 0; while (i++ < 3){ System.out.print(i); } \u0412\u044b\u0432\u043e\u0434: 123\r\n\r\n\r\n\r\n\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u0434\u0435\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430\u0445 \u0438 \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430\u0445 \r\n\u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432 \u043d\u0430\u0448\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u2014 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c, \u043a\u0430\u043a \u0440\u0435\u0448\u0430\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441 \u044d\u0442\u0438\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u043c\u0438.\r\n\r\n\u0412 Java \u0435\u0441\u0442\u044c \u0435\u0449\u0451 \u0434\u0432\u0430 \u0443\u043d\u0430\u0440\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430: \r\n! \u2014 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0442\u0440\u0438\u0446\u0430\u043d\u0438\u0435, \u0438 ~ \u2014 \u043f\u043e\u0431\u0438\u0442\u043e\u0432\u043e\u0435 \u043e\u0442\u0440\u0438\u0446\u0430\u043d\u0438\u0435, \u043d\u043e \u0438\u0445 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0447\u0443\u0442\u044c \u043f\u043e\u0437\u0436\u0435, \u043a\u043e\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0438 \u043f\u043e\u0431\u0438\u0442\u043e\u0432\u044b\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u043c\u0438.\r\n\r\n\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0432 Java\r\n\r\n\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u044e\u0442: \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u044e\u0442 \u0434\u0432\u0430 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u0430 \u0438 \u0432\u044b\u044f\u0441\u043d\u044f\u044e\u0442 \r\n\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 \u2014 \u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0442\u043e \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0442\u043e \u0447\u0435\u043c\u0443 \u0440\u0430\u0432\u043d\u044f\u0435\u0442\u0441\u044f. \u041f\u0440\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0438 \u0442\u0430\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0438\u043f\u0430 boolean:\r\n\r\n- true (\u043f\u0440\u0430\u0432\u0434\u0430);\r\n- false (\u043b\u043e\u0436\u044c).\r\n\r\n\u0412\u0441\u0435\u0433\u043e \u0432 Java \u0448\u0435\u0441\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f:\r\n\r\n\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0427\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \r\n== \u0420\u0430\u0432\u043d\u043e \r\n> \u0411\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \r\n< \u041c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \r\n>= \u0411\u043e\u043b\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e \r\n<= \u041c\u0435\u043d\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e \r\n!= \u041d\u0435 \u0440\u0430\u0432\u043d\u043e \r\n\r\n\r\n\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \r\n\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u0434\u0435 \u2014 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u0434\u0432\u0430 \u0446\u0435\u043b\u044b\u0445 \u0447\u0438\u0441\u043b\u0430 \u0438 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043d\u0430 \u044d\u043a\u0440\u0430\u043d:\r\n\r\n\/\/ \u0412 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043c\u044b \u0441\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c, \u0440\u0430\u0432\u0435\u043d \u043b\u0438 \r\n\u043d\u043e\u043b\u044c \u0435\u0434\u0438\u043d\u0438\u0446\u0435: System.out.println(1 == 0); \/\/ \u0412\u044b\u0432\u043e\u0434: false (\u043b\u043e\u0436\u044c) \/\/ \u0410 \u0437\u0434\u0435\u0441\u044c \u2014 \u0431\u043e\u043b\u044c\u0448\u0435 \u043b\u0438 \u0435\u0434\u0438\u043d\u0438\u0446\u0430, \u0447\u0435\u043c \u043d\u043e\u043b\u044c: System.out.println(1 > 0); \/\/ \u0412\u044b\u0432\u043e\u0434: true (\u043f\u0440\u0430\u0432\u0434\u0430) \/\/ \u0415\u0434\u0438\u043d\u0438\u0446\u0430 \u043c\u0435\u043d\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u0430 \u043d\u0443\u043b\u044e? System.out.println(1 <= 0); \/\/ \u0412\u044b\u0432\u043e\u0434: false (\u043b\u043e\u0436\u044c)\r\n\r\n\u0415\u0449\u0451 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \r\n\u0432 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u0445. \u042d\u0442\u043e \u043a\u043e\u0433\u0434\u0430, \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0443\u0441\u043b\u043e\u0432\u0438\u0439, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043e\u0434\u0438\u043d \u0431\u043b\u043e\u043a \u043a\u043e\u0434\u0430. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u043f\u043e\u043c\u0438\u043c\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f, \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u044f: if-else, switch \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0437\u0434\u0435\u0441\u044c \u043c\u044b \u043f\u0440\u043e\u0441\u0438\u043c Java \u043d\u0430\u043f\u0435\u0447\u0430\u0442\u0430\u0442\u044c \u0441\u043b\u043e\u0432\u043e true, \u0435\u0441\u043b\u0438 1 \u043d\u0435 \u0440\u0430\u0432\u043d\u043e 0:\r\n\r\n\/\/ \u0415\u0441\u043b\u0438 '1' \u043d\u0435 \u0440\u0430\u0432\u043d\u043e '0', \u0442\u043e \u043d\u0430\u043f\u0435\u0447\u0430\u0442\u0430\u0442\u044c \"true\" if(1 \r\n!= 0) System.out.println(\"true\"); \/\/ \u0412\u044b\u0432\u043e\u0434: true\r\n\r\n\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e\u0431 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u0445 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0438 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0445 \r\n\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 .\r\n\r\n\u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0432 Java: Boolean\r\n\r\n\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u044e\u0442: \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u0443\u044e\u0442 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \r\n\u0442\u0438\u043f\u0430 true \u0438 false.\r\n\r\n\u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f, \r\n\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0435 \u0441 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0447\u0438\u0441\u043b\u0430\u043c\u0438, \u0430 \u0441 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439. \u0418\u0445 \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0432 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u0445 \u2014 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0440\u044f\u0434\u043e\u043c \u0434\u0432\u0430 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0431\u043b\u043e\u043a \u043a\u043e\u0434\u0430, \u0435\u0441\u043b\u0438 \u043e\u0434\u043d\u043e \u0438\u0437 \u043d\u0438\u0445 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 true.\r\n\r\n\u0412\u0441\u0435\u0433\u043e \u0432 Java \u0448\u0435\u0441\u0442\u044c \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432, \r\n\u043d\u043e \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u044d\u0442\u0438 \u0447\u0435\u0442\u044b\u0440\u0435:\r\n\r\n\u0421\u0438\u043c\u0432\u043e\u043b \u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0427\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \r\n \r\n&& \u0418 (AND) \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 true, \u043a\u043e\u0433\u0434\u0430 \u043e\u0431\u0430 \r\n\u043e\u043f\u0435\u0440\u0430\u043d\u0434\u0430 true. \r\n|| \u0418\u041b\u0418 (OR) \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 true, \u043a\u043e\u0433\u0434\u0430 \u0445\u043e\u0442\u044f \u0431\u044b \r\n\u043e\u0434\u0438\u043d \u043e\u043f\u0435\u0440\u0430\u043d\u0434 \u2014 true. \r\n^ \u0418\u0421\u041a\u041b\u042e\u0427\u0410\u042e\u0429\u0415\u0415 \u0418\u041b\u0418 (XOR) \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 true, \r\n\u043a\u043e\u0433\u0434\u0430 \u043e\u0434\u0438\u043d \u043e\u043f\u0435\u0440\u0430\u043d\u0434 true, \u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u2014 false. \r\n! \u041d\u0415 (NOT) \u0418\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u0435\u0442 true \u0432 false \u0438 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442. \r\n\u042d\u0442\u043e \u0443\u043d\u0430\u0440\u043d\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u2014 \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u043e\u0434\u043d\u0438\u043c \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c. \r\n\r\n\r\n\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0441\u0440\u0430\u0432\u043d\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \r\n\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439:\r\n\r\n\/\/ AND \u2014 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 boolean a = (6 > \r\n5) && (7 > 4); System.out.println(a); \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: true, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u0431\u0430 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f true \/\/ OR \u2014 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0435 boolean b = (6 > 5) || (7 > 4); System.out.println(b); \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: true, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u0434\u043d\u043e \u0438\u0437 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 true \/\/ XOR \u2014 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u0435 boolean c = (6 > 8) ^ (6 > 7); System.out.println(c); \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: false, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u0431\u0430 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u2014 false \/\/ NOT \u2014 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0442\u0440\u0438\u0446\u0430\u043d\u0438\u0435 boolean d = (6 > 5); System.out.println(!d); \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: false, \u0442\u0430\u043a \u043a\u0430\u043a \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u2014 true\r\n\r\n\u041a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \r\n\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f (6 > 5) && (7 > 4). \u041a\u043e\u0433\u0434\u0430 \u043c\u044b \u043d\u0430\u0447\u043d\u0451\u043c \u0435\u0451 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u0437\u0430\u0442\u0435\u043c \u2014 \u0432\u0442\u043e\u0440\u043e\u0433\u043e. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 && \u0443\u0441\u0442\u0440\u043e\u0435\u043d \u0442\u0430\u043a, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u043e\u0431\u0430 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438\u0441\u0442\u0438\u043d\u043d\u044b, \u0442\u043e \u043e\u043d \u0438 \u0441\u0430\u043c \u0432\u0435\u0440\u043d\u0451\u0442 true. \u0410 \u044d\u0442\u043e \u043a\u0430\u043a \u0440\u0430\u0437 \u043d\u0430\u0448 \u0441\u043b\u0443\u0447\u0430\u0439, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0438 6 \u0431\u043e\u043b\u044c\u0448\u0435 5, \u0438 7 \u0431\u043e\u043b\u044c\u0448\u0435 4.\r\n\r\n\r\n\r\n \r\n\r\n\r\n\u0427\u0438\u0442\u0430\u0439\u0442\u0435 \u0442\u0430\u043a\u0436\u0435:\r\n\r\n\u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0432 Java \r\n \r\n\r\n\u0422\u0435\u0440\u043d\u0430\u0440\u043d\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0432 Java: \u043c\u043e\u0436\u043d\u043e, \u0442\u043e\u043b\u044c\u043a\u043e \r\n\u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e\r\n\r\n\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442: \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u0435\u0442 \u0443\u0441\u043b\u043e\u0432\u043d\u0443\u044e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \r\nif-else \u0434\u043e \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u0447\u043a\u0438.\r\n\r\n\u0422\u0435\u0440\u043d\u0430\u0440\u043d\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 (\u043e\u0442 \u043b\u0430\u0442\u0438\u043d\u0441\u043a\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 \r\nternarius \u2014 \u00ab\u0442\u0440\u043e\u0439\u043d\u043e\u0439\u00bb) \u2014 \u044d\u0442\u043e \u044f\u0437\u044b\u043a\u043e\u0432\u0430\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0442\u0440\u0451\u0445 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u043e\u0432: \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0438 \u0434\u0432\u0443\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439. \u0415\u0441\u043b\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0431\u0443\u0434\u0435\u0442 true, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f \u043f\u0435\u0440\u0432\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u0435\u0441\u043b\u0438 false \u2014 \u0432\u0442\u043e\u0440\u043e\u0435. \u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0442\u0435\u0440\u043d\u0430\u0440\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0442\u0430\u043a:\r\n \r\n\u0421\u043a\u0440\u0438\u043d\u0448\u043e\u0442: \u041b\u0435\u0432 \u0421\u0435\u0440\u0433\u0435\u0435\u0432 \u0434\u043b\u044f Skillbox Media\r\n\r\n\u0424\u0438\u0448\u043a\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \r\n\u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e if-else \u0432\u0441\u0435\u0433\u043e \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u0447\u043a\u043e\u0439. \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0431\u0443\u043b\u0435\u0432\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e condition \u2014 \u0435\u0441\u043b\u0438 \u043e\u043d\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 true, \u0442\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f a = 100, \u0430 \u0435\u0441\u043b\u0438 false, \u0442\u043e a = 200. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435, \u043a\u0430\u043a \u043b\u0435\u0433\u043a\u043e \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0435\u0440\u043d\u0430\u0440\u043d\u043e\u0433\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430:\r\n \r\n\u0421\u043b\u0435\u0432\u0430 \u2014 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f if-else, \u0441\u043f\u0440\u0430\u0432\u0430 \u2014 \u0437\u0430\u043f\u0438\u0441\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0435\u0440\u043d\u0430\u0440\u043d\u043e\u0433\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430\r\n\u0421\u043a\u0440\u0438\u043d\u0448\u043e\u0442: \u041b\u0435\u0432 \u0421\u0435\u0440\u0433\u0435\u0435\u0432 \u0434\u043b\u044f Skillbox Media\r\n\r\n\u041a\u0430\u0436\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u044d\u0442\u0438 if-else \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u043e\u043e\u0431\u0449\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \r\n\u043d\u0435 \u043d\u0443\u0436\u043d\u044b. \u041c\u043e\u043b, \u0441\u0442\u0430\u0432\u044c \u0432\u0435\u0437\u0434\u0435 \u0442\u0435\u0440\u043d\u0430\u0440\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b, \u0438 \u0434\u0435\u043b\u043e \u0441 \u043a\u043e\u043d\u0446\u043e\u043c. \u041e\u0434\u043d\u0430\u043a\u043e \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0445 \u0441\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0439 \u043b\u043e\u0433\u0438\u043a\u043e\u0439 \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0432\u0440\u0435\u0434\u0438\u0442\u044c \u0447\u0438\u0442\u0430\u0435\u043c\u043e\u0441\u0442\u0438 \u043a\u043e\u0434\u0430. \u042d\u0442\u043e \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u2014 \u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435, \u0435\u0441\u043b\u0438 \u0432 \u043a\u0430\u0436\u0434\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0435\u0449\u0451 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0443. \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u043d\u0435\u043e\u043f\u0440\u044f\u0442\u043d\u043e. \u0414\u0440\u0443\u0433\u043e\u043c\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0430\u0448 \u043a\u043e\u0434, \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0431\u0443\u0434\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u043e.\r\n\r\n\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0435\u0440\u043d\u0430\u0440\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e\u0442 \r\n\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0442\u0435\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445, \u043a\u043e\u0433\u0434\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u0438 \u043b\u0435\u0433\u043a\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f. \u0410 \u0432\u043e \u0432\u0441\u0435\u0445 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u043f\u0440\u0438\u0431\u0435\u0433\u0430\u0442\u044c \u043a \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u043c \u00ab\u0438\u0444\u0430\u043c\u00bb \u0438 \u00ab\u044d\u043b\u0441\u0430\u043c\u00bb.\r\n\r\n\r\n\r\n\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0442\u0435\u0440\u043d\u0430\u0440\u043d\u044b\u043c\u0438 \r\n\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u043c\u0438, \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0438 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435: \u00ab\u0422\u0438\u043f Boolean \u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0432 Java \u00bb.\r\n\r\n\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 instanceof \u0432 Java\r\n\r\n\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442: \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u043b\u0438 \r\n\u043e\u0431\u044a\u0435\u043a\u0442 \u043a \u043a\u0430\u043a\u043e\u043c\u0443-\u0442\u043e \u043a\u043b\u0430\u0441\u0441\u0443 \u0438\u043b\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443, \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0431\u0443\u043b\u0435\u0432\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u2014 \u0442\u043e \u0435\u0441\u0442\u044c true \u0438\u043b\u0438 false.\r\n\r\n\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 instanceof \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \r\n\u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043f\u0440\u044f\u043c\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u043f\u0440\u0438\u0445\u043e\u0434\u044f\u0442 \u0432 \u0432\u0430\u0448 \u043a\u043e\u0434 \u0438\u0437 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043a \u043d\u0438\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u044b \u043a\u0430\u043a\u043e\u0433\u043e-\u0442\u043e \u043a\u043b\u0430\u0441\u0441\u0430. \u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f instanceof \u0442\u0430\u043a:\r\n \r\n\u0421\u043a\u0440\u0438\u043d\u0448\u043e\u0442: \u041b\u0435\u0432 \u0421\u0435\u0440\u0433\u0435\u0435\u0432 \u0434\u043b\u044f Skillbox Media\r\n\r\nimport java.io.Serializable; public class Main { public static void main(String[] \r\nargs) { \/\/ \u041e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c \u0441\u0441\u044b\u043b\u043a\u0443 \u0442\u0438\u043f\u0430 'Object' \u0438 \u043a\u043b\u0430\u0434\u0451\u043c \u043e\u0431\u044a\u0435\u043a\u0442 \u0442\u0438\u043f\u0430 'String' Object object = new String(); \/\/ 'true', \u0442\u0430\u043a \u043a\u0430\u043a \u0432 'object' \u043b\u0435\u0436\u0438\u0442 \u043e\u0431\u044a\u0435\u043a\u0442 'String' System.out.println(object instanceof String); \/\/ 'true', \u0442\u0430\u043a \u043a\u0430\u043a 'object' \u043d\u0430\u0441\u043b\u0435\u0434\u043d\u0438\u043a 'Object' System.out.println(object instanceof Object); \/\/ 'false', \u0442\u0430\u043a \u043a\u0430\u043a 'object' \u043d\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u043a\u043b\u0430\u0441\u0441\u0443 'Math' System.out.println(object instanceof Math); \/\/ 'true', \u0442\u0430\u043a \u043a\u0430\u043a \u0432 'object' \u043b\u0435\u0436\u0438\u0442 \u043e\u0431\u044a\u0435\u043a\u0442 'String', \/\/ \u0430 'String' \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 'Serializable' System.out.println(object instanceof Serializable); } }\r\n\r\n\u041f\u043e\u0431\u0438\u0442\u043e\u0432\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0432 Java \u0438 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \r\n\u0431\u0438\u0442\u043e\u0432\r\n\r\n\u0417\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u043d\u044b: \u0447\u0442\u043e\u0431\u044b \u043f\u0438\u0441\u0430\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0435 \r\n\u0441 \u0431\u0438\u0442\u0430\u043c\u0438, \u2014 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u044d\u0442\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0432 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0438 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445.\r\n\r\n\u0412 Java \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u0435\u043c\u044c \u043f\u043e\u0431\u0438\u0442\u043e\u0432\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432. \r\n\u0427\u0435\u0442\u044b\u0440\u0435 \u0438\u0437 \u043d\u0438\u0445 \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442 \u0437\u0430 \u043f\u043e\u0431\u0438\u0442\u043e\u0432\u044b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f. \u041e\u043d\u0438 \u043f\u043e\u0445\u043e\u0436\u0438 \u043d\u0430 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043c\u0435\u0441\u0442\u043e true \u0438 false \u0432\u044b \u0438\u043c\u0435\u0435\u0442\u0435 \u0434\u0435\u043b\u043e \u0441 \u043d\u0443\u043b\u044f\u043c\u0438 \u0438 \u0435\u0434\u0438\u043d\u0438\u0446\u0430\u043c\u0438 \u0432 \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f. \u041a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437\u0440\u044f\u0434 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043e\u0447\u0435\u0440\u0451\u0434\u043d\u043e \u2014 \u043d\u043e \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0438, \u043a\u043e\u0433\u0434\u0430 \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0434\u0432\u0435 \u0435\u0434\u0438\u043d\u0438\u0446\u044b, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0435 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043d\u0430 \u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0440\u0430\u0437\u0440\u044f\u0434 \u0438 \u043e\u0442\u0432\u0435\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 1. \u042d\u0442\u043e \u043a\u0430\u043a \u0435\u0441\u043b\u0438 \u0431\u044b \u043c\u044b \u0441\u0447\u0438\u0442\u0430\u043b\u0438 \u0441\u0442\u043e\u043b\u0431\u0438\u043a\u043e\u043c, \u0430 \u0432\u0441\u0451, \u0447\u0442\u043e \u00ab\u0432 \u0443\u043c\u0435\u00bb, \u2014 \u0432\u044b\u043a\u0438\u0434\u044b\u0432\u0430\u043b\u0438.\r\n\r\n\u0412\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:\r\n \r\n\u0421\u043a\u0440\u0438\u043d\u0448\u043e\u0442: \u041b\u0435\u0432 \u0421\u0435\u0440\u0433\u0435\u0435\u0432 \u0434\u043b\u044f Skillbox Media\r\n\r\n\u041f\u043e\u0431\u0438\u0442\u043e\u0432\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0431\u044b\u0432\u0430\u044e\u0442 \r\n\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438:\r\n\r\n\u0421\u0438\u043c\u0432\u043e\u043b \u0427\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \r\n& \u041f\u043e\u0431\u0438\u0442\u043e\u0432\u043e\u0435 \u0418 (AND) \u2014 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 \r\n| \u041f\u043e\u0431\u0438\u0442\u043e\u0432\u043e\u0435 \u0418\u041b\u0418 (OR) \u2014 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \r\n^ \u041f\u043e\u0431\u0438\u0442\u043e\u0432\u043e\u0435 \u0418\u0421\u041a\u041b\u042e\u0427\u0410\u042e\u0429\u0415\u0415 \u0418\u041b\u0418 (XOR) \u2014 \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u0435 \r\n \r\n~ \u041f\u043e\u0431\u0438\u0442\u043e\u0432\u043e\u0435 \u041d\u0415 (NOT) \u2014 \u043e\u0442\u0440\u0438\u0446\u0430\u043d\u0438\u0435 \r\n\r\n\r\n\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043f\u043e\u0431\u0438\u0442\u043e\u0432\u044b\u0435 \r\n\u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0432 Java, \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0451\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0432 \u0434\u0432\u043e\u0438\u0447\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f:\r\n\r\n\/\/ \u041f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c \u0447\u0438\u0441\u043b\u0430 \u043e\u0442 1 \u0434\u043e 8 \u0432 \u0434\u0432\u043e\u0438\u0447\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \r\n\/\/ 1 = 001 5 = 101 \/\/ 2 = 010 6 = 110 \/\/ 3 = 011 7 = 111 \/\/ 4 = 100 8 = 1000\r\n\r\n\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441 \u043d\u0438\u043c\u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \r\n\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438:\r\n\r\n\/\/ 100 \u043f\u043e\u0431\u0438\u0442\u043e\u0432\u043e \u0443\u043c\u043d\u043e\u0436\u0438\u0442\u044c \u043d\u0430 011 = 000 System.out.println(4 \r\n& 3); \/\/ \u0412\u044b\u0432\u043e\u0434: 0 \/\/ 010 \u043f\u043e\u0431\u0438\u0442\u043e\u0432\u043e \u0441\u043b\u043e\u0436\u0438\u0442\u044c \u0441 011 = 011 System.out.println(2 | 3); \/\/ \u0412\u044b\u0432\u043e\u0434: 3 \/\/ \u0438\u0437 010 \u043f\u043e\u0431\u0438\u0442\u043e\u0432\u043e \u0432\u044b\u0447\u0435\u0441\u0442\u044c 001 = 011 System.out.println(2 ^ 1); \/\/ \u0412\u044b\u0432\u043e\u0434: 3 \/\/ 000 \u0438\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 ... 111 ? System.out.println(~0); \/\/ \u0412\u044b\u0432\u043e\u0434: -1\r\n\r\n\u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \r\n\u043f\u0440\u0438 \u043f\u043e\u0431\u0438\u0442\u043e\u0432\u043e\u043c \u043e\u0442\u0440\u0438\u0446\u0430\u043d\u0438\u0438 \u0447\u0438\u0441\u043b\u0430 0, \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f -1. \u0422\u0443\u0442 \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u043d\u044e\u0430\u043d\u0441\u0430:\r\n\r\n- 0 \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0438\u043c\u0435\u0435\u0442 \u0442\u0438\u043f int \u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \r\n\u0432 \u043f\u0430\u043c\u044f\u0442\u0438 4 \u0431\u0430\u0439\u0442\u0430 \u2014 \u0442\u043e \u0435\u0441\u0442\u044c 32 \u0431\u0438\u0442\u0430.\r\n- \u0421\u0430\u043c\u044b\u0439 \u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0431\u0438\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 (\u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u043b\u0435\u0432\u0430) \r\n\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u043a\u043e\u0432\u044b\u043c. \u0415\u0441\u043b\u0438 \u043e\u043d \u0440\u0430\u0432\u0435\u043d 0, \u0442\u043e \u0447\u0438\u0441\u043b\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c, \u0430 \u0435\u0441\u043b\u0438 1 \u2014 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c.\r\n \r\n\u0421\u043a\u0440\u0438\u043d\u0448\u043e\u0442: \u041b\u0435\u0432 \u0421\u0435\u0440\u0433\u0435\u0435\u0432 \u0434\u043b\u044f Skillbox Media\r\n\r\n\u0415\u0441\u043b\u0438 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u0441\u0442\u0430\u0440\u0448\u0435\u0433\u043e \r\n\u0431\u0438\u0442\u0430, \u043c\u043e\u0436\u043d\u043e \u0431\u0435\u0437 \u0442\u0440\u0443\u0434\u0430 \u043e\u0441\u0432\u043e\u0438\u0442\u044c \u0442\u0440\u0438 \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u043f\u043e\u0431\u0438\u0442\u043e\u0432\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u043c\u0438 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0431\u0438\u0442\u043e\u0432:\r\n\r\n\u0421\u0438\u043c\u0432\u043e\u043b \u0427\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \r\n<< \u0421\u0434\u0432\u0438\u0433 \u0431\u0438\u0442\u043e\u0432 \u0432\u043b\u0435\u0432\u043e \r\n>> \u0421\u0434\u0432\u0438\u0433 \u0431\u0438\u0442\u043e\u0432 \u0432\u043f\u0440\u0430\u0432\u043e \r\n>>> \u0411\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u044b\u0439 \u0441\u0434\u0432\u0438\u0433 \u0431\u0438\u0442\u043e\u0432 \u0432\u043f\u0440\u0430\u0432\u043e \r\n \r\n\r\n\r\n\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0441\u0434\u0432\u0438\u0433\u0430 \u0441\u043c\u0435\u0449\u0430\u044e\u0442 \u0432\u0441\u0435 \u0431\u0438\u0442\u044b \u0432 \u043b\u0435\u0432\u0443\u044e \r\n\u0438\u043b\u0438 \u043f\u0440\u0430\u0432\u0443\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u0443, \u043d\u043e \u0434\u0435\u043b\u0430\u044e\u0442 \u044d\u0442\u043e \u043f\u043e-\u0440\u0430\u0437\u043d\u043e\u043c\u0443:\r\n\r\n- >> \u043d\u0435 \u0442\u0440\u043e\u0433\u0430\u0435\u0442 \u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0431\u0438\u0442, \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044f \r\n\u0447\u0438\u0441\u043b\u043e \u0441 \u0442\u0435\u043c \u0436\u0435 \u0437\u043d\u0430\u043a\u043e\u043c (\u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0438\u043b\u0438 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c). \u042f\u0447\u0435\u0439\u043a\u0438 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u043f\u0440\u0438 >> \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0435\u0434\u0438\u043d\u0438\u0446\u0430\u043c\u0438.\r\n- >>> \u0438 << \u2014 \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u044e\u0442 \u0432\u0441\u0435 \r\n\u0431\u0438\u0442\u044b. \u041e\u0441\u0432\u043e\u0431\u043e\u0434\u0438\u0432\u0448\u0438\u0435\u0441\u044f \u044f\u0447\u0435\u0439\u043a\u0438 \u0441\u043f\u0440\u0430\u0432\u0430 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043d\u0443\u043b\u044f\u043c\u0438. \u041d\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u044f\u0447\u0435\u0435\u043a \u0441\u043b\u0435\u0432\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0437\u043d\u0430\u043a\u0430 \u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430.\r\n\r\n\u0417\u0432\u0443\u0447\u0438\u0442 \u0441\u043b\u043e\u0436\u043d\u043e, \u043d\u0430 \u0434\u0435\u043b\u0435 \u2014 \u0442\u043e\u0436\u0435 \u0441\u043b\u043e\u0436\u043d\u043e. \r\n\u041d\u043e \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u2014 \u0440\u0430\u0437\u043b\u043e\u0436\u0438\u043c \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u043d\u0430 \u0431\u0438\u0442\u044b \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0431\u0438\u0442\u043e\u0432.\r\n\r\n\u0412 Java \u0435\u0441\u0442\u044c \u043c\u0435\u0442\u043e\u0434 toBinaryString(), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \r\n\u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0432 \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435. \u041d\u043e \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u2014 \u044d\u0442\u043e \u0435\u0449\u0451 \u043d\u0435 \u0431\u0438\u0442\u044b. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0438\u0441\u043b\u043e 2 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 32 \u0431\u0438\u0442\u0430, \u043d\u043e \u0435\u0441\u043b\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0435\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u043e\u043c toBinaryString(), \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0432\u0430 \u0438\u0437 \u043d\u0438\u0445: 1 \u0438 0. \u041e\u0441\u0442\u0430\u0432\u0448\u0438\u0435\u0441\u044f 30 \u043d\u0443\u043b\u0435\u0439 \u043f\u0440\u043e\u0441\u0442\u043e \u00ab\u043e\u0431\u0440\u0435\u0437\u0430\u044e\u0442\u0441\u044f\u00bb. \u042d\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u043e \u0442\u043e\u0439 \u0436\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u0435, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0435 \u043f\u0438\u0448\u0435\u043c \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e 9 \u043a\u0430\u043a 009.\r\n\r\nSystem.out.print(Integer.toBinaryString(2)); \u0412\u044b\u0432\u043e\u0434: 10\r\n\r\n\u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0447\u0442\u043e\u0431\u044b \u043b\u0443\u0447\u0448\u0435 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \r\n\u043f\u043e\u0431\u0438\u0442\u043e\u0432\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432, \u043b\u0443\u0447\u0448\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 BinaryString, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0431\u0438\u0442\u044b \u0443\u0436\u0435 \u0442\u0430\u043a, \u043a\u0430\u043a \u043d\u0430\u0434\u043e:\r\n\r\n\/\/ \u041c\u0435\u0442\u043e\u0434 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043a \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u043c\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \r\n\u0432\u0441\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u044e\u0449\u0438\u0435 \u0431\u0438\u0442\u044b \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0438\u0445 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d public static void printBinaryString(int hexNumber){ String bits = Integer.toBinaryString(hexNumber); String allBits = \"00000000000000000000000000000000\" .substring(0, 32 - bits.length()) + bits; System.out.printf(\"%11d : %s\\n\", hexNumber, allBits); }\r\n\r\n\u0421\u0434\u0432\u0438\u043d\u0443\u0432 \u0431\u0438\u0442\u044b \u0447\u0438\u0441\u043b\u0430 1 \u0434\u0432\u0430 \u0440\u0430\u0437\u0430 \u0432\u043b\u0435\u0432\u043e, \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \r\n4. \u0410 \u0435\u0441\u043b\u0438 \u043f\u043e\u0442\u043e\u043c \u0441\u0434\u0432\u0438\u043d\u0443\u0442\u044c \u0438\u0445 \u0435\u0449\u0451 29 \u0440\u0430\u0437, \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0438\u043f\u0430 int: \u20132 147 483 648.\r\n\r\nprintBinaryString(1); printBinaryString(1 << 2); \/\/ \u0421\u043c\u0435\u0449\u0430\u0435\u043c \r\n\u0431\u0438\u0442\u044b \u0447\u0438\u0441\u043b\u0430 '1' \u0432\u043b\u0435\u0432\u043e \u043d\u0430 2 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 printBinaryString(4 << 29); \/\/ \u0421\u043c\u0435\u0449\u0430\u0435\u043c \u0431\u0438\u0442\u044b \u0447\u0438\u0441\u043b\u0430 '4' \u0432\u043b\u0435\u0432\u043e \u043d\u0430 29 \u043f\u043e\u0437\u0438\u0446\u0438\u0439 \u0412\u044b\u0432\u043e\u0434: 1 : 00000000000000000000000000000001 4 : 00000000000000000000000000000100 -2147483648 : 10000000000000000000000000000000\r\n\r\n\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0441\u0434\u0432\u0438\u043d\u0443\u0442\u044c \u043d\u0430\u0448\u0438 \u0431\u0438\u0442\u044b \u0443\u0436\u0435 \r\n\u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u0443. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u043a\u0430\u043a \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u0430 >> \u0438 >>>. \u0412 \u043f\u0435\u0440\u0432\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u0441\u0451 \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f \u0435\u0434\u0438\u043d\u0438\u0446\u0430\u043c\u0438 \u0438 \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u043c\u0438\u043d\u0443\u0441\u043e\u0432\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0430 \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0443\u043b\u0438.\r\n\r\nprintBinaryString(Integer.MIN_VALUE); \/\/ \u0421\u043c\u0435\u0449\u0430\u0435\u043c \u0431\u0438\u0442\u044b \u0447\u0438\u0441\u043b\u0430 \r\n'-2147483648' \u0432\u043f\u0440\u0430\u0432\u043e \u043d\u0430 16 printBinaryString(Integer.MIN_VALUE >> 16); \/\/ \u0411\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0431\u0438\u0442\u043e\u0432 \u0447\u0438\u0441\u043b\u0430 '-2147483648' \u0432\u043f\u0440\u0430\u0432\u043e \u043d\u0430 16 printBinaryString(Integer.MIN_VALUE >>> 16); \u0412\u044b\u0432\u043e\u0434: -2147483648 : 10000000000000000000000000000000 -32768 : 11111111111111111000000000000000 32768 : 00000000000000001000000000000000\r\n\r\n\u041a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \r\n>> \u0438 >>> \u043c\u044b \u0441\u0434\u0432\u0438\u0433\u0430\u0435\u043c \u0432\u0441\u0435 \u0431\u0438\u0442\u044b \u0447\u0438\u0441\u043b\u0430 \u0432\u043f\u0440\u0430\u0432\u043e. \u041d\u043e \u043f\u0440\u0438 \u043e\u0431\u044b\u0447\u043d\u043e\u043c \u0441\u0434\u0432\u0438\u0433\u0435 (>>) \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043c\u044b \u043d\u0435 \u0442\u0440\u043e\u0433\u0430\u0435\u043c \u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0431\u0438\u0442. \u041f\u0440\u0438 \u0431\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e\u043c \u0441\u0434\u0432\u0438\u0433\u0435 (>>>) \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442 \u2014 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0441\u0442\u0430\u043d\u0435\u0442 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043c\u044b \u0437\u0430\u0442\u0440\u043e\u043d\u0435\u043c \u044d\u0442\u0443 \u0437\u043d\u0430\u0447\u0438\u043c\u0443\u044e \u0435\u0434\u0438\u043d\u0438\u0446\u0443.\r\n\r\n\u0421\u043e\u0441\u0442\u0430\u0432\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u044f \u0432 Java\r\n\r\n\u0417\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u043d\u044b: \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \r\n\u043a\u043e\u0440\u043e\u0447\u0435 \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u044b \u043a \u0435\u0434\u0438\u043d\u043e\u043c\u0443 \u0442\u0438\u043f\u0443.\r\n\r\n\u0412 Java \u0435\u0441\u0442\u044c \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0435 \u0444\u043e\u0440\u043c\u044b \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \r\n\u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u044f \u2014 \u0441\u043e\u0441\u0442\u0430\u0432\u043d\u044b\u0435. \u0422\u0430\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 x \u0438 y, \u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0435\u0435\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u043c\u0435\u0449\u0430\u044e\u0442 \u0432 x. \u0412\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u0441\u043e\u0441\u0442\u0430\u0432\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0442\u0430\u043a:\r\n \r\n\u0421\u043a\u0440\u0438\u043d\u0448\u043e\u0442: \u041b\u0435\u0432 \u0421\u0435\u0440\u0433\u0435\u0435\u0432 \u0434\u043b\u044f Skillbox Media\r\n\r\n\u041f\u043b\u044e\u0441 \u0441\u043e\u0441\u0442\u0430\u0432\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \r\n\u043e\u043d\u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043a\u043e\u0440\u043e\u0447\u0435 \u0438 \u043d\u0435\u044f\u0432\u043d\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u044f\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u0442\u0438\u043f\u0443, \u0435\u0441\u043b\u0438 \u044d\u0442\u0438 \u0442\u0438\u043f\u044b \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043b\u043e\u0436\u0438\u0442\u044c \u0434\u0440\u043e\u0431\u0438 \u0438 \u0447\u0438\u0441\u043b\u0430 \u0431\u0435\u0437 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u044f, \u0438 \u043d\u0430\u043c \u0437\u0430 \u044d\u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0431\u0443\u0434\u0435\u0442. \u0410 \u0432 \u043f\u043e\u043b\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u0431\u0443\u0434\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0430:\r\n\r\nint x = 1; double y = 3.1415d; x = x + y; \/\/ \u042d\u0442\u0430 \u0441\u0442\u0440\u043e\u043a\u0430 \u043d\u0435 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \r\nx += y; \/\/ \u0410 \u0437\u0434\u0435\u0441\u044c \u0432\u0441\u0451 \u0445\u043e\u0440\u043e\u0448\u043e \/\/ \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 += \u0432 \u0440\u0430\u0437\u0432\u0451\u0440\u043d\u0443\u0442\u043e\u043c \u0432\u0438\u0434\u0435 x = (int)(x + y); \r\n\r\n\u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u044b \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 Java\r\n\r\n\u0423 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 Java \u0435\u0441\u0442\u044c \u0441\u0432\u043e\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442. \r\n\u0427\u0435\u043c \u043e\u043d \u0432\u044b\u0448\u0435, \u0442\u0435\u043c \u0440\u0430\u043d\u044c\u0448\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f \u0432 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0438. \u0411\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u0438 \u0442\u0435\u0440\u043d\u0430\u0440\u043d\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b (\u043a\u0440\u043e\u043c\u0435 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u044f) \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0441\u043b\u0435\u0432\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u043e, \u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 (\u0443\u043d\u0430\u0440\u043d\u044b\u0435 \u0438 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u044f) \u2014 \u0441\u043f\u0440\u0430\u0432\u0430 \u043d\u0430\u043b\u0435\u0432\u043e.\r\n\r\n\u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\r\n(\u0441\u043d\u0438\u0437\u0443 \u0432\u0432\u0435\u0440\u0445) \u0413\u0440\u0443\u043f\u043f\u0430 \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \r\n13 \u041f\u043e\u0441\u0442\u0444\u0438\u043a\u0441\u043d\u044b\u0435 x++ x\u2013\u2013 \r\n12 \u0423\u043d\u0430\u0440\u043d\u044b\u0435 ++x \u2013\u2013x +x \u2013x ~x !x \r\n11 \u041c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0438\u043a\u0430\u0442\u0438\u0432\u043d\u044b\u0435 * \/ % \r\n10 \u0410\u0434\u0434\u0438\u0442\u0438\u0432\u043d\u044b\u0435 + - \r\n9 \u0421\u0434\u0432\u0438\u0433\u0430 \u0431\u0438\u0442\u043e\u0432 << >> >>> \r\n8 \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f < > <= >= instanceof \r\n7 \u0420\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u0430 == != \r\n6 \u041f\u043e\u0431\u0438\u0442\u043e\u0432\u043e\u0435 \u0418 & \r\n5 \u041f\u043e\u0431\u0438\u0442\u043e\u0432\u043e\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0435\u0435 \u0418\u041b\u0418 ^ \r\n4 \u041f\u043e\u0431\u0438\u0442\u043e\u0432\u043e\u0435 \u0418\u041b\u0418 | \r\n3 \u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0418 && \r\n2 \u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0418\u041b\u0418 || \r\n1 \u0422\u0435\u0440\u043d\u0430\u0440\u043d\u044b\u0439 ? : \r\n0 \u041f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u044f = += -= *= \/= %=\r\n&= ^= |=\r\n<<= >>= >>>= \r\n\r\n\r\n\u0420\u0435\u0437\u044e\u043c\u0435: \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c\r\n\r\n\u041c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u0432\u0441\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \r\n\u0432 Java \u0438 \u0438\u0445 \u0440\u0430\u0431\u043e\u0442\u0443 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043a\u0440\u0430\u0442\u043a\u043e \u0440\u0435\u0437\u044e\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043d\u0435\u0441\u0442\u0438 \u0438\u0437 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438:\r\n\r\n- \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u2014 \u044d\u0442\u043e \u044f\u0437\u044b\u043a\u043e\u0432\u0430\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f, \r\n\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043d\u0430\u0434 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u043e\u043c.\r\n- \u041e\u043f\u0435\u0440\u0430\u043d\u0434 \u2014 \u044d\u0442\u043e \u0447\u0438\u0441\u043b\u043e, \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f, \u043e\u0431\u044a\u0435\u043a\u0442 \r\n\u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0441\u043e\u0432\u0435\u0440\u0448\u0430\u0435\u0442 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435).\r\n- \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0431\u044b\u0432\u0430\u044e\u0442 \u0443\u043d\u0430\u0440\u043d\u044b\u0435, \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u0438 \u0442\u0435\u0440\u043d\u0430\u0440\u043d\u044b\u0435 \u2014 \r\n\u044d\u0442\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0442\u043e\u0433\u043e, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u043e\u0432 \u043e\u043d\u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442.\r\n- \u0410\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u043d\u0443\u0436\u043d\u044b \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \r\n\u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439: \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u044f, \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u044f, \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0438 \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441 \u043e\u0441\u0442\u0430\u0442\u043a\u043e\u043c.\r\n- \u0423\u043d\u0430\u0440\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043e\u0434\u043d\u0438\u043c \r\n\u043e\u043f\u0435\u0440\u0430\u043d\u0434\u043e\u043c. \u042d\u0442\u043e \u0443\u043d\u0430\u0440\u043d\u044b\u0435 \u043c\u0438\u043d\u0443\u0441 \u0438 \u043f\u043b\u044e\u0441, \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442, \u0434\u0435\u043a\u0440\u0435\u043c\u0435\u043d\u0442, \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0438 \u043f\u043e\u0431\u0438\u0442\u043e\u0432\u043e\u0435 \u043e\u0442\u0440\u0438\u0446\u0430\u043d\u0438\u0435.\r\n- \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \r\n\u0434\u0432\u0443\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u043e\u0442\u0432\u0435\u0442 \u2014 true \u0438\u043b\u0438 false.\r\n- \u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0437\u0430\u0442\u043e\u0447\u0435\u043d\u044b \u0443\u0436\u0435 \u043d\u0435 \u043d\u0430 \u0447\u0438\u0441\u043b\u0430, \r\n\u0430 \u043d\u0430 \u0446\u0435\u043b\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u2014 \u0438 \u043d\u0430 \u0438\u0445 \u043e\u0441\u043d\u043e\u0432\u0435 \u0441\u043e\u0437\u0434\u0430\u044e\u0442 \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u0446\u0438\u043a\u043b\u0430\u0445.\r\n- \u0422\u0435\u0440\u043d\u0430\u0440\u043d\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0443\u043c\u0435\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u0440\u0430\u0437\u0443 \r\n\u0441 \u0442\u0440\u0435\u043c\u044f \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u0430\u043c\u0438: \u0443\u0441\u043b\u043e\u0432\u0438\u0435\u043c \u0438 \u0434\u0432\u0443\u043c\u044f \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438. \u0422\u043e \u0435\u0441\u0442\u044c \u0438\u043c \u0432\u043f\u043e\u043b\u043d\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u044f \u0442\u0438\u043f\u0430 if-else.\r\n- \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 instanceof \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u044c \r\n\u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043a \u043a\u043b\u0430\u0441\u0441\u0443.\r\n- \u041f\u043e\u0431\u0438\u0442\u043e\u0432\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u043d\u0443\u0436\u043d\u044b \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \r\n\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0441 \u0431\u0438\u0442\u0430\u043c\u0438 \u2014 \u0435\u0441\u043b\u0438 \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c, \u0442\u043e \u0441 \u043d\u0443\u043b\u044f\u043c\u0438 \u0438 \u0435\u0434\u0438\u043d\u0438\u0446\u0430\u043c\u0438 \u0432 \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f.\r\n- \u0421\u043e\u0441\u0442\u0430\u0432\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u043d\u0435\u044f\u0432\u043d\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u044f\u0442 \u0442\u0438\u043f\u044b \r\n\u0434\u0430\u043d\u043d\u044b\u0445, \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u0440\u0430\u0437\u043d\u044b\u0435.\r\n- \u0423 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0435\u0441\u0442\u044c \u0441\u0432\u043e\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442.\r\n\r\n\u0414\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0433\u043b\u0443\u0431\u043e\u043a\u043e\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0442\u0435\u043c\u044b \u043c\u043e\u0436\u043d\u043e \r\n\u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u043d\u0430\u0448\u0438 \u0441\u0442\u0430\u0442\u044c\u0438: \u00ab\u0422\u0438\u043f Boolean \u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0432 Java \u00bb \u0438 \u00ab\u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0432 Java \u00bb. \u0410 \u0435\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0445\u043e\u0440\u043e\u0448\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f, \u043f\u043e\u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e Java \u2014 \u044d\u0442\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u043b\u0443\u0447\u0448\u0438\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0441\u0432\u043e\u0438\u0442\u044c \u044f\u0437\u044b\u043a \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0435\u0433\u043e \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u044f\u043c\u0438.\r\n\r\n\r\n\r\n\u0427\u0438\u0442\u0430\u0439\u0442\u0435 \u0442\u0430\u043a\u0436\u0435:\r\n\r\n- \u0422\u0438\u043f Boolean \u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0432 Java \r\n \r\n- \u0422\u0435\u0441\u0442. \u041a\u0430\u043a\u043e\u0439 \u044f\u0437\u044b\u043a \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u0442\u0435 \u0432\u044b \u2014 Java \u0438\u043b\u0438 \r\nPython? \r\n- \u0427\u0435\u043c \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434- \u0438 \u0431\u044d\u043a\u0435\u043d\u0434-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \r\n","author":{"@type":"Person","name":"\u041b\u0435\u0432 \u0421\u0435\u0440\u0433\u0435\u0435\u0432","url":"https:\/\/skillbox.ru\/media\/authors\/lev-sergeev\/"},"publisher":{"@type":"Organization","name":"Skillbox","logo":{"@type":"ImageObject","url":"https:\/\/skillbox.ru\/static\/images\/skillbox.png"}},"mainEntityOfPage":{"@type":"WebPage","url":"https:\/\/skillbox.ru\/media\/code\/operatory-v-java-dlya-chego-nuzhny-i-kakie-byvayut\/"},"datePublished":"2023-02-17T08:05:00Z","dateModified":"2023-02-17T11:53:39Z","image":{"@type":"ImageObject","url":["https:\/\/248006.selcdn.ru\/main\/iblock\/8da\/8da738a88344fd1788510936a0d55195\/1a63e5a8d3ca1145ad403d841e8db728.png"]},"description":"\u0417\u043d\u0430\u043a\u043e\u043c\u0438\u043c\u0441\u044f \u0441 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438 \u044f\u0437\u044b\u043a\u0430 \u0438 \u0443\u0447\u0438\u043c\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043d\u0438\u043c\u0438 \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435."}
</script><script data-skip-moving="true" id="FiMjZmipVK5U4ODg">if (window.relap) window.relap.ar('FiMjZmipVK5U4ODg');</script> </div>
<script>
window.Section_id = 10;
</script>
</div>
</main>
<footer class="without-buttons">
<div class="footer__wrapper container">
<div class="footer__firstgroup">
<section class="footer__contactbox">
<address class="footer__contacts">
<p class="footer__contacts-block">
<a class="footer__phone link" href="tel:+74951540915">8 (800) 500-05-22</a>
<span class="footer__phone-caption">Контактный центр</span>
</p>
<p class="footer__contacts-block">
<a class="footer__phone link" href="tel:+74952915987">+7(495) 291-59-87</a>
<span class="footer__phone-caption">Отдел заботы о пользователях</span>
</p>
<p class="footer__address"> Москва, Ленинский проспект, дом 6, строение 20</p>
</address>
<ul class="social-contacts footer__social">
<li>
<a class="social-contacts__item" href="https://vk.com/skillbox_education"
aria-label="Вконтакте">
<img src="/static/images/footer/soc_vk.svg"/>
</a>
</li>
<li>
<a class="social-contacts__item"
href="https://www.youtube.com/channel/UC2FJq-Rr7v4SlKAoM7x0ZhA" aria-label="YouTube">
<img src="/static/images/footer/soc_tube.svg"/>
</a>
</li>
<li>
<a class="social-contacts__item" href="tg://resolve?domain=skillboxru"
aria-label="Telegram">
<img src="/static/images/footer/soc_tg.svg"/>
</a>
</li>
</ul>
<div class="footer__age-limit">
16+
</div>
</section>
<section class="footer__rewardbox">
<ul class="rewards footer__rewards">
<li>
<span class="rewards__item">
<img src="/static/images/footer/footer_runet.svg" alt=""/>
<span>Премии Рунета</span>
<span>2018, 2019, 2020</span>
</span>
</li>
</ul>
</section>
</div>
<section class="footer__linksbox">
<ul class="links__list links__list--courses">
<li class="links__item links__item--header">Все направления</li>
<li class="links__item"><a href="/code/?utm_source=media&utm_medium=button&utm_campaign=footerlink_code&utm_term=footer">Программирование</a></li>
<li class="links__item"><a href="/design/?utm_source=media&utm_medium=button&utm_campaign=footerlink_design&utm_term=footer">Дизайн</a></li>
<li class="links__item"><a href="/marketing/?utm_source=media&utm_medium=button&utm_campaign=footerlink_marketing&utm_term=footer">Маркетинг</a></li>
<li class="links__item"><a href="/management/?utm_source=media&utm_medium=button&utm_campaign=footerlink_management&utm_term=footer">Управление</a></li>
<li class="links__item"><a href="/games/?utm_source=media&utm_medium=button&utm_campaign=footerlink_gamedev&utm_term=footer">Игры</a></li>
<li class="links__item"><a href="/multimedia/?utm_source=media&utm_medium=button&utm_campaign=footerlink_multimedia&utm_term=footer">Мультимедиа</a></li>
<li class="links__item"><a href="/psychology/?utm_source=media&utm_medium=button&utm_campaign=footerlink_psychology&utm_term=footer">Психология</a></li>
<li class="links__item"><a href="/general-development/?utm_source=media&utm_medium=button&utm_campaign=footerlink_general-development&utm_term=footer">Общее развитие</a></li>
<li class="links__item"><a href="/engineering/?utm_source=media&utm_medium=button&utm_campaign=footerlink_engineering&utm_term=footer">Инженерия</a></li>
<li class="links__item"><a href="/english/?utm_source=media&utm_medium=button&utm_campaign=footerlink_english&utm_term=footer">Английский язык</a></li>
<li class="links__item"><a href="/other/?utm_source=media&utm_medium=button&utm_campaign=footerlink_other&utm_term=footer">Другое</a></li>
</ul>
<ul class="links__list links__list--about">
<li class="links__item links__item--header">О Skillbox</li>
<li class="links__item"><a href="/company/?utm_source=media&utm_medium=button&utm_campaign=footerlink_aboutskillbox&utm_term=footer">О Платформе</a></li>
<li class="links__item"><a href="/career/?utm_source=media&utm_medium=button&utm_campaign=footerlink_careercentr&utm_term=footer"> Центр карьеры</a></li>
<li class="links__item"><a href="/otzyvy/?utm_source=media&utm_medium=button&utm_campaign=footerlink_testimonials&utm_term=footer">Отзывы</a></li>
<li class="links__item"><a href="/contacts/?utm_source=media&utm_medium=button&utm_campaign=footerlink_skillboxcontacts&utm_term=footer">Контакты</a></li>
<li class="links__item"><a href="/jobs/?utm_source=media&utm_medium=button&utm_campaign=footerlink_jobs&utm_term=footer">Вакансии</a></li>
<li class="links__item"><a href="/teachers/?utm_source=media&utm_medium=button&utm_campaign=footerlink_school&utm_term=footer">Школа кураторов</a></li>
<li class="links__item"><a href="/sale/free/?utm_source=media&utm_medium=button&utm_campaign=footerlink_free&utm_term=footer">Бесплатно</a></li>
<li class="links__item"><a href="/media/topic/tests/?utm_source=media&utm_medium=button&utm_campaign=footerlink_tests&utm_term=footer">Онлайн-тесты</a></li>
</ul>
<ul class="links__list links__list--webinar">
<li class="links__item links__item--header">Вебинары</li>
<li class="links__item"><a href="https://live.skillbox.ru/?utm_source=media&utm_medium=button&utm_campaign=footerlink_webinars&utm_term=footer" target="_blank" rel="noopener">Все вебинары</a></li>
<li class="links__item"><a href="https://live.skillbox.ru/playlists/?utm_source=media&utm_medium=button&utm_campaign=footerlink_playlists&utm_term=footer" target="_blank" rel="noopener">Плейлисты</a></li>
<li class="links__item"><a href="https://live.skillbox.ru/calendar/?utm_source=media&utm_medium=button&utm_campaign=footerlink_schedule&utm_term=footer" target="_blank" rel="noopener">Расписание</a></li>
</ul>
<ul class="links__list links__list--last">
<li class="links__item links__journal"><a href="/media/" target="_blank" rel="noopener">Медиа</a></li>
<li class="links__item"><a href="https://partners.skillbox.ru/?utm_source=media&utm_medium=button&utm_campaign=footerlink_partners&utm_term=footer" target="_blank" rel="noopener">Партнерская программа</a></li>
<li class="links__item"><a href="https://b2b.skillbox.ru/?utm_source=media&utm_medium=button&utm_campaign=footerlink_b2b&utm_term=footer" target="_blank" rel="noopener">Корпоративным клиентам</a></li>
<li class="links__item"><a href="https://career.skillbox.ru/?utm_source=media&utm_medium=button&utm_campaign=footerlink_employees&utm_term=footer" target="_blank" rel="noopener">Для работодателей</a></li>
</ul>
</section>
</div>
<div class="footer__underline container">
<span class="footer__copy">
© Skillbox, 2026 </span>
<div>
<span class="footer__oferta">
<a href="/oferta.pdf" target="_blank">Договор оферты</a>
</span>
<span class="footer__payment">
<a href="/payments/" target="_blank">Оплата</a>
</span>
<span class="footer__use-policy">
<a href="/terms_of_use.pdf" target="_blank">Правила пользования Платформой</a>
<a href="/privacy_policy.pdf" target="_blank">Политика конфиденциальности</a>
</span>
</div>
</div>
</footer>
<div class="cookies">
<p class="cookies__desc">
Пользуясь нашим сайтом, вы соглашаетесь с тем, что
<a href="https://skillbox.ru/privacy_policy.pdf" target="_blank" rel="noopener"
type="application/pdf">мы используем cookies</a> 🍪
</p>
<button type="button" class="cookies__button">
Окей
</button>
</div>
<div class="subscribe-popup subscribe">
<div class="subscribe-popup__spacer-mobile"></div>
<div class="subscribe-popup__row-content ">
<button class="subscribe__close"></button>
<div class="subscribe__content">
<div data-subscribe-popup-success class="hidden">
<h2 class="subscribe__header-success">Спасибо за подписку! Забирайте 5 бесплатных курсов:</h2>
<ul class="subscribe__list-block">
<li>Найти себя в IT за 5 дней</li>
<li>Как найти себя в дизайне в 2025 году</li>
<li>Интерьеры, мебель, ландшафт и декорирование</li>
<li>Интернет-маркетинг на практике</li>
<li>Бизнес-аналитик, продакт- и проджект-менеджер</li>
</ul>
<div class="subscribe__btns-el">
<a
target="_blank"
href="https://refer.id/?bot=skillbox_main_bot&platform=telegram&verbose_name=Skillbox&bot_avatar=https://designer.ftrcdn.com/uploads/bot_avatars/medium_54ab1ce8c393eb3df1474846ce0a0e2c.png&n=137050&c=9209&bc_number=890&?utm_source=media&utm_medium=&utm_campaign=all_all_media_banners_invite_sbornik-890_all_bot_skillbox"
class="subscribe__el-btn">Получить доступ</a>
</div>
</div>
<div data-subscribe-popup-content>
<h2 class="subscribe__header">У нас есть классные рассылки!</h2>
<form action="/media/code/operatory-v-java-dlya-chego-nuzhny-i-kakie-byvayut/" class="newsletter-form page-subscription__form3" data-type="popup">
<input type="hidden" name="action" value="subscribe">
<div class="subscribe__checkboxes"></div>
<div class="subscribe__email email_popup">
<input class="subscribe-form__input" type="text" name="email" placeholder="Email" >
<span class="subscribe-form__label-name">Электронная почта</span>
<button type="submit" class="popup-btn-click">Подписаться</button>
<span class="email__error">Поле необходимо заполнить</span>
</div>
<div class="subscribe-popup__checkbox-end">
<div class="subscribe-popup__checkbox-item" data-checkbox-personal-data>
<div class="subscribe__checkbox">
<input type="checkbox" name="agreements[PERS]" id="isCheckTrue" value="1" data-checkbox-personal-data-input>
<label for="isCheckTrue"><span>Я согласен на <a target="_blank" href="https://skillbox.ru/legal-docs/chou/file/privacy_policy/version-290425.pdf">обработку персональных данных</a></span></label>
</div>
<span class="email__error">Нужно ваше согласие</span>
</div>
<div class="subscribe__bottom">
<span>Нажимая на кнопку, я соглашаюсь с <a target="_blank" href="https://skillbox.ru/legal-docs/skillbox/file/terms_of_use/version-300824.pdf">правилами пользования Платформой</a></span>
</div>
<div class="subscribe-popup__checkbox-item" data-checkbox-personal-data-two>
<div class="subscribe__checkbox subscribe__checkbox--end" >
<input type="checkbox" name="agreements[ADS]" id="isAdsCalls" value="1" checked="" data-checkbox-personal-data-input-two>
<label for="isAdsCalls">Я согласен <a target="_blank" href="https://skillbox.ru/legal-docs/chou/file/soglasie-na-poluchenie-reklamy.pdf">получать рекламу и звонки</a></label>
</div>
<span class="email__error">Нужно ваше согласие</span>
</div>
</div>
</form>
</div>
</div>
</div>
<!-- src="/static/images/articles/subscribe-popup-img.png" -->
</div>
<div class="bg-modal-overlay bg-modal-overlay--transparent"></div>
<script data-skip-moving="true" id="popup__data--formatted">
$(".popup-btn-click").on("click" , function (){
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
let input = $(this).closest(".subscribe__email").find(".subscribe-form__input");
let inputValue = input.val();
if(emailPattern.test(inputValue)) {
(window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() { rrApi.setEmail(inputValue);});
}
});
/*
window.popupData = {
"8": {
header: 'У нас есть классные рассылки про дизайн!!!',
category: 'Дизайн',
checkboxes: [
'Лучшие статьи про Дизайн',
'«Типографика без боли»'
]
},
"10": {
header: 'У нас есть классные рассылки про код',
category: 'Код',
checkboxes: [
'Лучшие статьи про Код и Людей кода',
'«Жизнь без багов»'
]
},
"18": {
category: 'Геймдев',
checkboxes: []
},
"21": {
header: 'У нас есть классные рассылки про бизнес',
category: 'Бизнес',
checkboxes: [
'Лучшие статьи про Бизнес',
'«Цифровая жизнь»',
'«EdTech по полочкам»'
]
},
"9": {
header: 'У нас есть классные рассылки про бизнес',
category: 'Маркетинг',
checkboxes: [
'Лучшие статьи про Бизнес',
'«Цифровая жизнь»',
'«EdTech по полочкам»'
]
},
"11": {
header: 'У нас есть классные рассылки про бизнес',
category: 'Управление',
checkboxes: [
'Лучшие статьи про Бизнес',
'«Цифровая жизнь»',
'«EdTech по полочкам»'
]
},
"17": {
category: 'Развитие',
checkboxes: []
},
"22": {
header: 'У нас есть классные рассылки про образование',
category: 'Образование',
checkboxes: [
'Лучшие статьи про Образование',
'«EdTech по полочкам»',
'«Мой успешный онлайн-курс»'
]
},
}
*/
window.popupData = {"header":"\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 - \u043d\u0430 \u043f\u043e\u0447\u0442\u0443!\u003Cbr\/\u003E\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0435\u043c\u0443 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438\u003Cbr\/\u003E\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 5 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0445 \u043a\u0443\u0440\u0441\u043e\u0432:","category":"\u041a\u043e\u0434","checkboxes":{"23":"\u041c\u0435\u043d\u0435\u0434\u0436\u043c\u0435\u043d\u0442","24":"\u041c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433","26":"\u041a\u043e\u0440\u043f. \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435","13":"\u0414\u0438\u0437\u0430\u0439\u043d","16":"\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435","15":"\u041e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435","17":"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438\u0433\u0440","18":"\u041f\u0441\u0438\u0445\u043e\u043b\u043e\u0433\u0438\u044f, \u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e"},"code":"code","scroll":true};
window.subscribePopupShow = 1;
</script>
<div class="copied">
<img src="/static/images/articles/done-circle.svg" alt="" class="copied__icon">
<p class="copied__text">
Ссылка скопирована
</p>
</div>
<!-- <style>@font-face{font-display:swap;font-family:Graphik;font-weight:500;font-style:normal;src:url(https://248006.selcdn.ru/Shared/fonts/GraphikLCTT-VA-Medium.woff2) format("woff2")}@font-face{font-display:swap;font-family:Graphik;font-weight:700;font-style:normal;src:url(https://248006.selcdn.ru/Shared/fonts/GraphikLCTT-VA-Bold.woff2) format("woff2")}.universal-notice{box-sizing:border-box;text-decoration:none;display:none;min-height:48px;color:var(--banner-color);background-color:var(--banner-bg);overflow:hidden;font-family:Graphik,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transition:opacity .25s ease-in-out;transition:opacity .25s ease-in-out}.universal-notice *{box-sizing:inherit}.universal-notice.universal-notice--active{display:block}.universal-notice--bitrix{z-index:1000}.universal-notice__wrapper{position:relative;-webkit-box-pack:start;justify-content:flex-start;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;margin-left:12px;padding:4px 0}.universal-notice__title{position:relative;flex-shrink:0;width:132px;margin-right:27px;font-size:14px;line-height:20px;text-transform:uppercase}.universal-notice__timer{display:none;margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.universal-notice__button{flex-shrink:0;min-width:120px;padding:8px 12px;border-radius:25px;font-weight:500;font-size:12px;line-height:16px;color:#3925b7;text-align:center;text-transform:uppercase;background-color:#ffa6a6}@media (min-width:768px){.universal-notice{min-height:72px}.universal-notice__wrapper{-webkit-box-pack:center;justify-content:center;height:72px;margin:0}.universal-notice__title{width:252px;margin-right:32px;margin-left:20px;font-size:24px;line-height:32px}.universal-notice__button{min-width:200px;margin-right:20px;padding:14px 36px;font-size:16px;line-height:20px}}@media (min-width:768px) and (max-width:0px){.universal-notice{min-height:72px}.universal-notice__wrapper{-webkit-box-pack:center;justify-content:center;height:72px;margin:0}.universal-notice__title{width:252px;margin-right:32px;margin-left:20px;font-size:24px;line-height:32px}.universal-notice__button{min-width:200px;margin-right:20px;padding:14px 36px;font-size:16px;line-height:20px}}@media (min-width:1280px) and (max-width:0px){.universal-notice__wrapper{padding:0}.universal-notice__title{width:unset;margin-right:76px}.universal-notice__timer{flex-shrink:0;margin-right:32px;font-weight:700;font-size:24px;line-height:32px}.universal-notice__timer.js-universal-notice-active{display:-webkit-box;display:flex}.universal-notice__days{margin-right:5px}}@media (min-width:1280px){.universal-notice__wrapper{padding:0}.universal-notice__title{width:unset;margin-right:76px}.universal-notice__timer{flex-shrink:0;margin-right:32px;font-weight:700;font-size:24px;line-height:32px}.universal-notice__timer.js-universal-notice-active{display:-webkit-box;display:flex}.universal-notice__days{margin-right:5px}}</style>-->
</body>
</html>