Операторҳои мантиқӣ
Якчанд операторҳои мантиқии бинарӣ ва як оператори унарӣ мавҷуданд. Далелҳои ҳамаи ин операторҳо литералҳои мантиқӣ (константҳо), тағирёбандаҳои мантиқӣ ва ифодаҳое мебошанд, ки арзиши мантиқӣ доранд.
Операторҳо:
!
- «инкор», оператори унарӣ, маъноро ба муқобил иваз мекунад (инверситатсия: дурӯғро ба ҳақиқат ва ҳақиқатро ба дурӯғ табдил медиҳад).
&&
- мантиқии "ва" ("пайванд", "бурриш"), амалиёти дуӣ, ҳақиқиро бармегардонад, агар ҳарду операнд дуруст бошанд.
||
- "ё" мантиқии ("дизъюнксия", "иттиҳод"), амалиёти дуӣ, арзиши ҳақиқиро бармегардонад, вақте ки ақаллан яке аз операндҳо дуруст аст.
Операторҳои мантиқӣ афзалияти зерин доранд: радкунӣ, конъюнксия, дизъюнксия. Ҳамон тавре ки дар мавриди операторҳои арифметикӣ, қавсҳо барои ислоҳи афзалият истифода мешаванд. Агар як ҷуфти қавс дар дохor ҷуфти дигари қавс ҷойгир карда шуда бошад, аввал арзиши қавсҳои дарунӣ арзёбӣ мешавад. Мисолҳо:
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 (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