Mantıksal operatörler


Merhaba, bu defa da derslerimizde işlediğimiz temel mantıksal operatörleri buraya aktarmak istedim. && (ve,and), || (veya,or), ! (değil,not) % olarak ifade edebileceğimiz mantıksal operatorler tüm mantık/lojik işlemlerde kullanılırlar. Yani C# derslerinde öğrendiğiniz program akış kontrol yapıları olarak isimlendirilen if,if-else vb. yapılarda bunları kullanırız. "Hocam şu iki dik çizgi nasıl yapılıyor?" dediğinizi duyar gibiyim. Ben de "Oğlum! Evladım! Klavyede AltGr ile [> < |] simgeleri olan tuşa basın. Soldaki Shitf' in yanında!" derdim herhalde... Kim bilir? Özetle mantıksal operatörler:

  1. &&(VE) operatörü tüm şart ifadeleri doğru iken doğru/true, diğer durumlarda yanlış
  2. ||(VEYA) operatörü şartlardan herhangi biri doğru iken doğru/true, diğer durumlarda yanlış
  3. !(DEĞİL) operatörü ise durumu tersler; doğru ile yanlış, yanlış ise doğru yapar
<script language="javascript" type="text/javascript">
    // +-----Mantıksal operatorler-------+
    // | operator      +  aciklama       |
    // +------------------|----------------------|
    // |      &&        |   VE              |
    // |      ||          |   VEYA          |
    // |      !           |   DEĞİL         |
    // +------------------+---------------------+
    //boolean degiskenlerimiz tanimliyoruz
    var p1=false, p2=false;
    //VE operatoru tum sartlar dogru ise dogru sonucunu
    //diğer durumlarda yanlis sonucunu verir
    console.log("&& VE operatoru icin ornek sonuclar");
    console.log(p1 + " && " + p2 + " = " + (p1 && p2));
    p1=true;p2=false;
    console.log(p1 + " && " + p2 + " = " + (p1 && p2));
    p1=false;p2=true;
    console.log(p1 + " && " + p2 + " = " + (p1 && p2));
    p1=true;p2=true;
    console.log(p1 + " && " + p2 + " = " + (p1 && p2));    
    //VEYA operatoru şartlardan herhangi biri dogru ise dogru sonucunu
    //diger durumlarda yanlis sonucunu verir
    console.log("|| VEYA operatoru icin ornek sonuclar");
    p1=false; p2=false;
    console.log(p1 + " || " + p2 + " = " + (p1 || p2));
    p1=true;p2=false;
    console.log(p1 + " || " + p2 + " = " + (p1 || p2));
    p1=false;p2=true;
    console.log(p1 + " || " + p2 + " = " + (p1 || p2));
    p1=true;p2=true;
    console.log(p1 + " || " + p2 + " = " + (p1 || p2));  
    //! DEGIL operatoru durumun tersini alir. dogru ise yanlis
    //yanlis ise dogru yapar.
    console.log("! DEĞİL operatoru icin ornek sonuclar");
    p1=true;
    console.log("p1=" + p1 +  " !" + p1 + " = " + (!p1));
    p1=false;
    console.log("p1=" + p1 +  " !" + p1 + " = " + (!p1))    
    //Değilin Değili kendisini verir.
    p1=true;
    console.log("p1=" + p1 +  " !!" + p1 + " = " + (!!p1))
    //! (DEGIL) operatorunu kullanicidan alinan bir sayinin karesini hesaplarken
    //kullanicinin sayi girmemesi durumunu kontrol etmek icin kullaniyoruz. Bunun icin:
    //1. prompt ile veri giris penceresi aciliyor, 
    //2. girilen veri sayiya donusturuluyor,
    //3. sayi girilmemisse kullanici uyariliyor,
    //4  sayi girilmisse 100' e esit ya da kucuk olup olmadigi kontrol ediliyor
    //5. her iki şart da saglaniyorsa sayinin karesi alinarak ekranda goruntuleniyor.
    //6. şartlardan herhangi biri saglanmazsa kullanici uyariliyor.
    //NOT: <= kucuk ya da esit vb. karsilsatirma operatorleri ayrica aciklanacaktir
    let sayi=Number(prompt("0-100 arasında bir sayi giriniz",5));
    if(!Number.isNaN(sayi) && sayi<=100) 
        console.log(sayi + " 'nın karesi = " + (sayi*sayi));
    else
        console.log("1-100 arasinda bir sayı girmelisiniz."); 
</script>