Содержание

Справочник по операторам сравнения OData — Azure Cognitive Search

  • Статья

Наиболее простой операцией в выражении фильтра OData в службе «Когнитивный поиске Azure» является сравнение поля с заданным значением. Возможны два типа сравнения — сравнение на равенство и сравнение диапазонов. Для сравнения поля с постоянным значением можно использовать следующие операторы:

Операторы равенства:

  • eq: проверяет, является ли поле равным постоянному значению.
  • ne: проверяет, является ли поле не равным постоянному значению.

Операторы диапазона:

  • gt: проверяет, больше
    ли поле постоянного значения.
  • lt: проверяет, меньше ли поле постоянного значения.
  • ge: проверяет, больше или равно поле постоянному значению.
  • le: проверяет, меньше или равно поле постоянному значению.

Для проверки того, находится ли поле в определенном диапазоне значений, можно использовать операторы диапазона в сочетании с логическими операторами. См. примеры далее в этой статье.

Примечание

При желании можно разместить константу в левой части оператора, а имя поля — в правой. Для операторов диапазона значение сравнения изменяется на противоположное. Например, если значение константы находится слева,

gt будет проверять, больше ли значение константы, чем поле. Операторы сравнения также можно использовать для сравнения результатов функции, например geo.distance, с определенным значением. Для логических функций, таких как search.ismatch, сравнение результата с true или false является необязательным.

Синтаксис

Приведенная далее EBNF (расширенная форма Бэкуса — Наура) определяет грамматику выражения OData, в котором используются операторы сравнения.

comparison_expression ::=
    variable_or_function comparison_operator constant |
    constant comparison_operator variable_or_function
variable_or_function ::= variable | function_call
comparison_operator ::= 'gt' | 'lt' | 'ge' | 'le' | 'eq' | 'ne'

Кроме того, доступна интерактивная схема синтаксиса:

Схема синтаксиса OData для Когнитивного поиска Azure

Примечание

Полную EBNF см. в Справочнике синтаксиса выражений OData для Когнитивного поиска Azure.

Существует две формы выражений сравнения. Единственное различие между ними заключается в том, стоит ли константа в левой или правой части оператора. Выражение на другой стороне оператора должно быть

переменной или вызовом функции. Переменная может быть именем поля или переменной диапазона в случае лямбда-выражения.

Типы данных для сравнений

Типы данных с обеих сторон оператора сравнения должны быть совместимыми. Например, если левая часть является полем типа Edm.DateTimeOffset, то правая часть должна быть константой даты и времени. Числовые типы данных являются более гибкими. Переменные и функции любого числового типа можно сравнивать с константами любого другого числового типа с некоторыми ограничениями, как описано в таблице ниже.

Тип переменной или функцииТип значения константыОграничения
Edm.DoubleEdm.DoubleПри сравнении действуют специальные правила в отношении NaN.
Edm.DoubleEdm.Int64Константа преобразуется в Edm.Double, что приводит к потере точности для значений большой величины.
Edm.DoubleEdm.Int32Недоступно
Edm.Int64Edm.DoubleСравнения с NaN, -INF и INF не допускаются.
Edm.Int64Edm.Int64Недоступно
Edm.Int64Edm.Int32Константа преобразуется в Edm.Int64 перед сравнением.
Edm.Int32Edm.DoubleСравнения с NaN, -INF и INF не допускаются.
Edm.Int32Edm.Int64Недоступно
Edm.Int32Edm.Int32Недоступно

Для недопустимых сравнений, например для сравнения поля типа

Edm.Int64 с NaN, REST API Когнитивного поиска Azure будет возвращать ошибку «HTTP 400: недопустимый запрос».

Важно!

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

Особые случаи для

null и NaN

При использовании операторов сравнения важно помнить, что все поля, не связанные с коллекцией, в Когнитивном поиске Azure могут принимать значение null. В таблице ниже показаны все возможные результаты для выражения сравнения, где с любой из сторон может быть null.

ОператорРезультат, если только поле или переменная имеет значение nullРезультат, если только константа имеет значение nullРезультат, если как поле или переменная, так и константа имеют значение null
gtfalseОшибка «HTTP 400: неверный запрос»Ошибка «HTTP 400: неверный запрос»
ltfalseОшибка «HTTP 400: неверный запрос»Ошибка «HTTP 400: неверный запрос»
gefalseОшибка «HTTP 400: неверный запрос»Ошибка «HTTP 400: неверный запрос»
lefalseОшибка «HTTP 400: неверный запрос»Ошибка «HTTP 400: неверный запрос»
eqfalsefalsetrue
netrue
truefalse

Можно сказать, что значение null равно только самому себе и не является меньше или больше какого-либо другого значения.

Если в индексе есть поля типа Edm.Double и вы загружаете в эти поля значения NaN, необходимо учитывать это при составлении фильтров. В Когнитивном поиске Azure реализован стандарт IEEE 754 при обработке значений NaN, и сравнения с такими значениями дают неочевидные результаты, как показано в таблице ниже.

ОператорРезультат, если хотя бы один операнд имеет значение
NaN
gtfalse
ltfalse
gefalse
lefalse
eqfalse
netrue

Можно сказать, что значение NaN не равно никакому другому значению, включая его само.

Сравнение геопространственных данных

Сравнивать поле типа Edm. GeographyPoint с постоянным значением напрямую нельзя, но можно использовать функцию geo.distance. Эта функция возвращает значение типа Edm.Double, которое можно сравнить с числовой константой для фильтрации по расстоянию от фиксированных геопространственных координат. См. примеры ниже.

Сравнение строковых данных

Строки можно сравнивать в фильтрах на предмет точного совпадения с помощью операторов eq и ne. При сравнении строк учитывается регистр.

Примеры

Найти документы, в которых значение в поле Rating лежит в диапазоне между 3 и 5 включительно:

Rating ge 3 and Rating le 5

Найти документы, в которых значение в поле

Location находится на расстоянии меньше 2 километров от заданных координат широты и долготы:

geo.distance(Location, geography'POINT(-122.031577 47.578581)') lt 2.0

Найти документы, в которых значение в поле LastRenovationDate больше или равно 1 января 2015 г. , полночь по UTC:

LastRenovationDate ge 2015-01-01T00:00:00.000Z

Найти документы, в которых значение в поле Details/Sku не равно null:

Details/Sku ne null

Найти документов для гостиниц, где по меньшей мере один номер относится к типу «Deluxe Room» (Номер люкс), а строка поля

Rooms/Type в точности соответствует фильтру:

Rooms/any(room: room/Type eq 'Deluxe Room')

Дальнейшие действия

  • Фильтры в Когнитивном поиске Azure
  • Общие сведения про язык выражений OData для Когнитивного поиска Azure
  • Справочник по синтаксису выражений OData для Когнитивного поиска Azure
  • Поиск документов (Когнитивный поиск Azure REST API)

Ключевые слова и операторы — Kotlin


Жесткие ключевые слова (Hard Keywords)

Следующие слова всегда интерпретируются как ключевые и не могут использоваться в качестве идентификаторов:

  • as
    • используется для приведения типов
    • задает альтернативное имя для импорта
  • as? используется для безопасного приведения типов
  • break завершает выполнение цикла
  • class объявляет класс
  • continue переходит к следующему шагу ближайшего вложенного цикла
  • do начинает цикл do/while loop (цикл с постусловием)
  • else определяет ветвь выражения if, которое выполняется, когда условие ложно
  • false указывает значение ‘false’ типа Boolean
  • for начинает цикл for
  • fun объявляет функцию
  • if начинает условное выражение if
  • in
    • указывает объект, который перебирается в цикле for
    • используется как инфиксный оператор для проверки того, что значение принадлежит диапазону, коллекции или другого объекта, который определяет метод ‘contains’
    • используется в выражениях when с той же целью
    • отмечает параметр типа как контравариантный
  • !in
    • используется в качестве оператора для проверки того, что значение не принадлежит диапазону, коллекции или другой объекта, который определяет метод ‘contains’
    • используется в выражениях when с той же целью
  • interface объявляет интерфейс
  • is
    • проверяет, что значение имеет определенный тип
    • используется в выражениях when с той же целью
  • !is
    • проверяет, что значение не имеет определенный тип
    • используется в выражениях when с той же целью
  • null константа, представляющая ссылку на объект, которая не указывает ни на один объект
  • object объявляет класс и его экземпляр одновременно
  • package указывает пакет для текущего файла
  • return по умолчанию производит возврат из ближайшей окружающей его функции или анонимной функции
  • super
    • ссылается на реализацию суперкласса метода или свойства
    • вызывает конструктор суперкласса из вторичного конструктора
  • this
    • относится к текущему приемнику
    • вызывает другой конструктор того же класса из вторичного конструктор
  • throw вызывает исключение
  • true задает значение ‘true’ типа Boolean
  • try начинает блок обработки исключений
  • typealias объявляет псевдоним типа
  • val объявляет свойствотолько для чтения или локальную переменную
  • var объявляет изменяемое свойство или локальную переменную
  • when начинает выражение when (выполняет одну из заданных ветвей)
  • while начинает цикл while (цикл с предусловием)

Мягкие Ключевые Слова (Soft Keywords)

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

  • by
    • делегирует реализацию интерфейса другому объекту
    • делегирует реализацию методов доступа для свойства другому объекту
  • catch начинает блок, который обрабатывает определенный тип исключения
  • constructor объявляет первичный или вторичный конструктор
  • delegate используется в качестве целевого объекта аннотации
  • dynamic ссылается на динамический тип в Kotlin/JS коде
  • field используется в качестве целевого объекта аннотации
  • file используется в качестве целевого объекта аннотации
  • finally начинает блок, который всегда выполняется при выходе из блока try
  • get
    • объявляет геттер свойства
    • используется в качестве целевого объекта аннотации
  • import импортирует объявление из другого пакета в текущий файл
  • init начинает блок инициализации
  • param используется в качестве целевого объекта аннотации
  • property используется в качестве целевого объекта аннотации
  • receiverиспользуется в качестве целевого объекта аннотации
  • set
    • объявляет сеттер свойства
    • используется в качестве целевого объекта аннотации
  • setparam используется в качестве целевого объекта аннотации
  • where задает ограничения для параметра универсального типа

Модификаторы (Modifier Keywords)

Следующие слова действуют как ключевые в списках модификаторов объявлений и могут использоваться как идентификаторы в других контекстах:

  • actual означает реализацию Платформы в мультиплатформенных проектах
  • abstract обозначает класс или элемент как абстрактный
  • annotation объявляет класс аннотации
  • companion объявляет объект-компаньон
  • const помечает свойство как константу времени компиляции
  • crossinline запрещает нелокальные возвраты в лямбде, передаваемом встроенной функции
  • data указывает компилятору генерировать канонические элементы для класса
  • enum объявляет перечисление
  • expect отмечает объявление как платформенное, ожидая реализации в модулях платформы.
  • external отмечает объявление как реализованное не в Kotlin (доступное через JNI или JavaScript)
  • final запрещает переопределение элемента
  • infix позволяет вызывать функцию в инфиксной записи
  • inline указывает компилятору встроить функцию и лямбда-выражение на стороне вызова
  • inner позволяет ссылаться на экземпляр внешнего класса из вложенного класса
  • internal помечает объявление как видимое в текущем модуле
  • lateinit позволяет инициализировать не-null свойство вне конструктора
  • noinline отключает подстановку лямбды, переданной во встроенную функцию
  • open позволяет создавать подклассы класса или переопределять элемент
  • operator обозначает функцию как перегрузку оператора или реализацию соглашения
  • out обозначает тип параметра как ковариантный
  • override помечает элемент как переопределение элемента суперкласса
  • private помечает объявление как видимое в текущем классе или файле
  • protected помечает объявление как видимое в текущем классе и его подклассах
  • public помечает декларацию как видимую в любом месте
  • reified обозначает параметр типа встроенной функции, как доступная во время выполнения
  • sealed объявляет изолированный класс (класс с ограниченным подклассом)
  • suspend обозначает функцию или лямбда как приостанавливаемую (используется как сопрограмма)
  • tailrec отмечает функцию как с хвостовой рекурсией (позволяя компилятору заменить рекурсию итерацией)
  • vararg позволяет передавать нефиксированное число аргументов для параметра

Специальные идентификаторы (Special Identifiers)

Следующие идентификаторы определяются компилятором в определенных контекстах и могут использоваться как обычные идентификаторы в других контекстах:

  • field используется внутри метода доступа свойства для ссылки на backing field свойства
  • it используется внутри лямбды, чтобы косвенно ссылаться на ее параметр

Операторы и специальные символы (Operators and Special Symbols)

Котлин поддерживает следующие операторы и специальные символы:

  • +, -, *, /, % — математические операторы
    • * также используется для передачи массива в параметр vararg
  • =
    • оператор присваивания
    • используется для указания значений по умолчанию для параметров
  • +=, -=, *=, /=, %= — расширенные операторы присваивания
  • ++, -- — операторы инкремента и декремента
  • &&, ||, ! — логические операторы ‘и’, ‘или’, ‘не’ (для побитовых операций используют соответствующие инфиксные функции)
  • ==, != — операторы равенства (переведенные на вызовы equals() для не-примитивных типов)
  • ===, !== — операторы ссылочного равенства
  • <, >, <=, >= — операторы сравнения (переведенные на вызовы compareTo() для не-примитивных типов)
  • [, ] — оператор индексированного доступа (переведенный на вызовы get и set)
  • !! утверждает, что выражение не равно null
  • ?. выполняет безопасный вызов (вызывает метод или обращается к свойству, если получатель не имеет значения null)
  • ?: принимает правое значение, если левое значение равно нулю (Элвис оператор)
  • :: создает ссылку на элемент или ссылку на класс
  • .. создает диапазон
  • : отделяет имя от типа в объявлениях
  • ? отмечает тип с нулевым значением
  • ->
    • разделяет параметры и тело лямбда-выражения
    • разделяет параметры и тип возвращаемого значения при объявлении лямбды
    • разделяет условие и тело ветви выражения when
  • @
    • вводит аннотацию
    • вводит или ссылается на метку цикла
    • вводит или ссылается на лямбда-метку
    • ссылается на выражение ‘this’ из внешней области
    • ссылается на внешний суперкласс
  • ; разделяет несколько операторов на одной строке
  • $ ссылается на переменную или выражение в строковом шаблоне
  • _
    • заменяет неиспользуемый параметр в лямбда выражении
    • заменяет неиспользуемый параметр в деструктуризирующем присваивании

[Глава 4] 4.

8 Операторы реляционного сравнения

Относительный операторы сравнения в Java используются для менее чем (<), меньше или равно (<=), больше или равно (>=), больше (>), и instanceof операции сравнения. Они может появиться в относительном выражении:

операторы реляционного сравнения имеют равный приоритет и оценивается слева направо. <, <=, Операторы >= и > являются числовыми операторы сравнения, а instanceof — это тип оператор сравнения. Все эти операторы производят логические ценности.

Ссылки Операторы смены; Порядок действий; Тип 3

Меньший оператор

<

Оператор меньше чем < выполняет сравнение между своими операндами и возвращает логическое значение ценить. Он возвращает чистое значение true, если его левый операнд меньше правого операнда; в противном случае оператор возвращает чистое значение false. < оператор может появляться как часть реляционного выражения. оператор меньше чем никогда не генерирует исключение.

Типы оба операнда оператора «меньше» должны быть арифметическими типами, или возникает ошибка времени компиляции. Оператор < может выполнять преобразования типов для своих операндов:

  • Если один из операндов имеет тип double, то другой операнд преобразуется в двойное.
  • В противном случае, если один из операндов имеет тип float, другой операнд преобразуется в число с плавающей запятой.
  • В противном случае, если один из операндов имеет тип long, другой операнд преобразуется в длинный.
  • В противном случае оба операнда преобразуются в int.

сравнение любых двух арифметических значений дает истинное если значение левого операнда меньше значения правого операнд; в противном случае сравнение дает ложь. Сравнение данных с плавающей запятой регулируется следующим дополнительные правила:

  • Если любой из операндов не является числом (NaN), сравнение дает false.
  • Отрицательный бесконечность — самое отрицательное значение. Если левый операнд отрицательный бесконечность, сравнение дает истину, если только правый операнд также равен отрицательной бесконечности, и в этом случае сравнение выдает ложное.
  • Положительная бесконечность является самым положительным значением. Если правый операнд положительная бесконечность, сравнение дает истину, если только левый операнд также положительная бесконечность, и в этом случае сравнение выдает ложное.
  • Положительный и отрицательный нули считаются равными, поэтому -0,0 < 0,0 выдает ложное.

Ссылки Арифметические типы

Оператор «меньше или равно»

<=

Оператор «меньше или равно» <= выполняет сравнение между своими операндами и возвращает логическое значение. Он возвращает чистое значение true, если его левый операнд меньше или равно своему правому операнду; в противном случае оператор возвращает чистое значение false. <= оператор может появляться как часть реляционного выражения. Оператор «меньше или равно» никогда не генерирует исключение.

типы обоих операндов оператора «меньше или равно» должны быть арифметическими типами, иначе произойдет ошибка времени компиляции. <= оператор может выполнять преобразования типов для своих операндов:

  • Если один из операндов имеет тип double, то другой операнд преобразуется в двойное.
  • В противном случае, если один из операндов имеет тип float, другой операнд преобразуется в число с плавающей запятой.
  • В противном случае, если один из операндов имеет тип long, другой операнд преобразуется в длинный.
  • В противном случае, оба операнда преобразуются в int.

сравнение любых двух арифметических значений дает истинное если значение левого операнда меньше или равно значению правого операнда; в противном случае сравнение дает ложь. Сравнение данных с плавающей запятой регулируется следующим дополнительные правила:

  • Если любой из операндов не является числом (NaN), сравнение дает false.
  • Отрицательный бесконечность — самое отрицательное значение. Если левый операнд отрицательный бесконечность, сравнение всегда дает истину.
  • Положительная бесконечность — самое положительное значение. Если право операнд положительная бесконечность, сравнение всегда дает истину.
  • Положительный и отрицательный нуль считаются равными, поэтому 0.0 <= -0.0 дает истину.

Ссылки Арифметические типы

Оператор «больше или равно» >=

Оператор больше или равно >= выполняет сравнение между своими операндами и возвращает логическое значение. Он возвращает чистое значение true, если его левый операнд больше или равно своему правому операнду; в противном случае оператор возвращает чистое значение false. >= оператор может появляться как часть реляционного выражения. Оператор «больше или равно» никогда не генерирует исключение.

Типы обоих операндов оператора больше или равно должны быть арифметическими типами, иначе произойдет ошибка времени компиляции. Оператор >= может выполнять преобразования типов на его операнды:

  • Если один из операндов имеет тип double, то другой операнд преобразуется в двойное.
  • В противном случае, если один из операндов имеет тип float, другой операнд преобразуется в число с плавающей запятой.
  • В противном случае, если один из операндов имеет тип long, другой операнд преобразуется в длинный.
  • В противном случае, оба операнда преобразуются в int.

сравнение любых двух арифметических значений дает истинное если значение левого операнда больше или равно значение правого операнда; в противном случае сравнение дает ложь. Сравнение данных с плавающей запятой регулируется следующим дополнительные правила:

  • Если любой из операндов не является числом (NaN), сравнение дает false.
  • Отрицательный бесконечность — самое отрицательное значение. Если правый операнд отрицательный бесконечность, сравнение всегда дает истину.
  • Положительная бесконечность — самое положительное значение. Если левый операнд положительная бесконечность, сравнение всегда дает истину.
  • Положительный и отрицательный ноль считаются равными, поэтому -0,0 >= 0. 0 дает истину.

Ссылки Арифметические типы

Оператор больше >

Оператор «больше» > выполняет сравнение между своими операндами и возвращает логическое значение ценить. Он возвращает чистое значение true, если его левый операнд больше правого операнда; в противном случае оператор возвращает чистое значение false. > оператор может появляться как часть реляционного выражения. Больше, чем оператор никогда не генерирует исключение.

Типы оба операнда оператора «больше» должны быть арифметическими типами, или возникает ошибка времени компиляции. Оператор > может выполнять преобразования типов для своих операндов:

  • Если один из операндов имеет тип double, то другой операнд преобразуется в двойное.
  • В противном случае, если один из операндов имеет тип float, другой операнд преобразуется в число с плавающей запятой.
  • В противном случае, если один из операндов имеет тип long, другой операнд преобразуется в длинный.
  • В противном случае оба операнда преобразуются в int.

сравнение любых двух арифметических значений дает истинное если значение левого операнда больше значения правый операнд; в противном случае сравнение дает ложь. Сравнение данных с плавающей запятой регулируется следующим дополнительные правила:

  • Если любой из операндов не является числом (NaN), сравнение дает false.
  • Отрицательный бесконечность — самое отрицательное значение. Если правый операнд отрицательный бесконечность, сравнение дает истину, если только левый операнд также равен отрицательной бесконечности, и в этом случае сравнение выдает ложное.
  • Положительная бесконечность является самым положительным значением. Если левый операнд равен положительной бесконечности, сравнение дает истину, если только правильное операнд также положительная бесконечность, и в этом случае сравнение выдает ложное.
  • Положительный и отрицательный нули рассматриваются как равные, поэтому 0,0 > -0,0 дает ЛОЖЬ.

Ссылки Арифметические типы

Экземпляр Оператора

Оператор instanceof выполняет сравнение типов между своими операндами и возвращает логическое значение. Возвращает чистое значение true, если объект на который ссылается левый операнд, можно привести к указанному типу как правый операнд; в противном случае оператор возвращает чистое значение ЛОЖЬ. Если значение левого операнда равно нулю, оператор instanceof возвращает чистое значение ЛОЖЬ. Оператор instanceof может появляться как часть реляционного выражения. Экземпляр оператор никогда не генерирует исключение.

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

Все объекты наследуют метод equals(). из класса Объект. Равно () метод, определенный в классе Object, возвращает true если два сравниваемых объекта являются одним и тем же объектом. Для некоторых классов, более уместно переопределить метод equals() метод, чтобы он сравнивал содержимое двух объектов. До такой метод может выполнять сравнение, он должен проверять, что объекты являются экземплярами одного и того же класса с помощью instanceof. Например, предположим, что вы определяете класс для представления комплексные числа. Поскольку вы хотите equals() метод для сравнения содержимого комплексных числовых объектов, которые вы определяете метод equals для класса комплексных чисел это выглядит так:

логическое равно (объект о) {
   если (o экземпляр сложного числа)
       вернуть o.real == this.real
           && o.imaginary == this.imaginary;
}
 

Экземпляр оператор также может использоваться, чтобы узнать, является ли объект экземпляром класса, реализующего интерфейс. Например:

if (o instanceof Runnable)
    (новый поток ((Runnable) o). start;
 

Ссылки Отливки; типы классов; Типы интерфейсов

Что это такое и почему они важны

Операторы Java — одна из самых важных концепций программирования Java, которые вам могут и когда-либо понадобятся, поскольку они выполняются в каждой части программного обеспечения, которое вы когда-либо будете создавать. Кроме того, каждая программа Java, которую вы когда-либо использовали, была построена с использованием операторов Java.

В этом посте будет рассказано обо всем, что вам нужно знать, чтобы начать работу с операторами Java, и о том, как вы можете их использовать. Вы также узнаете о различных типах вещей, которые вы можете и не можете делать с ними, и о том, как это может улучшить ваш код. Наконец, вы увидите примеры кода операторов Java на практике и узнаете, как они могут улучшить ваш код.

Без лишних слов, давайте сразу приступим.

Что такое операторы Java?

Операторы Java — это символы, которые выполняют операции для различных задач, таких как выполнение тестовых выражений в условных блоках или даже выполнение арифметических операций. Как бы вы ни наливали чашку, операторы Java неизбежны, и они, несомненно, понадобятся вам для создания любой части программное обеспечение. Посмотрите это видео для краткого ознакомления с операторами Java.

Существует множество различных типов операторов Java, и каждый служит определенной цели. Давайте рассмотрим все типы операторов, с которыми вы столкнетесь.

Арифметические операторы

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

Список операторов Java: Арифметика

+ Символ плюса называется оператором сложения, который позволяет складывать два или более числа. Но его также можно использовать со строками для объединения строк.

— Знак минус используется для выполнения операций вычитания с двумя или более числами.

* Символ звездочки используется для выполнения операций умножения с использованием двух или более чисел.

/ Косая черта используется для выполнения операций деления двух и более чисел.

% Оператор по модулю используется для вычисления остатка после операции деления двух или более чисел.

++ Сокращенный оператор приращения увеличивает значение на 1

— Сокращение оператора декремента уменьшает значение на 1

Операторы присваивания

Операторы присваивания используются для присвоения значения чему-либо; обычно значение сохраняется в переменной. Эти операторы отлично подходят для присвоения значений при одновременном выполнении математических операций. Давайте рассмотрим некоторые операторы присваивания и обсудим, как они работают.

Список операторов Java: Назначение

= Символ равенства используется для прямого присвоения значения переменной.

+= Символ «плюс» и «равно» вместе являются сокращением для присваивания сложения. Другими словами, эта комбинация символов означает, что переменная равна своему текущему значению плюс новое значение.

-= Символ «минус» и «равно» вместе являются сокращением для задания вычитания. Другими словами, эта комбинация символов означает, что переменная равна своему текущему значению, вычтенному из нового значения.

*= Звездочка и символ равенства вместе являются сокращением для назначения умножения. Другими словами, эта комбинация символов означает, что переменная равна своему текущему значению, умноженному на новое значение.

/= Косая черта и символ равенства вместе являются сокращением для присваивания деления. Другими словами, эта комбинация символов означает, что переменная равна своему текущему значению, деленному на новое значение.

%= Процент и символ равенства вместе являются сокращением для присваивания по модулю. Другими словами, эта комбинация символов означает, что переменная равна своему текущему значению плюс остаток от текущего значения, деленный на новое значение.

Реляционные операторы

Реляционные операторы используются для сравнения двух или более значений и часто используются в операторах if и циклах для задания условий выполнения задач. Условные задачи являются жизненной силой любого языка программирования и часто используются для управления потоком программного обеспечения.

Список операторов Java: реляционные

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

!= Восклицательный знак используется для обращения значения выражения. В этом случае два символа представляют неравное выражение, используемое для сравнения неравенства.

> Стрелка вправо представляет собой сравнение больше, используемое для определения того, больше ли первое значение, чем второе.

< Стрелка влево представляет сравнение меньше чем, используемое для определения, меньше ли первое значение второго.

>= Стрелка вправо и символ равенства представляют собой сравнение «больше или равно», которое определяет, больше ли первое число или равно второму.

<= Стрелка влево и символ равенства представляют собой сравнение "меньше или равно", которое определяет, меньше или равно первое число второму.

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

Логические операторы помогают сделать условные операторы более надежными, допуская дополнительные условия к операторам. Хотя логических операторов не так много — если быть точным, три — они придают вашим условным операторам большую дополнительную мощь.

Список операторов Java: логические

&& Логический оператор «и» объединяет два выражения. Он возвращает true только в том случае, если и выражение1, и выражение2 проходят успешно.

|| Логический оператор ИЛИ объединяет два выражения. Он возвращает true, если проходит выражение expression1 или expression2.

! Логический оператор «не» используется для инвертирования логического выражения, которое возвращает истину, если выражение ложно, и наоборот.

Побитовые операторы

В Java побитовые операторы выполняют операции над отдельными битами. Побитовые операторы обычно не используются в Java, но сложны и используются для выполнения задач на побитовом уровне.

Список операторов Java: Побитовые

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

<< Оператор сдвига влево, который перемещает биты целочисленного выражения или выражения типа перечисления влево

>> Оператор сдвига вправо, который перемещает биты целочисленного выражения или выражения типа перечисления вправо

>>> беззнаковый оператор сдвига вправо оценивает левый операнд как беззнаковое число и сдвигает двоичное представление этого числа на количество битов.

& Оператор побитового И сравнивает каждый бит первого операнда с соответствующим битом второго операнда. Если оба бита равны 1, результирующий бит устанавливается в 1, в противном случае он устанавливается в 0. 9Оператор побитового исключающего ИЛИ сравнивает каждый бит своего первого операнда с соответствующим битом своего

второго операнда. Если бит в одном из операндов равен 0, а другой равен 1, соответствующий результат устанавливается равным 1; в противном случае он равен 0.

Операторы Java с примерами

Ниже приведен список примеров операторов Java; эти примеры демонстрируют, как вы можете использовать каждый из наиболее распространенных операторов, с которыми вы столкнетесь.

//арифметические операторы с = а + б; в = а — б; с = а * б; с = а/б; с = а% б; а++; а—; // операторы присваивания а = а + б; а = а — б; а = а * б; а = а/б; а = а % б; // операторы отношения 3 == 5 возвращает ложь 3 != 5 возвращает истину 3 > 5 возвращает ложь 3 < 5 возвращает истину 3 >= 5 возвращает ложь 3 <= 5 возвращает истину //логические операторы выражение1 && выражение2 выражение1 || выражение2 !выражение

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

Следующие шаги по использованию операторов Java

В этом посте рассмотрены основы понимания операторов Java и того, как они используются в разработке программного обеспечения. Вы также узнали о различных типах операторов, их функциях и способах их использования.