Операторите са символи, използвани за извършване на операции със стойности, променливи или изрази. Изразите, върху които извършват тези действия, се наричат операнди. Операциите връщат булев резултат (true или false) за релационни, равенство и логически оператори.
Броят на операндите, които операторът приема, определя неговия тип. Оператор, който приема един операнд, се нарича "унар". Оператор, който приема два операнда, се нарича "двоичен".
Прочетете, за да научите как можете да използвате логически и релационни оператори в Java. Още по-добре, повечето езици за програмиране използват едни и същи оператори, така че можете да приложите тези знания другаде.
Логически оператори
Те се използват за изграждане на логически изявления по време на програмиране. В Java има шест логически оператора. Таблицата по-долу ги обобщава.
Оператор | Име | Тип |
---|---|---|
| | Булева логическа ИЛИ | Двоична |
& | Логическо логическо И | Двоична |
^ | Логически логически изключителен ИЛИ | Двоична |
|| | Условно ИЛИ | Двоична |
&& | Условно И | Двоична |
! | Логично НЕ | Унар |
Ако искате да проверите дали едното или и двете условия са верни, използвайте този оператор. Условието е израз, който може да бъде истина или невярна.
Логично логическо ИЛИ (|)
Логическото ИЛИ проверява дали и двата операнда са верни, преди да оцени израза.
ако (dob <2005 | височина <= 5) {
пари ++;
}
Горният пример ще даде на някой повече пари, ако датата му на раждане (dob) е по-малка от 2005 г. или ако височината им е по-малка или равна на 5 фута.
Логическо логическо И (&)
Този оператор се използва, за да провери дали и двете условия са верни, преди да поеме определен път на изпълнение в програмата. Първо проверява дали и двете условия са верни, преди да оцени целия израз.
Свързани: Как да проверявам низове с помощта на булеви методи в Python
Логически логически изключителен ИЛИ (^)
Ако искате да проверите дали едно от условията е вярно, но не и двете, тогава това е операторът, който да използвате. Таблицата на истината по-долу обобщава резултатите, които ще видите, когато я използвате.
израз1 | израз2 | израз1 ^ израз2 |
---|---|---|
невярно | невярно | невярно |
невярно | вярно | вярно |
вярно | невярно | вярно |
вярно | вярно | невярно |
Булево условно И (&&)
Този оператор е подобен на логическото И. Разликата е, че първо проверява дали условието отляво е вярно, преди да премине към това отдясно.
Ако се установи, че лявата част е фалшива, изпълнението спира незабавно. В противен случай оценката на дясната част ще продължи. Тази функция е известна като оценка на късо съединение.
Вижте таблицата с истината по-долу, за да обосновете разбирането си за този оператор.
израз1 | израз2 | израз1 && израз2 |
---|---|---|
невярно | невярно | невярно |
невярно | вярно | невярно |
вярно | невярно | невярно |
вярно | вярно | вярно |
Условно ИЛИ (||)
Ако някое от условията е невярно, изпълнението ще премине към следващата част на програмата. С други думи, и двете условия трябва да са верни.
Този оператор е подобен на логически ИЛИ. Той също така проверява дали едното или и двете условия са верни, преди да изпълни определен код.
Подобно на условното И, логическото ИЛИ също използва оценка на късо съединение. Първо проверява дали операндът отляво е истина, преди да оцени този отдясно.
Свързани: Какво е конструктор в Java и как го използвате?
Ако се установи, че условието вляво е вярно, тогава няма нужда да проверявате правилното. В противен случай оценката вдясно ще продължи.
Логично НЕ (!)
Този оператор се използва за отричане на условие. Той просто обръща смисъла на това, върху което работи.
ако (! (x> 5)) {
// изявления
}
Горното твърдение означава, че ако "x е по-голямо от 5" НЕ е вярно, тогава изпълнете изразите вътре в ако.
Забележете използването на кръгли скоби с израза (x> 5). Ако не включите тези скоби, докато пишете програмата си, ще получите грешка по време на компилация. Причината е, защото ! е унарен оператор, който действа при условие. Без скоби компилаторът би го интерпретирал като оператор, действащ върху x, а не x> 5.
Включването на скоби не е само за да даде възможност на компилатора да интерпретира правилно израз. Те могат да се използват и като начин за програмиста да разбере по-добре сложните изрази. Вижте примера по-долу:
възраст> = 7 && височина <5
На някои хора може да им е трудно да следват логиката. Ето защо някои програмисти предпочитат да добавят излишни скоби от съображения за четливост:
(възраст> = 7) && (височина <5)
Релационни оператори
Тези оператори се използват за сравняване на прости връзки между операндите.
Оператор | Име |
---|---|
> | По-велик от |
< | По-малко от |
>= | По-голямо или равно на |
<= | По-малко или равно на |
Релационните оператори са доста лесни за разбиране, защото всички те имат същото значение като обичайните алгебрични оператори, с които вече сте запознати. Това ще рече, > и < имат същото значение, което вече знаете, като това, дадено в таблицата по-горе.
ако (x <= 7) {
x ++;
}
Гореизложеното ако израз проверява дали x е по-малко или равно на 7. Ако е вярно, тогава операторите в скобите се изпълняват, в противен случай не.
Сега би било подходящо време да споменем операторите за равенство. Има само два от тях (равно на, == и! =, Не е равно на). Както подсказва името им, те се използват за тестване на равенство между два операнда.
Свързани: Как да създавам и изпълнявам операции с масиви в Java
Операторът за равенство (==) не трябва да се бърка с оператора за присвояване (=). Начинаещите програмисти обичат да смесват двете. Това е разумно, тъй като в алгебра символът (=) се използва за изразяване на равенство. Това обаче не е правилно в програмирането.
Операторът за присвояване (=) присвоява стойност на променлива, докато операторът за равенство (==) тества за равенство. Вижте примера по-долу, за да разберете разликата:
ако (x = 5) {
// изявления
}
Горният код винаги ще се изпълнява, независимо дали x действително е равен на 5. Междувременно кодът по-долу ще се изпълни само ако x е равно на 5. Затова е важно да не смесвате двете.
ако (x == 5) {
// изявления
}
Споменатите два оператора за равенство имат еднакво ниво на предимство, макар и по-ниско от това на релационните оператори.
Релационните оператори също имат същото ниво на предимство. Изпълнението на тези оператори започва отляво надясно.
Допълнителни съображения на Java операторите
Трябва да сте забелязали, че има пробел между някои оператори и техните операнди в някои от примерите, докато в други няма.
Липсата / присъствието на това пространство не трябва да ви тревожи. Компилаторът ще го игнорира. Следователно следните изрази означават едно и също:
Y> = 7 // без празно пространство
Y> = 7 // с празно пространство
Релационните оператори обикновено се използват за изразяване на прости условия. За да комбинирате прости условия в по-сложни, ще трябва да използвате логически оператори. Логическите оператори могат да тестват множество условия, за разлика от релационните оператори, които просто тестват едно условие.
Също така е важно да се отбележи, че логическите оператори (|, &, ^) могат да бъдат битови оператори, когато имат интегрални операнди. Когато се използват като битови оператори, те ще работят върху битовете на своите операнди.
С тези познания на операторите, сега трябва да се подготвите за изучаване на Java класове.
Ако се научавате да програмирате в Java, ще трябва да знаете как да създавате класове.
Прочетете Напред
- Програмиране
- Java
- Уроци за кодиране
Джером е писател на персонала в MakeUseOf. Той обхваща статии за програмиране и Linux. Той също така е крипто ентусиаст и винаги следи крипто индустрията.
Абонирайте се за нашия бюлетин
Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и ексклузивни оферти!
Още една стъпка…!
Моля, потвърдете имейл адреса си в имейла, който току-що ви изпратихме.