temel olarak şunlardan oluşmaktadır:
1)if-else if – else blokları
2)for ve foreach döngüleri
3)while ve do-while döngüleri
4)switch-case blokları
Şimdi sırasıyla bunları örneklerle açıklayalım.
1)if-else if-else blokları
Genel manada doğrulanabilir bir ifadenin sonucuna göre yazılımın dallanmasına olanak tanır. Temel bir “if”
deyiminin yapısı:
if(doğrulanabilir ifade)
{
doğru ise çalışacak ifadeler;
}
şeklindedir. Burada doğrulanabilir ifadenin sonucu boolean veri tipinde olmak zorundadır. Burada bir diğer husus
ise if deyiminden sonra sadece bir ifade yer alacaksa parantezlerin kullanımı kullanıcıya bağımlıdır zorunlu değildir. Yani
if(doğrulanabilir ifade) tek ifade;
kullanımı doğrudur. Test edilen durumun yanlış olması durumunda çalışacak kod bloğunu ise “else” anahtar kelimesiyle belirtiyoruz.
if(doğrulanabilir ifade)
{
doğru ise çalışacak ifadeler;
}
else
{
yanlış ise çalışcak ifadeler;
}
Doğrulama durum sayısı arttığında ise bunu “else if” anahtar kelimesiyle belirtiyoruz. Burada kontrol etmek istediğimiz durum sayısı
kadar “else if” bloğu kullanabiliriz.
if(doğrulanabilir ifade)
{
kontrol doğru ise çalışacak ifadeler;
}
else if(farklı doğrulanabilir ifade)
{
kontrol doğru ise çalışacak ifadeler;
}
...
else
{
yanlış ise çalışcak ifadeler;
}
Bloklar arası sıralama önemlidir. İsteğe bağlı “else if” blokları “if” bloğundan sonra “else if” bloğundan önce gelmelidir. Ayrıca
isteğe bağlı “else” bloğu mutlaka sonda yer almalıdır. Doğrulanabilir ifade yazarken yapılan en sık hatalardan bir tanesi karşılaştırma “==” operatörü yerine değer atama (assignment) “=” operatörünün kullanılmasıdır. Değer atama operatörünün sonucu değer atama işleminden sonra sol tarafta bulunan değişkenin değeridir. Örnekleyecek olursak :
boolean a = false;
if(a = true)
{
System.out.println("a doğrudur");
}
Yukarıdaki kod parçasında amaç a nın doğru olup olmadığını tespit etmek iken yanlışlıkla a değişkenine doğru değeri atanıp ekrana “a doğrudur” mesajı basılır. Oysaki “=” yerine “==” kullanılsa ekrana herhangi birşey yazılmadığı görülecektir.
İf-else bloğu kullanmak yerine üçlü operatörü de kullanabiliriz. Üçlü operatörün kullanım şekli :
ireturnValue = (x>y) ? x :y;
Örnek if-else if-else bloğu :
if(subTreeNode == null)
return false;
else if(element.compareTo(elementAt(subTreeNode)) == 0)
return true;
else if(element.compareTo(elementAt(subTreeNode)) < 0)
return search(element,subTreeNode.left);
else if(element.compareTo(elementAt(subTreeNode)) > 0)
return search(element, subTreeNode.right);
else
return false;
2)for ve foreach döngüleri
Döngüler kod içinde tekrarlanan bölümlerin tanımlanmasında kullanılırlar. For döngüsü tanımı temel olrak üç kısımdan oluşur :
a)Döngü değişkeni tanımı : döngü hayatını kontrol edecek değişkenin tanımlandığı ifade
b)Döngü kontrol ifadesi : döngünün bitip bitmeyeceğini kontrol eden ifade
c)Döngü ilerleme ifadesi : döngü ilerleme ifadesi, döngü değişkeninin güncellendiği ifade
for(döngü değişkeni tanımı; döngü kontrol ifadesi; döngü ilerleme ifadesi)
{
döngü gövdesi;
}
Örnek :
for (int i = 0; i < numberOfPoints; i++) {
Random r = new Random();
int k = r.nextInt(xUpperLimit) % (xUpperLimit - xLowerLimit) + xLowerLimit;
int j = r.nextInt(yUpperLimit) % (yUpperLimit - yLowerLimit) + yLowerLimit;
Point2D<Integer> p = new Point2D<integer>(k, j);
al.add(p);
}
Java 1.5 ile gelen syntax değişimlerinden biriside geliştirilmiş for döngüsü olarak adlandırılan for each döngüsüdür. Listelerde ve arraylarda rahat
bir şekilde gezinmek amacıyla geliştirilmiştir. Kullanımı :
for(eleman : array)
{
döngü gövdesi;
}
şeklindedir.
Örnek :
ArrayList<Point2D <Integer>> al = new ArrayList <Point2D <Integer>>();
for(Point2D<Integer> a : al)
{
System.out.println(a);
}
Bu örnekte içinde Point2D tipinde nesneler barındıran bir liste elemanları geliştirilmiş for döngüsü kullanılarak ekrana yazdırılıyor.
3)while ve do-while döngüleri
while döngüleri tekrar edilecek kod bloğunun kaç defa tekrar edeceğini bilmediğimiz durumlarda kullanılır. Kullanımı:
while(döngü kontrol ifadesi)
{
döngü gövdesi;
}
şeklindedir. For döngüsünden farklı olarak döngü kontrol değişkeninin tanımı while döngüsünden önce yapılmalıdır.
while(int i = 0) kullanımı yanlıştır.
do-while döngüsü while döngüsünden farklı olrak kapsadığı kod bloğunun en az 1 kere çalıştırılmasını garanti eder. Kullanımı:
do
{
döngü gövdesi;
}while(döngü kontrol ifadesi);
4)switch-case blokları
switch-case blokları dallanmış if-else if-else bloklarını daha okunabilir hale getirmek için oluşturulmuştur. Genel yapısı :
switch(ifade)
{
case sabit :
kod bloğu;
case sabit 2:
kod bloğu;
....
default:
kod bloğu;
}
şeklindedir. Burada “ifade” int,short,byte,char ve enum tiplerinde olabilir. Sabitler ise switch ifadesi tipiyle aynı tipte olmalıdır.
Yukarıdaki ifadede sabit ve sabit 2 değerleri aynı olamaz. Kod blokları sonunu “break” anahtar kelimesiyle belirtmezsek doğru case bloğunun altındaki
tüm bloklar çalışır.Yani :
switch(1)
{
case 1: System.out.println("sayi bir");
case 2: System.out.println("sayi iki");
default: System.out.println("varsayilan");
}
çıktı olarak :
sayi bir
sayi iki
varsayilan
verecektir.
İlgili Yazılar:
- Java Dersleri 9 – Dosya Okuma/Yazma İşlemleri Bu derste sizlere Java’nın dosya işlemlerinden bahsedeceğim. Üç bölümlük serinin...
- Java Dersleri 6 – Arayüzler ve Gerçeklenmesi (Interface and Implementation) Nesne odaklı programlamada arayüzler sınıfların dış dünyaya açılan kapılarıdır. Bir...
- Java Dersleri 17 – JDBC API (Veritabanı Bağlantısı) Bu makalede Java’nın veritabanı kabiliyetlerinden bahsedeceğim. Java’nın tüm veritabanlarına ulaşmak...
- Java Dersleri 2 – Sınıf Kavramı ve Yapısı (Class Structure) JDK kurulumunu ve derleyici kullanımını öğrendikten sonra kod geliştirmeye başlayabiliriz....
- Java Dersleri 4 – Erişim Denetleyicileri (Access Modifiers) Bu dersimizde Java’nın metodlar ve sınıflar üzerinde erişim kurallarını düzenleyen...



0 Yorum.