Thursday, May 30, 2013

JAVA - "IF" shartli o'tish operatori

Shartli o'tish operatori 2 xil turda bo'ladi.
1.
       if (booleanExpression) {
           //bajarilishi kerak bo'lgan amallar
       }
2.
       if (booleanExpression) {
           //bajarilishi kerak bo'lgan amallar
       else {
           //bajarilishi kerak bo'lgan amallar
       }


 
Bir qismli shartli o'tish operatori
Misol uchun:
public class MainClass {
  public static void main(String[] args) {
    int x = 9;
    if (x > 4) {
     
System.out.println("x katta 4 dan");
    }
  }
}
Ushbu dasturni yozib tekshirib ko'radigan bo'lsak ekranga "x katta 4 dan" degan natija chiqadi , chunki bu yozuv chiqishidan oldin "if" shartli o'tish operatori orqali tekshiriladi, ya'ni x ning qiymati 9 ga teng, agar x 4 dan katta bo'ladigan bo'lsa true qaytaradi va o'sha qismi ishga tushadi. Agar x=3 bo'ladigan bo'lsa va ushbu shartga tekshiradigan bo'lsak, hechqanday natija ekranga chiqmaydi, sababi 3 4 dan katta emas, shuning uchun false qaytaradi, agar false qaytarsa ushbu qismga kirmaydi.


Ikki qismli shartli o'tish operatori
Misol uchun:
 public class MainClass {
   public static void main(String[] args) {
      int a = 3;
      if (a > 2){
        System.out.println("a > 2");
      }
      else{
        System.out.println("a < 2");
      }
    }
  } 
else- bu ikkinchi qism deb qarasak bo'ladi. 
a ning qiymati 3 ga teng, bu yerda ikki qismli shartli o'tish operatori ishlatilgan ya'ni, agar shart true bo'lsa 1 - qism ishga tushadi,  false  bo'lsa 2 - qism ishga tushadi, Ushbu misolda a ni 2 bilan solishtiryapti, agar a 2 dan katta bo'lsa true qaytaradi va 1- qismi ishga tushadi , agar kichik bo'ladigan bo'lsa false qaytaradi va 2- qismi ishga tushadi qaytaratadi.

Shartil o'tish operatorining yana bitta turi bor, uni o'zbekchada qanday nomlanishi bilolmadim.
Misol bilan tushuntirishga harakat qilaman.

public class MainClass {

  public static void main(String[] args) {
    int a = 0;

    if (a == 1) {
      // a soni 1 ga teng bulsa ushbu qism ishga tushadi
      System.out.println("bir");
    else if (a == 2) {
      // a soni 2 ga teng bulsa ushbu qism ishga tushadi                            System.out.println("ikki");
    else if (a == 3) {
      // a soni 3 ga teng bulsa ushbu qism ishga tushadi
      System.out.println("uch");
    else {
      // tepadagi shartlarning bittasi ham bajarilmasa ushbu qism ishga tushadi
      System.out.println("invalid");
    }
  }
}
Ya'ni birinchi shartdan o'tadi, shart bajarilmasa else if bilan yana boshqa shartga tekshiradi va hakozo.
Shartli o'tish operatori bilan biror shartni tekshirgandan keyin yana boshqa shartga ham tekshirishimiz mumkin, yani if ning ichida yana if ishlatishimiz mumkin.

public class MainClass {

  public static void main(String[] arg) {
    int a = 2;
    int b = 5;

    if (a == 2) {
      System.out.println("a ning qiymati 2 ga teng");
      System.out.println("Ikkinchi shartga tekshirish:");
 
      if (b == 4) {
        System.out.println("b ning qiymati 4");
      else {
        System.out.println("b ning qiymati 4 ga teng emas");
      }
    else {
      System.out.println("a ning qiymati 2 ga teng emas");
    }
  }
}
Natija:
a ning qiymati 2 ga teng
Ikkingchi shartga tekshirish:
b ning qiymati 4 ga teng emas


&& (and) - mantiqiy operatoridan foydalanish
 
public class MainClass {

  public static void main(String[] args) {
    int a = 3, b = 1;
   
    if (a > 0 && b < 5) {
      //ikkala shart ham bajarilsa ushbu qismga kiradi aks holda kirmaydi
      if (a > 2) {
        System.out.println("a > 2");
      else {
        System.out.println("a < 2");
      }
    }
  }
}
Natija :
 
"a>2"

Ya'ni if (shart1 && shart2 && shart3 ...) hamma shart bajarilgandagina
true qaytaradi, shartlarning birortasi bajarilmay qolsa ham false qaytaradi
 
|| (or) - mantiqiy operatoridan foydalanish

 
public class MainClass {

  public static void main(String[] args) {
    int a = 3, b = 1;
   
    if (a > 0 || b < 5) {
      //ikkala shartdan bittasi bajarilsa ham ushbu qismga kiradi aks holda kirmaydi
      if (a > 2) {
        System.out.println("a > 2");
      else {
        System.out.println("a < 2");
      }
    }
  }
}
Natija :
 
"a>2"
 
Ya'ni if (shart1 || shart2 || shart3 || ...) ushbu shartlardan birortasi bajarilsa ham true qaytaradi, yani hamma shart ham bajarilishi shart emas, shartlarning birortasi bajarilmay qolsa ham false qaytaradi.
 
Maqolani yozishda quyidagilardan foydalanildi:
http://java2s.com  
http://google.com
 
Sardor Dushamov. email:dsq2190@gmail.com


 

No comments:

Post a Comment

Yii2 frameworkda frontend va backend sozlanmalarini sozlash(Apache)

Yii2 framework 2 xil template mavjud; Bularni yaxshi bilsangiz kerak, bular basic va advanced; Bularni farqlarini quyidagi rasm orqali bil...