📘 3.2 – Mantıksal Operatörler (&&, ||, !)
🔹 Açıklama:
Mantıksal operatörler, birden fazla koşulun aynı anda değerlendirilmesini sağlar. Programlama dünyasında birçok durum sadece tek bir koşulla değil, birden fazla koşulun birleşimiyle anlam kazanır.
C#’ta kullanılan temel mantıksal operatörler şunlardır:
&&
(VE): Tüm koşullar doğruysa true döner.||
(VEYA): Koşullardan en az biri doğruysa true döner.!
(DEĞİL): Koşulun sonucunu tersine çevirir.
Bu operatörler if-else blokları ve kullanıcı girişleriyle birleştirilerek daha esnek ve gerçek hayata uygun karar mekanizmaları kurmaya olanak tanır.
📍 Kullanım Alanları:
- Giriş sistemlerinde kullanıcı adı ve şifre kontrolü
- Yaş ve onay gibi birden fazla şartı sağlayan kullanıcı kontrolleri
- Karmaşık form doğrulamaları
- Oyun veya simülasyon gibi mantıksal test gerektiren sistemler
- Ticari hesaplamalarda çoklu kriter kontrolleri
🎯 Kazanımlar:
- Birden fazla koşulu birlikte değerlendirebilme
- Doğru senaryoda doğru operatörü seçebilme
- Kodun akışını mantıksal olarak tasarlayabilme
if
,else if
,else
yapılarıyla entegre mantıksal ifadeler kurma- Değil (
!
) operatörüyle negatif durumları yorumlayabilme
🧪 3.2 – Mantıksal Operatörler (&&, ||, !) – Örneklerle Uygulama
📌 Örnek 1: Kullanıcı Adı ve Şifre Doğrulama (&& Kullanımı)
🎯 Amaç:
Girilen kullanıcı adı ve şifre doğruysa girişe izin ver.
🎨 Form Elemanları:
txtKullaniciAdi
(TextBox)txtSifre
(TextBox)btnGiris
(Button)lblDurum
(Label)
💻 Kod:
private void btnGiris_Click(object sender, EventArgs e)
{
string kullanici = txtKullaniciAdi.Text;
string sifre = txtSifre.Text;
if (kullanici == "admin" && sifre == "1234")
lblDurum.Text = "Giriş başarılı.";
else
lblDurum.Text = "Hatalı kullanıcı adı veya şifre.";
}
📝 Açıklama:&&
operatörü her iki koşul doğruysa işlem yapar. Giriş sistemlerinde yaygın kullanılır.
📌 Örnek 2: Yaş ve Onay Kutusu Kontrolü (&& Kullanımı)
🎯 Amaç:
Kullanıcının 18 yaşında ve onay kutusunu işaretlemiş olmasını kontrol et.
🎨 Form Elemanları:
txtYas
(TextBox)chkOnay
(CheckBox)btnDevam
(Button)lblDurum
(Label)
💻 Kod:
private void btnDevam_Click(object sender, EventArgs e)
{
if (int.TryParse(txtYas.Text, out int yas))
{
if (yas >= 18 && chkOnay.Checked)
lblDurum.Text = "İzin verildi.";
else
lblDurum.Text = "Yaş uygun değil ya da onay kutusu işaretlenmedi.";
}
else
{
MessageBox.Show("Lütfen geçerli bir yaş giriniz.");
}
}
📝 Açıklama:
Koşullardan biri bile sağlanmazsa işlem yapılmaz. İki koşul bir arada değerlendirildi.
📌 Örnek 3: Ürün Seçimi (|| Kullanımı)
🎯 Amaç:
Kullanıcı “Bilgisayar” veya “Tablet” seçmişse indirim hakkı kazansın.
🎨 Form Elemanları:
cmbUrun
(ComboBox)btnKontrolEt
(Button)lblMesaj
(Label)
💻 Kod:
private void btnKontrolEt_Click(object sender, EventArgs e)
{
string secilen = cmbUrun.SelectedItem?.ToString();
if (secilen == "Bilgisayar" || secilen == "Tablet")
lblMesaj.Text = "İndirim kazandınız!";
else
lblMesaj.Text = "Seçilen ürün indirim kapsamında değil.";
}
📝 Açıklama:||
operatörü, koşullardan en az biri doğruysa işlemi uygular. Alternatif senaryolarda çok etkilidir.
📌 Örnek 4: Şart Sağlanmıyorsa İşlem Yapma (! Kullanımı)
🎯 Amaç:
Kullanıcı onay kutusunu işaretlemediyse uyarı ver.
🎨 Form Elemanları:
chkOkudum
(CheckBox)btnKaydet
(Button)
💻 Kod:
private void btnKaydet_Click(object sender, EventArgs e)
{
if (!chkOkudum.Checked)
{
MessageBox.Show("Devam etmek için kutucuğu işaretlemelisiniz.");
return;
}
MessageBox.Show("Kayıt başarılı.");
}
📝 Açıklama:!
operatörüyle negatif durum kontrolü yapılır. Kullanıcının işlem yapmaması da bir koşuldur.
📌 Örnek 5: Not Ortalaması ve Devamsızlık (&&, || Kullanımı)
🎯 Amaç:
Öğrenci hem ortalaması düşük hem de devamsızlığı fazlaysa kalır.
🎨 Form Elemanları:
txtOrtalama
(TextBox)txtDevamsizlik
(TextBox)btnDurum
(Button)lblDurum
(Label)
💻 Kod:
private void btnDurum_Click(object sender, EventArgs e)
{
if (double.TryParse(txtOrtalama.Text, out double ort) &&
int.TryParse(txtDevamsizlik.Text, out int dev))
{
if (ort < 50 && dev > 10)
lblDurum.Text = "Kaldı (Not düşük ve devamsızlık fazla)";
else
lblDurum.Text = "Geçti veya durum değerlendirilmeye alınabilir.";
}
else
{
MessageBox.Show("Geçerli değerler giriniz.");
}
}
📝 Açıklama:
Bu örnek, birden fazla koşulun aynı anda sağlanmasına dayalı değerlendirme içerir. Gerçek hayata çok uygundur.
✅ Özet:
Bu örneklerle öğrenciler artık:
- Birden fazla koşulu değerlendirebilir
&&
,||
ve!
operatörlerinin farkını anlayabilir- Şartlara bağlı olarak uygulamanın yönünü değiştirebilir