if — Оператор ! и метод equals в Java

Вопрос задан

Изменён 1 год 5 месяцев назад

Просмотрен 549 раз

объясните пожалуйста условия нижеприведенного цикла простыми словами ?

if (!name.equalsIgnoreCase(targName)) {
                do somtihg ...}

ранее в коде обявлены две String переменных: name и targName

Если переменная name не равна, равна переменной targName без учета больших букв ? Не name равно targName ? Как это можно понять ?

  • java
  • if
  • условия
  • equals

оператор ! просто переворачивает(инвертирует) меняет значение выражения на противоположное.(логическое «НЕ» (NOT): инверсия, отрицание)
true = true
!true = false

!false = true

на примере с примитивами (3 > 1) — выражение истинно(true) 3 больше 1
!(3 > 1) — выражение ложно(false) (НЕ)3 больше 1

я когда смотрю код, у себя в голове ! меняю на (НЕ)
if (!name. equalsIgnoreCase(targName)) = if ((НЕ)name.equalsIgnoreCase(targName))

Метод equalsIgnoreCase() — сравнивает данную строку с другой строкой, игнорируя регистр.

if (!name.equalsIgnoreCase(targName)) {
                do somtihg ...}

читаю как —
если ((НЕ) переменная name равна игнорируя регистр переменной targName)
{do somtihg …}

к примеpу name = «a» , targName = «A»

name.equalsIgnoreCase(targName) — будет true
!name.equalsIgnoreCase(targName) — будет false

в итоге если (false) {то делаем что-то…}

2

Если name отличается от targName без учёта регистра.

Если name отличается от targName не только регистром.

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки

Строка Java EqualsIgnoreCase

Java

6 месяцев назад

Саид Раза

Если вы когда-либо работали со значениями строкового типа и переменными в программировании, вы могли видеть, что строки могут содержаться в любом регистре, то есть в верхнем или нижнем регистре. Вполне возможно, что целая строка может быть в верхнем или нижнем регистре. Наряду с этим существует вероятность того, что некоторые из строковых символов содержат прописные, а некоторые строчные. Язык программирования Java работает со многими строковыми функциями для сравнения равенства одной или нескольких строковых переменных с помощью функции case. Одной из таких функций является метод «equalsignorecase», который проверяет равенство двух строк, игнорируя регистры обеих строковых переменных. В этой функции вы получите логическое «истинное» значение, когда строковые значения совпадают, за исключением их случаев. Это руководство продемонстрирует использование этой функции, используя несколько простых иллюстраций.

Пример 1:

Вам нужен базовый пример метода equalsIgnoreCase() в Java для более ясного понимания. Таким образом, здесь используется базовый Java-инструмент Eclipse ID. Создается проект с именем «test», и появляется файл с таким же именем. Должен использоваться публичный класс с именем «test». Например, имя класса должно совпадать с именем файла Java «test.java». Чтобы начать выполнение программы после ее запуска, у вас должен быть «основной» метод Java в классе «тест».

Мы начинаем определение метода main() с инициализации трех строковых переменных. Первые две строки, «S1» и «S2», являются обратными друг другу. В то время как строка S3 совершенно такая же, как строка S1, но единственная разница заключается в их регистре — одна строка в верхнем регистре, а другая — в нижнем регистре. Теперь мы используем метод equalsIgorecase() Java в операторе функции «System.out.println» Java, чтобы проверить равенство двух строковых переменных после игнорирования их случаев, которые являются прописными и строчными.

Для этого начало вызова функции equalsIgnoreCase() содержит одно имя строки, а второе — другое имя строки в параметрах функции. Функция equalsIgnoreCase() возвращает логическое значение, а функция println() работает так же, как и раньше, отображая возвращаемое значение для всех трех сравнений, перечисленных в программе.

Пока наша программа готова к использованию, не забудьте попробовать меню «Выполнить» на панели задач Eclipse, чтобы запустить эту простую программу. 3 оператора сравнения, которые запускают функции equalsIgnoreCase(), отображают в ответ 2 «ложных» значения и 1 «истинное» значение. Это связано с тем, что строка S1 равна S3, а S2 никоим образом не равна S1 и S3.

Пример 2:

Вот еще один, еще более сложный пример функции equalsIgnoreCase() Java для проверки равенства строк. Для этого мы используем класс ArrayList Java, который будет использоваться для определения или инициализации списка массивов.

После импорта класса «ArrayList» из пакета «java.util» мы инициализируем строку «S» в методе драйвера min(). Целочисленная переменная-счетчик «count» инициализируется 0. Объявлен список массивов «AL», и функция «add» класса ArrayList используется для помещения некоторых строковых значений в список «AL», т. е. всего 5 строковых значений. добавлены. Все 5 значений списка AL в чем-то различаются, но значения в индексах 1 и 3 одинаковы по содержанию, но отличаются по регистру.

Цикл for принимает участие в цикле вывода элементов arraylist строки arraylist и продолжает выполнение оператора if. Оператор «if» сравнивает каждый элемент списка AL со строковым значением «S», используя функцию equalsIgnoreCase(), независимо от того, равны они или нет после игнорирования их случаев. Если строки совпадают, переменная счетчика увеличивается на 1. Функциональный оператор «println» отображает желаемый результат с количеством отсчетов, независимо от того, совпала ли строка 1 раз или 2 раза.

При выполнении этого обновленного кода Java строка «S» совпала 2 раза.

Пример 3:

Давайте рассмотрим еще один пример Java для использования функции equalsIgnoreCase() для сопоставления строк. Таким образом, мы инициализируем 4 значения строковых переменных. Только строки S1 и S2 одинаковы по содержанию, но отличаются по регистру.

Здесь мы используем вложенный оператор if-else, чтобы сравнить все эти 4 строковые переменные друг с другом в общей сложности 6 операторов с помощью функции Java equalsIgnoreCase() для сравнения. Первое условие сравнивает строку S1 со строкой S2 и проверяет, совпадают ли обе строки.

Следующее условие функции проверяет равенство строк S1 и S3. В то время как следующие две последовательные строки сравнивают строку S1 со строкой S4 и S2 со строкой S3. После этого мы сравниваем строку S2 со строкой S4. И последнее условие сравнения функции equalsIgnoreCase() сравнивает строку S3 со строкой S4. Каждый вложенный оператор «if» возвращает «true» и отображает соответствующее сообщение об успехе, когда функция equalsIgnoreCase() успешно сравнивает обе строки и объявляет их равными, используя логическое значение «true».

Одновременно может быть выполнено только одно условие. Если одно условие «если» не выполняется, управление передается следующей части «иначе-если». Если ни одно из условий «иначе-если» или просто «если» не выполняется, последняя часть «иначе» выполняется в любом случае без каких-либо сомнений, потому что в ней нет определенного условия, а просто сообщение об ошибке.