Mantiqiy amallar
Mantiqiy amallar Reja: 1. Mantiqiy amallar 2. Java Mantiqiy (Boolean) 3. Misol
Mantiqiy amallar Bu turdagi o‘zgaruvchi boolean kalit so‘zi bilan e’lon qilinib, xotiradan 1 bayt joy egallaydi va 0 (false, yolg‘on) yoki (true, rost) qiymat qabul qiladi. Mantiqiy tur o‘zgaruvchilar qiymatlar o‘rtasidagi munosabatlarni ifodalaydigan mulohazalarni rost (true) yoki yolg‘on (false) ekanligi tavsifida qo‘llaniladi va ular qabul qiladigan qiymatlar matematik mantiq qonuniyatlariga asoslanadi. Mantiqiy mulohazalar ustida uchta amal aniqlangan: - inkor; - konyunksiya; - dizyunksiya; 1) inkor – A mulohazani inkori deganda A rost bo‘lganda yolg‘on yoki yolg‘on bo‘lganda rost qiymat qabul qiluvchi mulohazaga aytiladi. Java tilida inkor – ‘!’ belgisi bilan beriladi. Masalan, A mulohaza inkori «!A» ko‘rinishida yoziladi; 2) konyunksiya- ikkita A va B mulohazalar konyunksiyasi yoki mantiqiy ko‘paytmasi «A && B» ko‘rinishga ega. Bu mulohaza faqat A va B mulohazalar rost bo‘lgandagina rost bo‘ladi, aks holda yolg‘on bo‘ladi (odatda «&&» amali «va» deb o‘qiladi). 3) dizyunksiya – ikkita A va B mulohazalar dizyunksiyasi yoki mantiqiy yig‘indisi «A || B» ko‘rinishda yoziladi. Bu mulohaza rost bo‘lishi uchun A yoki B mulohazalardan biri rost bo‘lishi yetarli. Odatda «||» amali «yoki» deb o‘qiladi. Mantiqiy amallarni bajarilish jadvali quyidagicha. A B !A !B A&&B A||B 0 0 1 1 0 0 0 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 1 1 Matematikadagi taqqoslash amali Java dasturlash tilida yozilishi . Nomi Java da ifodalanishi Misol Natija Tengli k == 12==50 5==5 False True Teng emas != 100!=50 50!=50 True False
Katta > 100>50 50>50 True False Katta yoki teng >= 100>=50 50>=50 True True Kichik < 100<50 50<50 False False Kichik yoki teng <= 100<=50 50<=50 False True Java Mantiqiy (Boolean) Avvalgi darslarimizda aytganimizdek, Java dasturlash tilida 8 ta sodda ma’lumotlar turlari mavjud bo’lib, boolean ulardan biri hisoblanadi va u faqat ikkita qiymatdan birini qabul qiladi: true (rost) yoki false (yolg’on). Boolean turidagi qiymatlar shartli ifodalarda, takrorlanuvchi amallarda, shuningdek mantiqiy amallarda qo’llaniladi. Quyidagi misolga e’tibor bering: boolean javaQiziqmi = true; boolean javaQiyinmi = false; System.out.println(javaQiziqmi); // true System.out.println(javaQiyinmi); // false Boolean qiymatlarni ko’proq shartli ifodalarda ishlatish keng tarqalgan, bunday ifodalar boolean ifodalar deb ham ataladi: int x = 10; int y = 9; System.out.println(x > y); // true chop etiladi, chunki 10 qiymati 9 qiymatidan katta. Yoki soddaroq: System.out.println(10 > 9); // true Yoki teskarisi: System.out.println(10 < 9); // false
Yoki ikkita qiymatni tenglikka tekshirishimiz mumkin: int x = 10; System.out.println(x == 10); // true Yoki: System.out.println(10 == 15); // false Boolean o’zgaruvchilarning qiymatlarini solishtirishga doir bir nechta misollarni ko’rib chiqamiz. Dastlab ikkita boolean o’zgaruvchi e’lon qilamiz va ularning biriga false, ikkinchisiga true qiymat beramiz va yana ikkita boolean o’zgaruvchi taqqoslash natijalarini saqlash uchun. boolean b1 = false; boolean b2 = true; boolean b3 = (b1 == b2); // qiymatlarni tenglikka tekshirish boolean b4 = (b1 != b2); // qiymatlarni tengmaslikka tekshirish System.out.println(b1); // b1 is false System.out.println(b2); // b2 is true System.out.println(b3); // b3 is false System.out.println(b4); // b4 is true Mantiqiy operatorlar Mantiqiy operatorlar “AND”, “OR”, “NOT” kabi mantiqiy amallarni ifodalash uchun ishlatiladi. AND operatori ( && ) – barcha mantiqlar rost (true) bo’lsa, rost (true) qiymat qaytaradi, aks holda yolg’on (false) qiymat qaytaradi. Sintaksisi: mantiq1 && mantiq2 Quyidagi misolda turli qiymatdagi boolean o’zgaruvchilarni o’zaro AND amalini hisoblaymiz. boolean b1 = true; boolean b2 = true; boolean b3 = false; boolean b4 = false; System.out.println(b1 && b2); // true
System.out.println(b1 && b3); // false System.out.println(b3 && b4); // false System.out.println(b1 && b2 && b3); // false, chunki bitta mantiq yolg’on OR operatori ( || ) – kamida bitta mantiq rost (true) bo’lsa, rost (true) qiymat qaytaradi. Faqat barchasi yolg’on (false) bo’lsa, yolg’on (false) qiymat qaytaradi. Sintaksisi: mantiq1 || mantiq2 Quyidagi misolda turli qiymatdagi boolean o’zgaruvchilarni o’zaro OR amalini hisoblaymiz. boolean b1 = true; boolean b2 = true; boolean b3 = false; boolean b4 = false; System.out.println(b1 || b2); // true System.out.println(b1 || b3); // true System.out.println(b3 || b4); // false System.out.println(b2 || b3 || b4); // true, chunki bitta mantiq rost NOT operatori ( ! ) – rost (true) qiymatni yolg’on (false) qiymatga aylantiradi va aksincha yolg’on (false) qiymatni rost (true) qiymatga aylantiradi. Sintaksisi: ! mantiq Quyida NOT amalini AND va OR amallari bilan birga qo’llashni o’rganamiz. boolean b1 = true; boolean b2 = true; boolean b3 = false; boolean b4 = false; System.out.println(!b1); // false System.out.println((b1 || b3) && !b2); // false System.out.println(!(b3 || b4) && b1); // true System.out.println(!(b1 && b3 || b2)); // false