Ръководство за начинаещи по логически и релационни оператори в Java

Ръководство за начинаещи по логически и релационни оператори в Java

Операторите са символи, използвани за извършване на операции със стойности, променливи или изрази. Изразите, върху които извършват тези действия, се наричат ​​операнди. Операциите връщат логически резултат (вярно или невярно) за релационни, равенство и логически оператори.





Броят на операндите, които операторът взема, определя неговия тип. Оператор, който взема един операнд, се нарича „unary“. Оператор, който приема два операнда, се нарича „двоичен“.





Прочетете, за да научите как можете да използвате логически и релационни оператори в Java. Още по -добре, повечето езици за програмиране използват едни и същи оператори, така че можете да приложите тези знания другаде.





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

Те се използват за изграждане на логически изявления по време на програмиране. В Java има шест логически оператора. Таблицата по -долу ги обобщава.

ОператорИмеТип
|Булево логическо ИЛИДвоичен
&Булево логическо ИДвоичен
^Булева логическа изключителна ИЛИДвоичен
||Условно ИЛИДвоичен
&&Условно ИДвоичен
!Логично НЕУнарни

Ако искате да проверите дали едно или и двете условия са изпълнени, използвайте този оператор. Условието е израз, който може да бъде или истинен, или невярен.



Булево логическо включване ИЛИ (|)

Логическото ИЛИ проверява дали и двата операнда са верни, преди да оцени израза.

if ( dob <2005 | height <= 5){
money++;
}

Горният пример ще даде на някого повече пари, ако рождената им дата е по -малка от 2005 г. или ако височината му е по -малка или равна на 5 фута.





Логическо логическо И (& &)

Този оператор се използва за проверка дали и двете условия са верни, преди да предприемете определен път на изпълнение в програмата. Първо проверява дали и двете условия са верни, преди да оцени целия израз.

Свързани: Как да проверите низове с помощта на булеви методи в Python





Булева логическа изключителна ИЛИ (^)

Ако искате да проверите дали едно от условията е вярно, но не и двете, тогава това е операторът, който да използвате. Таблицата на истината по -долу обобщава резултатите, които ще видите, когато я използвате.

израз 1израз2израз1 ^ израз2
невярноневярноневярно
невярновярновярно
вярноневярновярно
вярновярноневярно

Булево условно И (&&)

Този оператор е подобен на логическия И. Разликата е, че първо проверява дали условието вляво е вярно, преди да премине, за да провери това вдясно.

Ако се установи, че лявата част е невярна, изпълнението спира незабавно. В противен случай оценката на дясната част ще продължи. Тази функция е известна като оценка на късо съединение.

Вижте таблицата с истината по -долу, за да обосновите разбирането си за този оператор.

израз 1израз2израз1 && израз2
невярноневярноневярно
невярновярноневярно
вярноневярноневярно
вярновярновярно

Условно ИЛИ (||)

Ако някое от условията е невярно, изпълнението ще премине към следващата част на програмата. С други думи, и двете условия трябва да са верни.

Този оператор е подобен на логическия ИЛИ. Той също така проверява дали едно или и двете условия са изпълнени, преди да изпълни определен код.

Подобно на условното И, логическото ИЛИ също използва оценка на късо съединение. Първо проверява дали операндът вляво е истина, преди да оцени този вдясно.

Свързани: Какво е конструктор в Java и как го използвате?

как да изтеглите видеоклипове от уебсайтове

Ако условието вляво се окаже вярно, няма нужда да проверявате това вдясно. В противен случай оценката вдясно ще продължи.

Логично НЕ (!)

Този оператор се използва за отмяна на условие. Той просто обръща значението на това, с което работи.

if(!(x>5)){
// statements
}

Горното изявление означава, че ако 'x е по -голямо от 5' НЕ е вярно, тогава изпълнете изразите вътре в ако .

Забележете използването на кръгли скоби с израза (x> 5). Ако не включите тези скоби, докато пишете програмата си, ще получите грешка по време на компилиране. Причината е, защото ! е унарен оператор, който действа при условие. Без скобите компилаторът би го интерпретирал като оператора, действащ върху x, а не x> 5.

Включването на скоби не е само за да позволи на компилатора да интерпретира правилно израз. Те могат да се използват и като начин програмистът да разбере по -добре по -сложни изрази. Вижте примера по -долу:

age >= 7 && height <5

На някои хора може да е трудно да следват логиката. Ето защо някои програмисти предпочитат да добавят излишни скоби поради съображения за четене:

(age >= 7) && (height <5)

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

Тези оператори се използват за сравняване на прости отношения между операнди.

ОператорИме
>По-голяма от
<По-малко от
> =По -голямо или равно на
<=По -малко или равно на

Релационните оператори са доста лесни за разбиране, тъй като всички те имат същото значение като обичайните алгебрични оператори, с които вече сте запознати. Това ще рече, > и < имат същото значение, което вече знаете, като това, дадено в горната таблица.

if( x <= 7 ){
x++;
}

Гореизложеното ако изявление проверява дали x е по -малко или равно на 7. Ако е вярно, тогава операторите в скобите се изпълняват, в противен случай не.

Сега би било подходящ момент да споменем операторите за равенство. Има само две от тях (равно на, == и! =, Не е равно на). Както подсказва името им, те се използват за тестване на равенството между два операнда.

Свързани: Как да създавате и извършвате операции с масиви в Java

Операторът за равенство (==) не трябва да се бърка с оператора за присвояване (=). Начинаещите програмисти обичат да смесват двете. Това е разумно, тъй като в алгебра символът (=) се използва за изразяване на равенство. Това обаче не е правилно в програмирането.

Операторът за присвояване (=) присвоява стойност на променлива, докато операторът за равенство (==) тества за равенство. Вижте примера по -долу, за да разберете разликата:

if(x=5){
// statements
}

Горният код винаги ще се изпълнява независимо от това дали x действително е равно на 5. Междувременно кодът по -долу ще се изпълни само ако x е равно на 5. Затова е важно да не се смесват двете.

if(x==5){
// statements
}

Двата споменати оператора на равенство имат същото ниво на приоритет, макар и по -ниско от това на релационните оператори.

Релационните оператори също имат същото ниво на приоритет. Изпълнението на тези оператори започва отляво надясно.

Допълнителни съображения за Java операторите

Сигурно сте забелязали, че в някои от примерите има интервали между някои оператори и техните операнди, докато в други няма.

Отсъствието/присъствието на това пространство не трябва да ви притеснява. Компилаторът ще го игнорира. Следователно следните изрази означават едно и също нещо:

Y>=7 // no whitespace
Y >= 7 // with whitespace

Релационните оператори обикновено се използват за изразяване на прости условия. За да комбинирате прости условия в по -сложни, ще трябва да използвате логически оператори. Логическите оператори могат да тестват множество условия, за разлика от релационните оператори, които тестват само едно условие.

Важно е също да се отбележи, че логическите оператори (|, &, ^) могат да бъдат побитови, когато имат интегрални операнди. Когато се използват като побитови оператори, те ще работят върху битовете на своите операнди.

С тези познания за операторите сега трябва да се подготвите за изучаване на Java класове.

Дял Дял Туит електронна поща Научете как да създавате класове в Java

Ако се научите да програмирате на Java, ще трябва да знаете как да създавате класове.

Прочетете Напред
Свързани теми
  • Програмиране
  • Java
  • Уроци по кодиране
За автора Джером Дейвидсън(22 статии са публикувани)

Джером е щатен писател в MakeUseOf. Той обхваща статии за програмиране и Linux. Той също е ентусиаст на крипто и винаги следи крипто индустрията.

Още от Джером Дейвидсън

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате