Справочник по операторам сравнения OData — Azure Cognitive Search
- Статья
Наиболее простой операцией в выражении фильтра OData в службе «Когнитивный поиске Azure» является сравнение поля с заданным значением. Возможны два типа сравнения — сравнение на равенство и сравнение диапазонов. Для сравнения поля с постоянным значением можно использовать следующие операторы:
Операторы равенства:
eq
: проверяет, является ли поле равным постоянному значению.ne
: проверяет, является ли поле не равным постоянному значению.
Операторы диапазона:
gt
: проверяет, большеlt
: проверяет, меньше ли поле постоянного значения.ge
: проверяет, больше или равно поле постоянному значению.le
: проверяет, меньше или равно поле постоянному значению.
Для проверки того, находится ли поле в определенном диапазоне значений, можно использовать операторы диапазона в сочетании с логическими операторами. См. примеры далее в этой статье.
Примечание
При желании можно разместить константу в левой части оператора, а имя поля — в правой. Для операторов диапазона значение сравнения изменяется на противоположное. Например, если значение константы находится слева,
будет проверять, больше ли значение константы, чем поле. Операторы сравнения также можно использовать для сравнения результатов функции, например 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.Double | Edm.Double | При сравнении действуют специальные правила в отношении NaN . |
Edm.Double | Edm.Int64 | Константа преобразуется в Edm.Double , что приводит к потере точности для значений большой величины. |
Edm.Double | Edm.Int32 | Недоступно |
Edm.Int64 | Edm.Double | Сравнения с NaN , -INF и INF не допускаются. |
Edm.Int64 | Edm.Int64 | Недоступно |
Edm.Int64 | Edm.Int32 | Константа преобразуется в Edm.Int64 перед сравнением. |
Edm.Int32 | Edm.Double | Сравнения с NaN , -INF и INF не допускаются. |
Edm.Int32 | Edm.Int64 | Недоступно |
Edm.Int32 | Edm.Int32 | Недоступно |
Для недопустимых сравнений, например для сравнения поля типа
с NaN
, REST API Когнитивного поиска Azure будет возвращать ошибку «HTTP 400: недопустимый запрос».
Важно!
Хотя возможности для сравнения числовых типов являются более гибкими, мы настоятельно рекомендуем использовать сравнения в фильтрах таким образом, чтобы значение константы совпадало с типом данных переменной или функции, с которой выполняется сравнение. Это особенно важно при одновременном использовании значений с плавающей запятой и целых чисел, где возможны неявные преобразования с потерей точности.
Особые случаи для
null
и NaN
При использовании операторов сравнения важно помнить, что все поля, не связанные с коллекцией, в Когнитивном поиске Azure могут принимать значение null
. В таблице ниже показаны все возможные результаты для выражения сравнения, где с любой из сторон может быть null
.
Оператор | Результат, если только поле или переменная имеет значение null | Результат, если только константа имеет значение null | Результат, если как поле или переменная, так и константа имеют значение null |
---|---|---|---|
gt | false | Ошибка «HTTP 400: неверный запрос» | Ошибка «HTTP 400: неверный запрос» |
lt | false | Ошибка «HTTP 400: неверный запрос» | Ошибка «HTTP 400: неверный запрос» |
ge | false | Ошибка «HTTP 400: неверный запрос» | Ошибка «HTTP 400: неверный запрос» |
le | false | Ошибка «HTTP 400: неверный запрос» | Ошибка «HTTP 400: неверный запрос» |
eq | false | false | true |
ne | true | true | false |
Можно сказать, что значение null
равно только самому себе и не является меньше или больше какого-либо другого значения.
Если в индексе есть поля типа Edm.Double
и вы загружаете в эти поля значения NaN
, необходимо учитывать это при составлении фильтров. В Когнитивном поиске Azure реализован стандарт IEEE 754 при обработке значений NaN
, и сравнения с такими значениями дают неочевидные результаты, как показано в таблице ниже.
Оператор | Результат, если хотя бы один операнд имеет значение
|
---|---|
gt | false |
lt | false |
ge | false |
le | false |
eq | false |
ne | true |
Можно сказать, что значение NaN
не равно никакому другому значению, включая его само.
Сравнение геопространственных данных
Сравнивать поле типа Edm. GeographyPoint
с постоянным значением напрямую нельзя, но можно использовать функцию geo.distance
. Эта функция возвращает значение типа Edm.Double
, которое можно сравнить с числовой константой для фильтрации по расстоянию от фиксированных геопространственных координат. См. примеры ниже.
Сравнение строковых данных
Строки можно сравнивать в фильтрах на предмет точного совпадения с помощью операторов eq
и ne
. При сравнении строк учитывается регистр.
Примеры
Найти документы, в которых значение в поле Rating
лежит в диапазоне между 3 и 5 включительно:
Rating ge 3 and Rating le 5
Найти документы, в которых значение в поле
находится на расстоянии меньше 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/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’ типа Booleanfor
начинает цикл forfun
объявляет функциюif
начинает условное выражение ifin
- указывает объект, который перебирается в цикле for
- используется как инфиксный оператор для проверки того, что значение принадлежит диапазону, коллекции или другого объекта, который определяет метод ‘contains’
- используется в выражениях when с той же целью
- отмечает параметр типа как контравариантный
!in
- используется в качестве оператора для проверки того, что значение не принадлежит диапазону, коллекции или другой объекта, который определяет метод ‘contains’
- используется в выражениях when с той же целью
interface
объявляет интерфейсis
- проверяет, что значение имеет определенный тип
- используется в выражениях when с той же целью
!is
- проверяет, что значение не имеет определенный тип
- используется в выражениях when с той же целью
null
константа, представляющая ссылку на объект, которая не указывает ни на один объектobject
объявляет класс и его экземпляр одновременноpackage
указывает пакет для текущего файлаreturn
по умолчанию производит возврат из ближайшей окружающей его функции или анонимной функцииsuper
- ссылается на реализацию суперкласса метода или свойства
- вызывает конструктор суперкласса из вторичного конструктора
this
- относится к текущему приемнику
- вызывает другой конструктор того же класса из вторичного конструктор
throw
вызывает исключениеtrue
задает значение ‘true’ типа Booleantry
начинает блок обработки исключенийtypealias
объявляет псевдоним типаval
объявляет свойствотолько для чтения или локальную переменнуюvar
объявляет изменяемое свойство или локальную переменнуюwhen
начинает выражение when (выполняет одну из заданных ветвей)while
начинает цикл while (цикл с предусловием)
Мягкие Ключевые Слова (Soft Keywords)
Следующие слова действуют как ключевые в контексте, когда они применимы и могут использоваться как идентификаторы в других контекстах:
by
- делегирует реализацию интерфейса другому объекту
- делегирует реализацию методов доступа для свойства другому объекту
catch
начинает блок, который обрабатывает определенный тип исключенияconstructor
объявляет первичный или вторичный конструкторdelegate
используется в качестве целевого объекта аннотацииdynamic
ссылается на динамический тип в Kotlin/JS кодеfield
используется в качестве целевого объекта аннотацииfile
используется в качестве целевого объекта аннотацииfinally
начинает блок, который всегда выполняется при выходе из блока tryget
- объявляет геттер свойства
- используется в качестве целевого объекта аннотации
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.
youtube.com/embed/YdB1K9bjYaM» frameborder=»0″ allowfullscreen=»» data-service=»youtube»>Существует множество различных типов операторов 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 и того, как они используются в разработке программного обеспечения. Вы также узнали о различных типах операторов, их функциях и способах их использования.