void main() {
/*
Arkadaşlar şimdiye kadar tek koşul ve iki koşul için işlemler yaptık. Şimdi sıra
geldi ya 2 den fazla koşul varsa sorusuna. Böyle bir durumla karşılaşmamız
gayet doğal. Bunun için if yapısında şöyle bir durum deniyoruz.
Burada if deyip parantez içine şartımızı yazıyoruz. Sonra süslü parantez
içine doğru çıkınca çalışacak kodları yazıyoruz. Bundan sonraki kısmı istediğimiz
kadar yazabiliriz. En az 3 en fazla gereken kadar şartı kontrol edip sağlandığı
anda çalıcak kodlarımızı yazabiliriz. Sonra else if diyerek yeni şartımızı
parantez içine yazıyoruz ve hemen devamında süslü parantez içine çalışması gereken
kodlarımızı yazıyoruz. Sonra yine else if diyoruz ve parantezler içine şartımızı
yazıyoruz ve ardından süslü parantez içine çalışması geerekn kodlarımızı yazıyoruz.
Sonra bu işlemi yukarda belirttiğim gibi ihtiyacımız kadar çoğaltıyoruz. En
sonunda ise else diyerek bütün yazdığımız şartların dışında bir durum gerçekleşmiş
ise o zaman da bu kodları çalıştır diyerek o kodları yazıyoruz. Burada ikinci
if else'den sonra else diyoruz. Else deyince şart yazmıyoruz artık. Sadece
süslü parantezlerin içine belirttiğimiz hiç bir şart sağlanmadığında çalışacak
kodları yazıyoruz. Ve işlemi bitiriyoruz.
if () {
} else if () {
} else if () {
} else {
}
Birde dolu halini görelim.
if (şart) {
Kodlar
} else if (şart) {
Kodlar
} else if (şart) {
Kodlar
} else {
Kodlar
}
Bu arada else'i kullanmak tamamen bize kalmış. İster kullanırız ister kullanmayız.
Şöyle bir şey oluyor else ile ilgili eğer kullanırsak ekrana her türlü bir çıktı
vermiş oluyoruz veya şöyle de diyebiliriz her halükarda bir işlem yapmış oluyoruz
çünkü o blokta kodlar var. Bizim belirlediğimiz şartların dışında bir durum ile
karşılaştık ve bunun içinde bir planımız var demektir. Her zaman bu blok çalışır
ya if veya else if'lerden biri çalışır ya da else çalışır.
Şayet kullanmazsak şartlarımızın dışında bir durum olduğunda ekrana bir çıktı
vermiyoruz veya öyle bir blok olmadığı ve orada çalışacak kodumuz bulunmadığı için
her hangi bir işlem yaptırmıyoruz programa. Bizim belirlediğimiz şartların
dışında bir durum ile karşılaştık ve bu bizim için önemli değil demiş olduk.
Bizim için şartlardan hiç biri sağlanmaz ise bu bloğu hiç çalıştırma.
*/
/*
Şimdi örneklere başlayalım. İlk örneğimiz yaşı girilen kişiyi bebek, çocuk, genç,
ergen ve yetişkin şeklinde katogorize edip sonucu ekrana yazan program olsun.
Görüldüğü üzere burada beş adet şartımız var. Eğer bu kodları if ile yazacaksak
if else if mantığını kullanmalıyız.
Kodu açıklayalım şimdi. Artık parantezleri falan uzun uzun yazmayacağım
açıklamalarda haberiniz olsun. Öğrendik artık diye düşünüyorum.
Önce yas adında int tipinde bir değişken tanımlayıp değer olarak 15 attık içine.
Sonra if deyip yas<1 sorgusunu yaptık. Bu doğru ise ekrana bebek yaz dedik.
Sonra else if ile yas<4 sorgusunu yaptık. Bu doğru ise ekrana çocuk yaz dedik.
yas<4 demek 1 ve 4 arasında demek oluyor.
Sonra else if ile yas<12 sorgusunu yaptık. Bu doğru ise ekrana genç yaz dedik.
Buda 4 ile 12 arasında demek oluyor.
Sonra else if ile yas<18 sorgusunu yaptık. Bu arada bir değer gelirse Ergen
çıktısını ver diyoruz. Bu değer 12 ile 18 arasını kapsıyor.
Sonra else yaptık. Buda demek oluyor ki 18 den büyük bir değer gelirse
o zaman ekrana yetişkin yaz. Çünkü en büyük değerimiz 18 den küçük 12 den
büyük sayıyı yakalıyor. Girilen değer 18 den büyükse doğal olarak else
bloğu devreye giriyor.
*/
int yas = 15;
if (yas < 1) {
print("Bebek");
} else if (yas < 4) {
print("Çocuk");
} else if (yas < 12) {
print("Genç");
} else if (yas < 18) {
print("Ergen"); //True
} else {
print("Yetişkin");
}
/*
Şimdi üstteki blokta yazdığımız şartların okunaklığnı daha da düzeltebiliriz.
Kontrol hangi aralıkta ise direkt olarak ona bakabiliriz. Bu bir şeyi değiştirmez
kodun çalışmasında. Ama kodun okunurluluğunda büyük kolaylık sağlar. Birlikte
görelim. Üstteki örneği direk aşağıya alıyorum bir farkla şartları daha
okunaklı yazarak. Yani yine tercih sizin diyebiliriz.
*/
yas = 35;
if (yas > 0 && yas < 1) {
print("Bebek");
} else if (yas >= 1 && yas < 4) {
print("Çocuk");
} else if (yas >= 4 && yas < 12) {
print("Genç");
} else if (yas >= 12 && yas < 18) {
print("Ergen");
} else {
print("Yetişkin"); //True
}
/*
Şimdi bir örnek daha yapalım. Sıcaklığı girilen suyun hangi madde halinde
olduğunu ekrana basalım. Sıfıdan küçükse katı 0 ve 99 arası sıvı 100 ve yukarısı
ise gaz halinde olacak şekilde kodları yazalım.
Aslında buradaki ince nokta şu. if de tek şart vardı. Doğruysa
ekrana birşeyler bastık, yanlış ise bir şey yapmadık. if else de ise
şart doğruysa bunu yap yanlış ise şunu yap dedik. Bu da iki durumluydu.
Şimdi baktığımız else if ile en az iki şart girip onları kontrol edip a gelince
a işlemini yap, b gelince b işlemini yap dedikten sonra ikisi de gelmez ise
şu işlemi yap diyebiliyoruz. En az iki en çok ise gerektiği kadar.
Şimdi kodu açıklayalım. suDerecesi diye 15 değerini girdiğimiz bir int değişkeni
tanımladık.Sonra if dedik sıfırdan küçükse katı halde yaz. Su sıfırın altında
buz oluyor oda katı madde demek. Sonra else if ile ikinci şartımızı girdik.
su sıfırdan büyük veya eşit ve yüzden küçük ise. Burada ve köprüsünü kullandık.
hem sıfır yada büyük ve 100 den de küçük olacak. Bu halde ise sıvı halde olacağından
Sıvı haldedir diye çıktı verdik. Şimdi bir tane daha else if yazmaya gerek yok.
Bu durumların dışında girilecek sayılar sadece 100 den büyük sayılar. Belirlediğimiz
durumların dışında gelecek her durum için else diyoruz. Çünkü belirlediğimiz
şartların dışında sadece 100 den büyük sayılar gelebilir. Aynı zamanda şu demek daha
kısa ifade edersek. else diyerek şunu demiş oluyoruz. Diğer her durum için Gaz halde
yaz. Diğer her durum zaten bizim şartlarımızn dışında kalan tek bir durum. O da 100
den büyük durum. Su 100 derecenin üzerinde gaz halinde olacağından sonuç olarak
zaten bu durumu yazdırıyoruz.
*/
int suDerecesi = 15;
if (suDerecesi < 0) {
print("Su Katı Halde");
} else if (suDerecesi >= 0 && suDerecesi < 100) {
print("Su Sıvı Halde"); //True
} else {
print("Su Gaz Halde");
}
/*
Yeni bir örneğe bakalım. Girilen bir sayının negatif, pozitif yada sıfır
olup olmadığını bulup bunu ekrana yazan program. Görüldüğü gibi burada da
en az 3 durum söz konusu. Yani else if sistemini kullanmak gerekecek.
Kodu açıklayalım. sayi değişkeni int tanımlandı ve sıfıra eşitlendi. Sonra
sayi küçük sıfır ise negatif yaz, sayı eşittir 0 ise sıfır yaz ve sayı büyük
sıfır ise pozitif yaz. Bu kadar.
*/
int sayi = 0;
if (sayi < 0) {
print("$sayi'sayısı Negatiftir");
} else if (sayi == 0) {
print("$sayi'sayısı sıfırdır"); //True
} else if (sayi > 0) {
print("$sayi'sayısı pozitiftir");
}
/*
Bu sefer mevsimin adı girilince o mevsimdeki
ayların isimlerini ekrana yazan programı kodlayalım.
mevsim isminde string bir değişken tanımlayıp değerini tırnak içinde yaz
olarak girdik aynı satırda. Sonra koşullar geliyor zaten. Burada sıralamanın
bir önemi yok. İstediğimiz sırada kontrollerimizi sağlayabiliriz. Ben ilkbahar
ile başladım mesela. mevsim ilkbahar ise ilkbahar aylarını, yaz ise yaz aylarını,
sonbahar ise sonbahar aylarını ve kış ise kış aylarını ekrana yaz diye kodlarımızı
yazdık. En sona else koyduk ki kişi yanlış herhangi bişi girince mesaj olarak
ona ne girmesi gerektiğini söyleyelim.
*/
String mevsim = "yaz";
if (mevsim == "ilkbahar") {
print("Mart,Nisan,Mayıs");
} else if (mevsim == "yaz") {
print("Haziran,Temmuz,Ağustos"); //True
} else if (mevsim == "sonbahar") {
print("Eylül,Ekim,Kasım");
} else if (mevsim == "kış") {
print("Aralık,Ocak,Şubat");
} else {
print("küçük harfle ve bitişik bir mevsim ismini girin");
}
/*
Bu çoklu şartlarında az daha kısa bir yolu var. Bir dahaki yazıda ona bakalım.
Ternary gösterimin çoklu şart için kullanılan hali diyebiliriz ona.
*/
}
0 comments:
Soru, Görüş, Öneri ve Eklemek İstediklerinizi Yazabilirsiniz...