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) — будет falseв итоге если (false) {то делаем что-то…}
2
Если name
отличается от targName
без учёта регистра.
Если name
отличается от targName
не только регистром.
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
Строка Java EqualsIgnoreCase
Java6 месяцев назад
Саид Раза
Если вы когда-либо работали со значениями строкового типа и переменными в программировании, вы могли видеть, что строки могут содержаться в любом регистре, то есть в верхнем или нижнем регистре. Вполне возможно, что целая строка может быть в верхнем или нижнем регистре. Наряду с этим существует вероятность того, что некоторые из строковых символов содержат прописные, а некоторые строчные. Язык программирования 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 одинаковы по содержанию, но отличаются по регистру.
Следующее условие функции проверяет равенство строк S1 и S3. В то время как следующие две последовательные строки сравнивают строку S1 со строкой S4 и S2 со строкой S3. После этого мы сравниваем строку S2 со строкой S4. И последнее условие сравнения функции equalsIgnoreCase() сравнивает строку S3 со строкой S4. Каждый вложенный оператор «if» возвращает «true» и отображает соответствующее сообщение об успехе, когда функция equalsIgnoreCase() успешно сравнивает обе строки и объявляет их равными, используя логическое значение «true».
Одновременно может быть выполнено только одно условие. Если одно условие «если» не выполняется, управление передается следующей части «иначе-если». Если ни одно из условий «иначе-если» или просто «если» не выполняется, последняя часть «иначе» выполняется в любом случае без каких-либо сомнений, потому что в ней нет определенного условия, а просто сообщение об ошибке.