Programlama dünyasına adım attığınızda karşılaşacağınız en temel ve güçlü araçlardan ikisi kontrol yapılarıdır: döngüler ve koşullu ifadeler. Bu yapılar, programlarınızın akışını kontrol etmenizi, belirli koşullara göre farklı işlemler yapmanızı ve tekrarlayan görevleri otomatikleştirmenizi sağlar. Bu blog yazısında, döngülerin ve koşullu ifadelerin ne olduğunu, nasıl çalıştığını ve programlamadaki önemini derinlemesine inceleyeceğiz.
Kontrol yapıları, bir programın yürütülme sırasını belirleyen ve değiştiren temel unsurlardır. Basit bir ifadeyle, programın hangi satırlarının ne zaman çalışacağını kontrol ederler. İki ana kategoriye ayrılırlar:
Koşullu ifadeler, programların karar verme yeteneğini kazanmasını sağlar. Günlük hayattaki "Eğer hava yağmurluysa şemsiye alırım, değilse almam" gibi mantıksal ifadelerin programlama dünyasındaki karşılığıdır.
if İfadesiEn temel koşullu ifade türüdür. Bir koşulu değerlendirir ve eğer koşul doğruysa (true), belirtilen kod bloğunu yürütür.
if (koşul) { // Koşul doğruysa yapılacak işlemler}Örnek:
int yas = 20;if (yas >= 18) { System.out.println("Oy kullanabilirsiniz.");}Bu örnekte, yas değişkeninin değeri 18 veya daha büyükse, ekrana "Oy kullanabilirsiniz." yazdırılır.
else İfadesiif ifadesiyle birlikte kullanılır. if ifadesindeki koşul yanlışsa (false), else bloğundaki kod yürütülür.
if (koşul) { // Koşul doğruysa yapılacak işlemler} else { // Koşul yanlışsa yapılacak işlemler}Örnek:
int yas = 15;if (yas >= 18) { System.out.println("Oy kullanabilirsiniz.");} else { System.out.println("Oy kullanamazsınız.");}Bu örnekte, yas değişkeninin değeri 18'den küçük olduğu için, ekrana "Oy kullanamazsınız." yazdırılır.
else if İfadesiBirden fazla koşulu kontrol etmek için kullanılır. if ifadesindeki koşul yanlışsa, else if ifadesindeki koşul değerlendirilir. Eğer else if koşulu da yanlışsa, bir sonraki else if (varsa) değerlendirilir. En sonunda, hiçbir koşul doğru değilse, else bloğu (varsa) yürütülür.
if (koşul1) { // Koşul1 doğruysa yapılacak işlemler} else if (koşul2) { // Koşul1 yanlış ve Koşul2 doğruysa yapılacak işlemler} else { // Hiçbir koşul doğru değilse yapılacak işlemler}Örnek:
int not = 75;if (not >= 90) { System.out.println("AA");} else if (not >= 80) { System.out.println("BA");} else if (not >= 70) { System.out.println("BB");} else { System.out.println("Kaldınız");}Bu örnekte, not değişkeninin değerine göre farklı harf notları yazdırılır.
switch İfadesiswitch ifadesi, bir değişkenin değerine göre farklı kod bloklarını yürütmek için kullanılır. Özellikle birden fazla else if ifadesi kullanmak yerine, daha okunabilir ve düzenli bir alternatif sunar.
switch (değişken) { case değer1: // Değişken değeri değer1'e eşitse yapılacak işlemler break; case değer2: // Değişken değeri değer2'ye eşitse yapılacak işlemler break; default: // Değişken değeri hiçbir değere eşit değilse yapılacak işlemler}Örnek:
int gun = 3;switch (gun) { case 1: System.out.println("Pazartesi"); break; case 2: System.out.println("Salı"); break; case 3: System.out.println("Çarşamba"); break; default: System.out.println("Geçersiz gün");}Bu örnekte, gun değişkeninin değerine göre haftanın günü yazdırılır.
Döngüler, programlama dünyasında tekrarlayan görevleri otomatikleştirmenin en etkili yoludur. Bir kod bloğunu belirli bir sayıda veya belirli bir koşul sağlanana kadar tekrar tekrar yürütmenizi sağlar.
for DöngüsüEn yaygın kullanılan döngü türlerinden biridir. Genellikle belirli bir sayıda tekrar yapmak için kullanılır. Üç bölümden oluşur: başlangıç, koşul ve adım.
for (başlangıç; koşul; adım) { // Döngü içinde yapılacak işlemler}Örnek:
for (int i = 0; i < 10; i++) { System.out.println("Merhaba Dünya! " + i);}Bu örnekte, döngü 0'dan 9'a kadar 10 kez çalışır ve her seferinde ekrana "Merhaba Dünya!" ve döngü sayacının değeri yazdırılır.
while DöngüsüBir koşul doğru olduğu sürece bir kod bloğunu tekrar tekrar yürütür. Koşul döngünün başında kontrol edilir, bu nedenle koşul başlangıçta yanlışsa döngü hiç çalışmayabilir.
while (koşul) { // Döngü içinde yapılacak işlemler}Örnek:
int sayac = 0;while (sayac < 5) { System.out.println("Sayacın değeri: " + sayac); sayac++;}Bu örnekte, döngü sayac değişkeninin değeri 5'ten küçük olduğu sürece çalışır ve her seferinde sayacın değeri ekrana yazdırılır. sayac++ ifadesi, her döngü iterasyonundan sonra sayacın değerini 1 arttırır.
do-while Döngüsüwhile döngüsüne benzer, ancak koşul döngünün sonunda kontrol edilir. Bu, döngünün en az bir kez çalışmasını garanti eder.
do { // Döngü içinde yapılacak işlemler} while (koşul);Örnek:
int sayi;Scanner girdi = new Scanner(System.in);do { System.out.print("Lütfen 0 ile 100 arasında bir sayı girin: "); sayi = girdi.nextInt();} while (sayi < 0 || sayi > 100);System.out.println("Girilen sayı: " + sayi);Bu örnekte, kullanıcıdan 0 ile 100 arasında bir sayı girmesi istenir. Kullanıcı geçerli bir sayı girene kadar döngü tekrar eder.
break ve continue İfadeleriDöngülerin akışını kontrol etmek için kullanılan iki önemli ifadedir:
break İfadesi: Bir döngüyü veya switch ifadesini anında sonlandırır. Döngünün geri kalan iterasyonları atlanır.continue İfadesi: Bir döngünün mevcut iterasyonunu atlar ve bir sonraki iterasyona geçer. Döngünün geri kalanı çalışmaya devam eder.Örnek (break):
for (int i = 0; i < 10; i++) { if (i == 5) { break; // Döngüyü sonlandır } System.out.println("i = " + i);}Bu örnekte, i değeri 5 olduğunda döngü sonlandırılır. Ekrana sadece 0'dan 4'e kadar olan sayılar yazdırılır.
Örnek (continue):
for (int i = 0; i < 10; i++) { if (i % 2 == 0) { continue; // Çift sayıları atla } System.out.println("i = " + i);}Bu örnekte, i değeri çift sayı olduğunda döngünün mevcut iterasyonu atlanır. Ekrana sadece tek sayılar yazdırılır.
Döngüler ve koşullu ifadeler, programlama dillerinin temel yapı taşlarıdır. Bu yapıları etkin bir şekilde kullanarak, karmaşık problemleri çözebilir, tekrarlayan görevleri otomatikleştirebilir ve daha akıllı, daha esnek programlar oluşturabilirsiniz. Programlama becerilerinizi geliştirmek için bu kavramları iyice öğrenmeniz ve bol bol pratik yapmanız önemlidir.