Önceki yazımızda operatörleri öğrendiğimize göre artık kontrol yapılarına geçebiliriz. Kod yazarken çeşitli sebeplerden dolayı kontroller yapmak zorunda kalabiliriz. Her yerde gösterilen ve en basit olan not hesaplama projesini inceleyerek konuyu anlamaya çalışalım.
Diyelim ki sınıf geçme notu 60 olsun. Siz de sınavdan 75 aldınız. Sizin dersi geçip geçmediğinizi bir şekilde anlamanız gerekiyor. Bunu anlayabilmenin yolu sizin not ile sınıf geçme notunu karşılaştırmaktır. Eğer sizin not geçme notundan büyükse dersi geçmiş olursunuz, yok eğer geçme notundan düşük bir not almışsanız sınıfı geçemezsiniz.
Kontrol yapımızın adı if kontrol yapısı
.
1 2 3 4 5 6 7 8 |
public class Main { public static void main(String[] args) { if(sart){ // İşlemler... } } } |
Temel yapısı yukarıdaki gibidir. ‘if’ İngilizce’de ‘eğer’ demektir. Eğer ‘şart’ yazan yerdeki işlemler doğru ise parantez içinde olan kodları çalıştır demiş oluyoruz.
Hemen örnekle açıklayalım.
1 2 3 4 5 6 7 8 9 10 11 12 |
public class Main { public static void main(String[] args) { float sinifGecmeNotu = 60.0f; float sinavNotumuz = 75.0f; if(sinavNotumuz > sinifGecmeNotu){ System.out.println("Tebrikler, dersi geçtiniz."); } } } |
Örnekte gördüğünüz gibi eğer sınav notumuz sınıf geçme notundan büyükse geçti diyecektir. Operatörleri bir önceki yazıda gördüğümüz için burada şart kısmını detaylı açıklamayacağım. Önceki yazıyı okumayanlar Operatörler (Atama, Aritmetik, İlişkisel, Bitsel, Mantıksal, instanceof ve ? (Soru İşareti) Operatörleri) başlıklı yazıyı okuyabilirler.
Burada bir sorunumuz var. Bu kod bize sadece başarılı olduğumuz durumda cevap veriyor. Dersi geçemediğimiz durumda ise herhangi bir mesaj vermiyor. Bu durumda kodu aşağıdaki gibi değiştirmemiz gerekiyor.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
public class Main { public static void main(String[] args) { float sinifGecmeNotu = 60.0f; float sinavNotumuz = 75.0f; if(sinavNotumuz > sinifGecmeNotu){ System.out.println("Tebrikler, dersi geçtiniz."); }else{ System.out.println("Üzgünüm, dersi geçemediniz. Daha çok çalışmanız gerekiyor."); } } } |
Buradaki else
kısmı İngilizce’de ‘değilse’ demek oluyor. Yani bizim şartımız geçerli değilse üstteki kod bloğu çalışmayacağı için bu kod bloğunu çalıştır demek oluyor. Böylelikle başarıyla bir kontrol yapmış oluyoruz.
if
kontrol yapısında şart kısmında birden fazla şart yazılabilir. Her defasında tekrardan bir if kontrolü yazmaya gerek yoktur. Örnek verecek olursak;
1 2 3 4 5 6 7 8 9 10 11 |
public class Main { public static void main(String[] args) { int sayi = 150; if(sayi > 0 && sayi < 100){ System.out.println("Sayı 1 ile 100 arasındadır."); }else{ System.out.println("Sayı 1 den küçük veya 100'den büyüktür."); } } } |
Bu örnekte yan yana 2 şartı yazdık. Şartları çeşitli operatörlerle birbirine bağlayabiliriz. Bu operatörlerin neler olabileceğini bir önceki yazıda görmüştük. Önemli olan sadece 1 konu var. Şartımız ya true
ya da false
dönecek şekilde önce kendi mantığınızda çalışmalı. Sizin kurduğunuz mantığa uygun şekilde &&
veya ||
operatörleriyle veya diğer operatörlerle istediğiniz kontrolü yapabilirsiniz.
if
kontrol yapısının bir özelliği daha var. Bu özellikle eğer şartımız
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public class Main { public static void main(String[] args) { int sayi = 150; if(sayi > 0 && sayi < 100){ System.out.println("Sayı 1 ile 100 arasındadır."); } else if(sayi > 99 && sayi < 200){ System.out.println("Sayı 100 ile 200 arasındadır."); } else if(sayi > 199 && sayi < 300){ System.out.println("Sayı 200 ile 300 arasındadır."); } else{ System.out.println("Sayı 1 den küçük veya 100'den büyüktür."); } } } |
Bu örnekte de else if
ile bir kontrol daha eklemiş olduk. Eğer birden fazla durumu kontrol etmemiz gerekiyorsa ve bu durumlar yan yana yazılmayacak şekilde birbirinden bağımsız durumlarsa else if
ile kontrol edebiliriz. Bu kontrol yapısında if
ve else
blokları 1 kere else if
bloğu ise sınırsız yazılabilir. Örnekte de gördünüz gibi ben 2 tane yazdım.
Şimdilik bu yazıya geçici olarak nokta koyuyorum. En kısa zamanda yazıyı güncelleyeceğim.
Faydalı olması dileğiyle..
İlk Yorumu Siz Yapın