CodeGym /Kurslar /JAVA 25 SELF /Boolean məntiqi tipi və məntiqi əməliyyatlar

Boolean məntiqi tipi və məntiqi əməliyyatlar

JAVA 25 SELF
Səviyyə, Dərs
Mövcuddur

1. Məntiqi məlumat tipi: boolean

Artıq gördüyümüz kimi, Java-da çox faydalı bir operator var — if-else. Mötərizələrdəki şərt doğru olduqda bir əmrlər blokunu, şərt yalnış olduqda isə ikinci əmrlər blokunu icra edir.

Doğru və ya yalnış ola bilən ifadələrlə rahat işləmək üçün Java-da xüsusi bir tip — boolean əlavə edilib. Onun əsas xüsusiyyəti ondan ibarətdir ki, bu tipin dəyişənləri cəmi iki dəyər ala bilər: true (doğru) və false (yalan).

Başqa heç bir dəyəri boolean tipli dəyişənlərə mənimsətmək mümkün deyil. Kompilyator buna icazə verməyəcək.

boolean tipli dəyişən nümunələri:

boolean isAdult = true;
boolean hasMoney = false;
boolean tipli dəyişənlərin elanına nümunə

boolean tipli dəyişənin cəmi iki dəyəri var — true və false. Vəssalam! Uğurlu test kimi — ya “keçdi”, ya da “uğursuz oldu”.

2. Müqayisə əməliyyatları

Bəs belə primitiv tip nə üçün lazımdır? booleanın real gücü biz məntiqi ifadələr quranda üzə çıxır. Adətən bunlar müqayisə operatorları ilə alınır.

Operator Mənası Nümunə Dəyər
== Bərabərdir
a == b
true və ya false
!= Bərabər deyil
a != b
true və ya false
> Böyüktür
a > b
true və ya false
< Kiçikdir
a < b
true və ya false
>= Böyük və ya bərabərdir
a >= b
true və ya false
<= Kiçik və ya bərabərdir
a <= b
true və ya false

Nümunə:

int age = 20;
boolean isAdult = age >= 18;   // true (20 18-dən böyük və ya bərabərdir)
boolean isTeenager = age >= 13 && age < 18; // false (20 18-dən kiçik deyil)
boolean isEven = age % 2 == 0; // true (20 2-yə qalıqsız bölünür)

Burada isAdult true olacaq, çünki 20 — doğrudan da yetkin yaşdır.

Vacib məqam 1:

İki simvoldan ibarət operatorları parçalamaq olmaz.


a < = 10
speed > = max
age = = 18
time ! = 0
Belə yazmaq olmaz! Operatorlar bitişik olmalıdır: <=, >=, ==, !=

Vacib məqam 2:

Nəzərə alın ki, => və =< operatorları yoxdur: yalnız <= və >= var. Əgər a =< 3 yazsanız, kodunuz sadəcə kompilyasiya olunmayacaq.

Vacib məqam 3:

Java-da 18 < age < 65 tipli ifadəni yaza bilməzsiniz. Çünki 18 < age ifadəsinin dəyəri true və ya false olacaq. Və true ilə bir rəqəmi (65) müqayisə etmək olmaz — tiplər fərqlidir.

3. Məntiqi əməliyyatlar

Java dilində 18 < age < 65 ifadəsini yazmaq olmaz — bu sintaksis baxımından səhvdir və proqram kompilyasiya olunmayacaq.

Amma bunu belə yaza bilərsiniz:


(18 < age) I (age < 65)
İki şərtli məntiqi ifadə (rus dilində)

Aydındır ki, “VƏ” sözünün yerinə məntiqi operatorlardan istifadə olunur. Java-da üç məntiqi operator var: AND (və), OR (və ya) və NOT (deyil).

Yaxşı xəbər: mötərizələrdən istifadə edərək istənilən mürəkkəblikdə məntiqi ifadələr qurmaq olar.
Pis xəbər: Java-da and, or və not sözləri əvəzinə C ailəsindən olan işarələr istifadə olunur: &&, ||, !.

Məntiqi operator Gözlənti Reallıq
VƏ (∧) and &&
VƏ YA (∨) or ||
DEYİL (¬) not !

Java-da məntiqi operatorlardan istifadə üzrə bir neçə nümunə:

İfade Tərcümə İzah
(0 < a) && (a < 100)
(0 < a) and (a < 100) (0 < a) VƏ (a < 100)
(!a) && (!b)
(not a) and (not b) (DEYİL a) VƏ (DEYİL b)
!(!a || !b)
not((not a) or (not b)) DEYİL((DEYİL a) VƏ YA (DEYİL b))

4. Həqiqət cədvəlləri

Məntiqi əməliyyatlara qısa baxış edək.

AND operatoru

AND operatoru, yəni VƏ, yəni &&, yəni kon’yunksiya, yəni məntiqi vurma.

İfade Nəticə
true && true true
true && false false
false && true false
false && false false

OR operatoru

OR operatoru, yəni VƏ YA, yəni ||, yəni dizyunksiya, yəni məntiqi toplama.

İfade Nəticə
true || true true
true || false true
false || true true
false || false false

NOT operatoru

NOT operatoru, yəni DEYİL, yəni !, yəni inversiya.

İfade Nəticə
! true false
! false true

Faydalı ifadələr:

İfade Nəticə
m && !m false
m || !m true
!(a && b) !a || !b
!(a || b) !a && !b

5. Məntiqi əməliyyatlara nümunələr: and, or, not

“VƏ” əməliyyatı, AND, && ilə işarə olunur

Nəticə yalnız hər iki dəyişən doğru olduqda doğrudur.

int age = 16;
boolean hasTicket = true;
boolean canAttend = age >= 14 && hasTicket; // true (16 14-dən böyükdür VƏ bilet var)

Əgər sənin 14 yaşın varsa VƏ biletin varsa — keç!

“VƏ YA” əməliyyatı, OR, (||) ilə işarə olunur

Nəticə ən azı bir şərt doğru olduqda doğrudur.

boolean isAdmin = false;
boolean isModerator = true;
boolean canEdit = isAdmin || isModerator; // true (bunlardan hər hansı biri true-dursa, redaktə etmək olar)

Əgər sən admin VƏ YA moderatorsansa — buyur, düymələrə bas!

“DEYİL” əməliyyatı, NOT, (!) ilə işarə olunur

İnverter doğrunu yalana, yalanı isə doğruya çevirir.

boolean isWeekend = false;
boolean shouldGoToWork = !isWeekend; // true (əgər həftəsonu deyilsə, işləyirik)

Əgər DEYİL həftəsonudur — qalxmaq vaxtıdır!

Birləşdirmə: istənilən mürəkkəblikdə şərtlər qurun

İstədiyiniz qədər məntiqi əməliyyatı birləşdirə bilərsiniz (amma həddini aşmamaq məsləhətdir). Aydınlıq üçün mötərizələrdən istifadə etmək olar (və gərəkdir!).

Nümunə:

int age = 17;
boolean hasTicket = false;
boolean isVip = true;

boolean canGo = (age >= 18 && hasTicket) || isVip; // true, çünki isVip = true

Məntiq: əgər şəxs yetkindirsə və bileti varsa, yaxud VIP-dirsə — buraxırıq. VIP deyilsə — yalnız yetkindirsə və bileti varsa.

1
Tapşırıq
JAVA 25 SELF, səviyyə, dərs
Bağlanıb
Həqiqətin axtarışı 🧐
Həqiqətin axtarışı 🧐
1
Tapşırıq
JAVA 25 SELF, səviyyə, dərs
Bağlanıb
Matç nəticəsi ⚽
Matç nəticəsi ⚽
1
Tapşırıq
JAVA 25 SELF, səviyyə, dərs
Bağlanıb
Piknik planlaşdırılması 🧺
Piknik planlaşdırılması 🧺
1
Tapşırıq
JAVA 25 SELF, səviyyə, dərs
Bağlanıb
Otaqda komfort temperaturu 🌡️
Otaqda komfort temperaturu 🌡️
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION