Логикалық операторлар
Бірнеше екілік логикалық операторлар және бір унарлы операторлар бар. Барлық осы операторлар үшін дәлелдер логикалық литералдар (тұрақтылар), логикалық айнымалылар және логикалық мәні бар өрнектер болып табылады.
Операторлар:
!
- «терістеу», унарлы оператор мағынаны керісінше өзгертеді (инвертеді: өтірік шындыққа айналдырады, ал шындықты өтірікке айналдырады).
&&
- логикалық «және» («конъюнкция», «қиылысу»), екілік операция, егер операндтардың екеуі де ақиқат болса ғана ақиқат мәнін қайтарады.
||
- логикалық «немесе» («дизъюнкция», «бірлесу»), екілік операция, операндтардың кем дегенде біреуі ақиқат болғанда ақиқат мәнді қайтарады.
Логикалық операторлар келесі басымдыққа ие: терістеу, конъюнкция, дизъюнкция. Арифметикалық операторлар жағдайындағы сияқты, басымдылықты түзету үшін жақшалар қолданылады. Жақшалардың бір жұбы басқа жақшалар жұбының ішінде кірістірілген болса, алдымен ішкі жақшадағы мән бағаланады. Мысалдар:
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 тілінде логикалық және сандық типтерді бір-біріне түрлендіру мүмкін емес.
Салыстыру операторлары
Салыстыру операторларының көпшілігі сандық мәндерге қолданылады. Бұлардың барлығы екі сандық аргументі бар, бірақ логикалық мәнді қайтаратын екілік операторлар.
>
- оператор "көбірек".
>=
— «үлкен немесе тең» операторы.
<
— «кем» операторы.
<=
— «кем немесе тең» операторы.
!=
— «тең емес» операторы.
==
— эквиваленттік (теңдік) операторы.
Соңғы екі операторды тек сандық мәндер үшін ғана емес, сонымен қатар, мысалы, логикалық мәндер үшін де қолдануға болады. Мысалдар:
boolean m;
m = 5 >= 4;
m = 5 != 5 || false;
boolean w;
w = m == false;
System.out.println(w);
Эквиваленттік операторды тағайындау операторымен шатастырмау өте маңызды. Түрлі типтегі операторлары бар өрнектерде алдымен арифметикалық амалдар, содан кейін салыстыру амалдары, содан кейін логикалық амалдар, ең соңында тағайындау орындалады.
Шартты if операторы
Оператор
if
көрсетілген логикалық шартқа байланысты нұсқаудың орындалуын немесе өткізіп жіберуін қамтамасыз етеді. Егер шарт ақиқат болса, онда
нұсқау орындалады.
if (condition) инструкция;
Нұсқау орнына тұрақты нұсқау (бір команда) немесе құрама команда (басқа шартты мәлімдемелерді қоса алғанда, бірнеше командаларды қамтитын блок) болуы мүмкін. Мысалдар (айнымалы мәндер ретінде нөл көрсетілсе, бөлу орындалмайды және оның нәтижесі экранда көрсетілмейді):
int a = 25;
if (a != 0) System.out.println( 100/a );
int b = 25;
if (b != 0) {
System.out.println( 100/b );
}
Бірінші мысалдағы code ықшам болып көрінгенімен, тек екінші мысалда шарт ақиқат болса, бірнеше нұсқауларды орындауға болады. Операторда
if
қосымша бөлігі бар пішім бар
else
:
if (condition)
инструкция1;
else
инструкция2;
Шарт ақиқат болса , жай немесе құрама
команда1 орындалады , ал егер шарт жалған болса, жай немесе құрама
команда2 орындалады . Мысалы:
int a = 0;
if (a != 0) System.out.println( 100/a );
else System.out.println("На нуль делить нельзя");
GO TO FULL VERSION