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

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

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

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

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


Ответы (2 шт):

Автор решения: Qwertiy

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

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

→ Ссылка
Автор решения: стасевич

оператор ! просто переворачивает(инвертирует) меняет значение выражения на противоположное.(логическое «НЕ» (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) {то делаем что-то...}

→ Ссылка