İlişkisel ve Mantıksal Operatörler
Uygulama geliştirilirken, programın akışı sırasında verilmesi gereken çeşitli kararlar için belirli yapıların ve ölçütlerin tanımlanması gerekir. Verilecek bu kararlara göre programın akışı farklı bir yönde ilerletilebilir ve her çalıştırılmasında o anki duruma uygun sonuçlar vermesi sağlanabilir. Bu karar yapıları, belirli karşılaştırmaların yapılmasını da gerektirebilir. Örneğin, çeşitli nedenlerle kullanıcıdan alınan bir bilgiyi belirli bir ölçüte göre sınamak isteyebilirsiniz. Kullanıcıdan alınan bir değerin sıfıra eşit olup olmadığını kontrol etmek, daha sonradan bu değeri bir bölme işleminin paydası olarak kullanmanız durumunda ortaya çıkabilecek mantıksal hata gibi problemlerin önüne geçmenizi sağlayabilir.
İlişkisel Operatörler:
== | Eşittir |
!= | Eşit değildir |
< | Küçüktür |
> | Büyüktür |
>= | Büyüktür veya eşittir |
<= | Küçüktür veya eşittir |
Mantıksal Operatörler:
& | VE |
| | VEYA |
|| | Kısa Devre VEYA |
&& | Kısa Devre VE |
! | DEĞİL |
İlişkisel ve mantıksal operatörler doğru (true) yada yanlış (false) değerini, yani bool tipinde bir değeri geriye döndürür ve çoğunlukla if anahtar kelimesi ile birlikte kullanılır. Mantıksal operatörler ise iki bool değerini karşılaştırmak için kullanılır.
Mantıksal Operatörlerin Sonuçları:
p | q | p & q | p | q | !p |
---|---|---|---|---|
false | false | false | false | true |
true | false | false | true | false |
false | true | false | true | true |
true | true | true | true | false |
Kısa Devre Operatörler:
Kısa devre operatörleri, normal VE (&) ve VEYA (|) operatörlerinden biraz daha farklı çalışır. Normal operatörlerin kullanıldığı bir deyimde, ilk operandın sonucu ne olursa olsun diğer operandlar da kontrol edilir. Örneğin, normal VE operatörüyle yapılan bir işlemde, ilk operandın sonucu yanlış (false) ise, ikinci operandın sonucu ne olursa olsun, sonuç yanlış (false) olacaktır. Aynı şekilde, VEYA (|) operatörü kullanıldığında, ilk operandın sonucu doğru (true) ise, ikinci operandın sonucu ne olursa olsun, sonuç doğru (true) olacaktır. Bu iki durumda da, ikinci operandın kontrol edilmesi gereksizdir, ancak normal operatörlerde bu kontrol yapılır. Kısa devre operatörleri (&& ile ||) kullanıldığında ise, ilk operandla alınan sonuca bağlı olarak, ikinci operand kontrol edilmez. Kısa devre VE (&&) işleminde ilk operandın yanlış (false), kısa devre VEYA (||) işleminde ilk operandın doğru (true) olması durumunda ikinci operand kontrol edilmez. Bu, performans artışı sağlayacağı gibi, bazı istisnai durumlarda programın hata vermesini de engeller.
*int toplam = x + y ; işleminde, x ve y operand, + ise bir operatördür.