"Enter"a basıp içeriğe geçin

Şartlı İfadeler

 

Bu yazıda şartlı ifadeleri ve kullanımlarını göreceğiz

 

Karşılaştırma ifadeleri

İki değişkenin birbirine eşitlik, küçüklük veya büyüklük durumlarını inceler.

> : Büyüktür demektir.
< : Küçüktür
== : eşittir (atama işlemi yapan = operatörü ile karıştırmamaık gerekir)
!= : eşit değildir
>= : büyük eşittir
<= : küçük eşittir

System.out.println(a > b) dersek, a > b ifadesinin doğruluğunu kontrol eder. Doğru ise True, yanlış ise false yazar.

karşılaştırılan şey bir sayı veya string olabiir. Stringlerde büyüktür küçüktür karşılaştırması yapılamaz.

Bunlar dışında, bu operatörleri birbirine bağlayan ve-veya operatörleri vardır.

a > b && c==d aradaki ve operatörünün ( && ) hem sağındaki hem de solundaki ifade doğru ise True döner.
Biri veya ikisi de false ise False döner.

a > b || c==d veya ( || ) operatöründe ikisinden birinin doğru olması yeterlidir. True döner.
Sadece ikisinin de False olduğu durumlarda False döner.

3 veya daha fazla şartlı ifade olan durumlarda parantezleri kullanarak işlem önceliği sağlayabiliriz.
a > b || ( c==d && e!=f) önce c==d && e!=f çalışır. ikisi de True ise true, en az biri false ise false döner. Diyelim true oldu.
a > b || False şimdi a>b ifadesine bakar. O da true olsun.
True || False en az biri True olduğunda true idi. Bu durumda True döndü.

Ayrıca değil (not) operatörümüz de vardır. Mantıksal ifadenin sonucunu tersine çevirir.

!( a > b) || ( c==d && e!=f) ! operatörü a > b işlemini tersine çevirdi. Önceki örnekte a > b true idi. Tersi false olur.
Fasle || False iki tarafı da False olduğundan sonuç false çıkar.
! ifadesi sadece solundaki şeyi etkiler. Hata yapmamak için parantez kullanmaya dikkat etmeliyiz.

if – else

oluşturulan if bloğunun çalışması için, yazılan ifadenin True olması gerekir:
if(a > b) {} eğer parantezin içindeki ifade yani a > b ise blok çalışır.
else {} if bloğu çalışmazsa diye else bloğu ekleyebiliriz. (şart değil)

yeni blok açtığımızda, yazmaya 1 tab bırakarak başlarız(indentation)

 

Ayrıca birden fazla ihtimalin olduğu durumlarda else if de kullanabiliriz. İlk şart gerçekleşmezse başka bir şarta bakmak için else if kullanabiliriz.

Ard arda birden çok if kullanırsak, şartları sağlayan tüm bloklara girer

Görüldüğü gibi şartları sağlayan tüm if’ler çalışıyor. else if ve if de sadece kendinden önceki ife bağlıdır.

 

 

switch-case

Adından da anlaşılacağı gibi, kilit-anahtar ilişkisine benzer bir yapısı vardır. Birden çok seçenek verilir. Ve anahtar değişken bu seçeneklerden hangisine veya hangilerine uyuyorsa onlar gerçekleşir. Hiçbiri uymuyorsa default işlemi gerçekleşir.

Anahtarın ilk uyduğu yerden itibaren, uyup uymamasına bakmadan hepsini gerçekleştirir. Bunu önlemek için break kullanmamız gerekir. Kullanılmadığında ne olacağına bakalım

Uyumlu kilit olan 3’ten itibaren tüm case’ler çalıştı (default dahil).

? İşareti

Yazılan bir şartın true veya false olmasına göre 2 ifadeden biri gerçekleşir.
şart? true ifade : false ifade Şart true ise true’da yazılan, false ise false’da yazılan döner.
Mesela iki sayıdan büyük olanı bulan bir kod yazalım

int büyük = a>b ? a:b;

a>b true ise int büyük=a; olur.
a>b false ise int büyük=b; olur.
Yani hangisi büyük ise bu ifade yerine onu koyar.

    Bir cevap yazın

    E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir