Məntiqi operatorlar
Bir neçə ikili məntiqi operator və bir unar operator var. Bütün bu operatorlar üçün arqumentlər məntiqi hərflər (sabitlər), məntiqi dəyişənlər və məntiqi dəyəri olan ifadələrdir.
Operatorlar:
!
- “inkar”, unar operator, mənasını tərsinə dəyişir (ters çevirir: yalanı həqiqətə, həqiqəti isə yalana çevirir).
&&
- məntiqi “və” (“birləşmə”, “kəsişmə”), ikili əməliyyat, yalnız və yalnız hər iki operand doğru olduqda doğru qaytarır.
||
- məntiqi “və ya” (“disjunction”, “birlik”), binar əməliyyat, operandlardan ən azı biri doğru olduqda həqiqi dəyəri qaytarır.
Məntiqi operatorlar aşağıdakı prioritetlərə malikdirlər: inkar, birləşmə, disjunksiya. Arifmetik operatorlarda olduğu kimi, mötərizələr də üstünlüyü düzəltmək üçün istifadə olunur. Bir mötərizə cütü digər mötərizə cütlüyünün içərisinə daxil olarsa, əvvəlcə daxili mötərizədəki dəyər qiymətləndirilir. Nümunələr:
boolean a = true;
boolean b;
b = a || true;
b = !b;
System.out.println(b);
a = a || b;
boolean c;
c = a && (a||b);
System.out.println(c);
Java-da boolean və rəqəmli tiplər bir-birinə çevrilə bilməz.
Müqayisə operatorları
Əksər müqayisə operatorları ədədi dəyərlərə tətbiq edilir. Bunların hamısı iki ədədi arqumentə malik olan, lakin Boolean dəyərini qaytaran ikili operatorlardır.
>
- operator "daha çox".
>=
— “böyük və ya bərabər” operatoru.
<
— “az” operatoru.
<=
— “az və ya bərabər” operatoru.
!=
— “bərabər olmayan” operator.
==
— ekvivalentlik (bərabərlik) operatoru.
Son iki operator təkcə rəqəmli qiymətlər üçün deyil, məsələn, məntiqi olanlar üçün də istifadə oluna bilər. Nümunələr:
boolean m;
m = 5 >= 4;
m = 5 != 5 || false;
boolean w;
w = m == false;
System.out.println(w);
Ekvivalent operatoru təyin operatoru ilə qarışdırmamaq çox vacibdir. Müxtəlif tipli operatorları ehtiva edən ifadələrdə əvvəlcə hesab əməliyyatları, sonra müqayisə əməliyyatları, daha sonra məntiqi əməliyyatlar və son olaraq tapşırıq yerinə yetirilir.
Şərti if ifadəsi
Operator
if
müəyyən məntiqi şərtdən asılı olaraq göstərişin yerinə yetirilməsini və ya buraxılmasını təmin edir. Şərt doğrudursa,
göstəriş yerinə yetirilir.
if (condition) инструкция;
Təlimat əvəzinə ya müntəzəm göstəriş (bir əmr) və ya mürəkkəb göstəriş (digər şərti ifadələr də daxil olmaqla bir neçə əmrdən ibarət blok) ola bilər. Nümunələr (əgər dəyişən qiymətlər kimi sıfır göstərilibsə, bölmə aparılmayacaq və onun nəticəsi ekranda göstərilməyəcək):
int a = 25;
if (a != 0) System.out.println( 100/a );
int b = 25;
if (b != 0) {
System.out.println( 100/b );
}
Birinci nümunədəki kodun daha yığcam görünməsinə baxmayaraq, yalnız ikinci misalda şərt doğru olarsa, bir neçə təlimatı yerinə yetirmək mümkün olardı. Operatorun
if
əlavə hissəsi olan formatı var
else
:
if (condition)
инструкция1;
else
инструкция2;
Şərt doğrudursa , sadə və ya mürəkkəb
göstəriş1 yerinə yetirilir və şərt yanlışdırsa, sadə və ya mürəkkəb
göstəriş2 yerinə yetirilir . Misal:
int a = 0;
if (a != 0) System.out.println( 100/a );
else System.out.println("На нуль делить нельзя");
GO TO FULL VERSION