Java

Java’da Kontrol İfadeleri – 1

Bir önceki yazımız Operatörler konusunda Java’da kullanılan operatörlerin neler olduğunu görmüştük. Şimdi ise Java’daki Kontrol İfadelerini inceleyeceğiz.

Programlar yazarken bazı durumlarda seçimler yapmamız gerekebilir. Veya iterasyon yapmamız icab eder. Yahut bir noktadan sonra bambaşka bir noktaya sıçrama yapmamız lazım gelir. İşte tüm bunları gerçekleştirebilmek için kontrol ifadelerini kullanırız.

Java’da Seçim İfadeleri

if ve switch yapılarını kullanarak Java programlarımıza seçim ifadeleri ekleyebiliriz.

if Yapısı

Yazım itibariyle diğer programlama dillerinden farklı olmayan if yapısını seçim yaparken kullanmaktayız. Bir koşul durumunda eğer koşul sağlanıyorsa sonraki kısımdaki işlemler gerçekleştirilir, eğer sağlanmıyorsa kısımlar atlanarak başka bir yere dallanılır. Bu şekilde dallanmalar yaparak programımızın akışlarını kontrol ederiz. Bir örnekle kolayca anlamak mümkün:

// Created by MuhammedTutar | 2014

public class IfYapisi {

	public static void main(String[] args) {

		int a = 10;

		if (a==10){

			System.out.println("a değişkeninin değeri 10'dur.");
		}

		else{

			System.out.println("a değişkeninin değeri 10'dan farklıdır.");
		}
	}

}

Bu örnekle bir a değişkeni oluşturup 10 değerini atadık. Daha sonra a’nın değerini if yapısı ile kontrol ettik. Eğer a değişkeni 10 ise if yapısının ilk bölümündeki işlem gerçekleştirilecek ve konsola “a değişkeninin değeri 10’dur.” ifadesi yazılacaktır. Eğer a değişkeni 10 değerinden farklı olsaydı bu kısım tamamen atlanıp else bloğundaki işlem gerçekleştirilecekti ve konsola “a değişkeninin değeri 10’dan farklıdır.” ifadesi yazılacaktı.

[alert style=”red”]! Eğer if veya else ifadelerinden sonra tek satırlık bir işlem yapacaksak süslü parantez açmadan yazabiliriz. Birden fazla işlem yapılacaksa mutlaka süslü parantez içine yazmalıyız.[/alert]

Not: if yapısının içinde true yazsaydık, yine ekrana “a değişkeninin değeri 10’dur.” ifadesi yazılacaktı. if yapısı koşul olarak boolean ifadeler alabilir.

İç içe if Yapısı

Oldukça sık kullanılan bu yapı koşul içerisinde koşul belirtmemizi sağlar. Örneğin bugün hava güzelse ve piknik alanı müsaitse pikniğe gidelim, değilse yürüyüşe çıkalım, hava güzel değilse evde oturalım dersek, öncelikli şartımız havanın güzel olması, sonraki şartımız ise piknik alanının müsaitliğidir. Şuna benzer bir kod yazmamız gerekirdi:

// Created by MuhammedTutar | 2014

		if (hava==guzel){

			if (piknikalani==musait)
                            System.out.println("Pikniğe gidelim.");

			else
			    System.out.println("Gezmeye gidelim.");
		}
		else
			System.out.println("Evde oturalım.");

 if-else Merdiveni

Bu yapı da oldukça kullanışlı ve faydalı olmaktadır. Yine önceki örneğimize benzer bir ifade kuracak olursak, bugün hava güzelse dışarı çıkalım, hava güzel değil ve arabamızda benzin varsa arabayla çıkalım, hava güzel değil, arabada benzin yok ve arkadaşımızın arabası varsa sinemaya gidelim, hiçbiri yoksa evde oturalım ifadesini merdiven yapısını kullanarak kolaylıkla programa şu şekilde çeviririz:

// Created by MuhammedTutar | 2014

		if (hava==guzel)
			    System.out.println("Dışarı çıkalım.");

		else if (benzin==var)
			    System.out.println("Arabayla dışarı çıkalım.");

		else if (arkadasinarabasi==var)
			    System.out.println("Sinemaya gidelim.");

		else
			System.out.println("Evde oturalım.");
}

 switch Yapısı

switch yapısı Java’nın çoklu dallanmalarda kullandığı ifadedir. Bir deyime bağlı olarak programın çalışmasını farklı yerlere doğru dallandırır. if-else merdivenine oldukça güçlü bir alternatiftir. Genel yapısı;

// Created by MuhammedTutar | 2014

switch (deyim){

		case deger1:

			 // ifadeler
		break; 

		case deger2:

			// ifadeler
		break;

		case deger3:

			// ifadeler

		break;

		default;

			// varsayılan ifadeler

}

Çalışması şu şekildedir. switch ifadesi içindeki deyim, case içerisindeki değerler ile karşılaştırılır. Eğer eşleşme varsa o case içindeki ifadeler çalıştırılır. Hiçbir eşleşme olmazsa default çalıştırılır. case ifadelerinin sonundaki break ise, switch yapısının dışında çıkılmasını sağlar. Bir örnekle daha kolay anlayalım:

// Created by MuhammedTutar | 2014

public class SwitchCase {

	public static void main(String[] args) {

		for(int i=1; i<=6; i++){

			switch(i){

			case 1: System.out.println("i değeri 1'dir.");
			break;

			case 2: System.out.println("i değeri 2'dir.");
			break;

			case 3: System.out.println("i değeri 3'dir.");
			break;

			case 4: System.out.println("i değeri 4'dir.");
			break;

			case 5: System.out.println("i değeri 5'dir.");
			break;

			default:  System.out.println("i değeri 5'ten büyüktür.");
			break;

			}
		}
	}

}

Bu programcık ekrana 1’den 5’e kadar i’nin değerlerini yazacaktır fakat i değeri 6 olduğunda herhangi bir case eşleşmesi bulamayacağından default çalıştırılacaktır.

switch-case yapısını kullanırken her defasında break yazmamız gerekmiyor. Nasıl olacağını görmek için şu güzel örneği incelemekte fayda var:

// Created by MuhammedTutar | 2014

public class SwitchCaseNoBreak {

	public static void main(String[] args) {

		int ay = 4;
		String mevsim;

		switch (ay) {
		case 12:
		case 1:
		case 2:	
			mevsim = "Kış";
			break;

		case 3:	
		case 4:
		case 5:
			mevsim = "Bahar";
			break;

		case 6:
		case 7:
		case 8:
			mevsim = "Yaz";
			break;

		case 9:
		case 10:
		case 11:
			mevsim = "Sonhabar";
			break;

		default:
			mevsim = ":)";

		}

		System.out.println("Nisan şu mevsimdedir: "+mevsim);
	}

}

Örnekte ay olarak 4’ü seçtik ve yapımıza baktığımızda case 4 olduğunda mevsim‘in Bahar olduğunu görüyoruz. Dolayısıyla ekrana Nisan ayının Bahar mevsiminde olduğunu yazacaktır.

Not: switch ifadeleri tıpkı if ifadesinde olduğu şekilde iç içe yazılabilir.

[alert style=”red”]! switch ifadesi yalnızca eşitlik testi yapabilir, fakat if ifadesi her türlü mantıksal karşılaştırma yapabilir.[/alert]

[alert style=”red”]! Aynı switch ifadesi içinde bulunan iki case aynı değere sahip olamaz.[/alert]

[alert style=”red”]! İç içe yerleşmiş if yapısı kullanmak yerine switch yapısı kullanmak daha verimlidir.[/alert]

Bu yazıda Java’da kullanılan Kontrol İfadeleri’nden Seçim İfadeleri‘nin neler olduğunu görmüş olduk. if yapısı ve switch yapısını daha ayrıntılı görmüş olduk, örneklerle pekiştirdik. Bir sonraki yazıda ise Kontrol İfadeleri-2 konusunu ele alacağız.

Yorum Ekle

Java’da Kontrol İfadeleri – 2 için bir yanıt yazın X