İlginizi Çekebilir
Java'da döngüleri tanıyalım
  1. Ana Sayfa
  2. Java
  3. Java’da Döngüler

Java’da Döngüler

Bir programımız için bazı olayların tekrarlanmasını isteyebiliriz. Java’da döngüler kullanarak gerçekleştireceğimiz bu tekrarlanan olaylar ile işlemlerimizi daha kolay bir şekilde gerçekleştirebiliriz. Döngü oluştururken belirleyeceğimiz koşul doğru olduğu sürece döngü içerisinde bulunan komut satırları çalışmaya devam eder. Koşul false bir değer vermeye başladığında ise döngü kırılır ve sonraki komut satırları çalışmaya devam eder. Programlarımız içerisinde kullanabileceğimiz bazı döngü çeşitleri var bunları başlıklar altında inceleyebiliriz.

Java’da Döngüler

  1. Java While Döngüsü
  2. Java Do-While Döngüsü
  3. Java For Döngüsü

1- While Döngüsü

While döngülerinde, tekrar sayısı belli değildir. Döngü içerisinde oluşturmuş olduğumuz şart boolean türde true olduğu sürece döngü devam eder, bu true değer false döndüğü takdirde döngüden çıkılır ve program döngünün bittiği yerden çalışmaya devam eder. Anlamsal olarak “iken” anlamına gelen while kelimesini “x şartımız y değerinden küçük iken bu kodları çalıştır” şeklinde düşünebiliriz. Bu yapısı ile “Java’da kontrol yapıları” konumuzda bahsettiğimiz if-else, switch yapılarına benzerlik gösterebilir ama sakın aynı şeyler olarak düşünmeyin.

While döngüsünü görsel olarak anlamlandırabilmeniz için basit bir akış şeması çizimi oluşturdum gelin birlikte bu akış şemasına göz atalım.

Java'da while döngüsünün akış şeması
While döngüsünün akış şeması

Java’da while döngüsü kavramını bir örnek ile pekiştirelim. Koşul olarak belirleyeceğimiz 5 sınırına ulaşana kadar ekranımıza sayılar yazdırmasını isteyeceğimiz bir döngü kuralım. Bu kuracağımız döngü 5’ten küçük olduğu sürece çalışacak. Döngü içerisinde start isimli değişkenimiz 1 artacak ve sınıra ulaştığı zaman döngüden çıkacak. Bunun kodunu şu şekilde yazabiliriz:

// Değişken Tanımlamaları:
int start=0,finish=5;
while(finish>=0){
System.out.println("Start Değişkenimiz: "+start+"\tFinish Değişkenimiz: "+finish);
start++;
finish--;
}

Kod Çıktısı:

Java'da döngüler
Java’da do döngü örneği

Bu kurduğumuz döngü içerisinde, değişkenlerimizin artış veya azalış miktarı kurduğumuz döngü içerisinde belirtilir. Java’da while döngüsü oluştururken koşul içerisine boolean türünden de değişken tanımlaması yapabiliriz. Eğer döngümüz içerisindeki koşul true olarak belirlenirse false dönene kadar sonsuz bir döngüye girer ve break; komutu ile döngüyü kırmazsak, sonsuza kadar while içerisindeki blok işlenmesi devam eder.

Bu sefer örneğimiz üzerinde bilgisayarın iki zar atmasını ve bu zarların her ikisinin de 6 gelmesi durumuna kadar döngüye devam etmesini isteyelim. Bu işlemi gerçekleştirebilmek için Random() sınıfından yardım alacağım.

import java.util.Random;

public class Main {
    public static void main(String[] args) {
        // Değişken tanımlaması:
        int zar1,zar2,deneme=1;
        Random random = new Random();
        while(true){
            zar1=random.nextInt(6)+1; // +1 Yapmasaydım 0-5 arasında random değer üretecekti.
            zar2=random.nextInt(6)+1;
            if(zar1==6 && zar2==6){
                System.out.println("--------\nBilgisayar "+deneme+" deneme yaparak zarları 6-6 atmayı başardı.");
                break; // Döngüyü kırmak için ekledik.
            }
            else{
                System.out.println(deneme+".Deneme\nAtılan İlk Zar: "+ zar1 +"\tAtılan İkinci Zar: "+zar2);
            }
            deneme++;
        }
    }
}

Kod Çıktısı:

Yazılım dilinde do içerisinde break komutu kullanımı
Java’da do ve break örneği

Oluşturduğumuz bu kod içerisinde 3 adet int türünde değişkenimiz tanımlı, bunlardan ikisini zarlara değer atamamız için random() sınıfını kullanmak için ekledik ve son değişkenimiz ise kaçıncı deneme turunda olduğunu gösterecek değişkenimiz. Döngü içerisine girildiğinde değişkenlerimiz 1 ve 6 arasında rastgele değerler alıyor ve ikisinin 6-6 olduğu eşitlik sağlandığında döngü kırılıyor ve döngüden çıkılıyor.

Kod dizisi içerisinde ikili kontrol sağlamamı nasıl gerçekleştirdiğimi merak ediyorsanız bir önceki paylaştığım Java’da Kontrol Yapıları konuma göz atabilirsiniz.

2- Do-While Döngüsü

Do-While döngüsünün yukarıda anlatmış olduğum while döngüsünden tek farkı, işleme muhakkak bir kez girmesi ve sonra verilen koşulu kontrol etmesi diyebilirim. Bu durumda bu döngünün en az bir kere çalışacağı anlamına gelmektedir. Do-While döngüsü için hazırlamış olduğum akış şemasını aklımızda daha iyi yer edebilmesi için gelin birlikte inceleyelim.

Java'da do-while akış şeması
Do-While akış şeması

Akış şemasını daha iyi anlayabilmeniz için basit bir örnek vermek istiyorum. Bu örnek üzerinde bir değişkenimiz olacak ve sorgulama esnasında değişkenimiz 0 değilse ve 5 değerinden küçük veya eşitse çalışması için koşul belirleyelim, belirlediğimiz bu koşuldan sonra ekrana hangi sayıları yazdıracağını sizlerin de denemesini istiyorum.

// Değişken Tanımalaması:
int baslangicdegeri=0;
do{
System.out.print(baslangicdegeri+"\t");
baslangicdegeri++;
}while (baslangicdegeri!=0 && baslangicdegeri<=5); //noktalı virgül koymazsanız hata ile karşılaşırsınız.

Görüldüğü üzere döngümüzün koşulunda değişkenimiz 0‘a eşit değilse ve 5‘den küçük veya eşitse şartını belirledim. Bu verdiğim koşula rağmen işlem bir kere çalışacağı için önce ekrana 0 yazdıracak ve bu değeri 1 arttıracak sonra koşulumuza gelip kontrol işlemini gerçekleştirecek. Koşul sağlandığı takdirde devam ederek ekranımıza sayıları yazdırmaya devam edecek. Sonuç olarak ekranımızda göreceğimiz çıktı "0 1 2 3 4 5" olacaktır.

3- For Döngüsü

Java’da for döngüsü, oluşturacağımız döngüler içerisinde daha kolay bir tanımlama ve kontrol ayarı yapabileceğimiz döngü türüdür. For döngüsü içerisinde belirleyeceğimiz koşul doğru olduğu sürece içerisindeki kod satırları çalışır ve koşul sağlanmadığı takdirde diğer döngü türlerinde olduğu gibi işlem sonlandırılır.

For döngüsünün, while akış şemasına benzerliği olmuş olsada ufak bir detay ekleyerek sizlerle paylaşmak istiyorum.

Java'da for döngüsünün akış şeması
For döngüsünün akış şeması

For döngüsü için hazırlamış olduğum akış şemasını kontrol ederseniz while için hazırladığım akış şemasına oldukça benzerlik göstermektedir. Arasındaki farkı daha iyi anlayabilmeniz için anlatacağım örnek üzerinde kullanıcıdan, klavye üzerinden girmesini isteyeceğimiz değerden başlayarak 1‘e kadar kaç çift sayı olduğunu ekranımıza çıktı vermesini isteyecek bir kod hazırlayalım.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        // Değişken Tanımlaması:
        int count=0,deger;
        Scanner scanner = new Scanner(System.in);
        System.out.print("Başlangıç Değerini Girin: ");
        deger=scanner.nextInt();
        for(int i=1;i<=deger;i++){
            if(i%2==0){
                count++;
            }
        }
        System.out.println("1'den başlayarak girmiş olduğunuz "+deger+" değerine kadar "+count+" çift sayı vardır.");
    }
}

Kod Çıktısı:

Yazılım dilinde for örnek kod çıktısı
Java for örnek kod çıktısı

Döngü içerisinde şartlar sağlandığı sürece döngü devam eder. For döngüsü oluştururken bize yardımcı olacak bir formül vermek istiyorum bu formül şu şekilde: for(int i=1;…;…) ilk kısım içerisinde bir başlangıç değeri yer alır. Bundan sonra yer alan for(…;i<=5;…) ikinci kısmında ise for döngümüzün koşulu yer almaktadır. Son olarak for(…;…;i++) kısmında ise artım veya azalım miktarı belirlenir.

Java’da kontrol yapılarını anlatırken iç içe if sorgularını oluşturabileceğimiz konusuna değinmiştim, aynı şekilde iç içe for döngüsü oluşturabilirsiniz. Basit bir dik üçgen örneği ile size iç içe for yapısını anlatmak istiyorum.

// Değişken Tanımlaması:
int i,j,k=1;
for(i=1;i<=5;i++){
for(j=1;j<=i;j++){
System.out.print("\t+");
}
System.out.println(" ");
}

Kod Çıktısı:

Java'da iç içe for örneği
İç içe for örnek kod çıktısı

Yazdığımız bu kod sayesinde ilk for dizimizde satır kısmına ikinci for dizimizde ise sütun kısmına ulaşmayı amaçladım. Satır ve sütunlarına sorunsuz ulaştığımız kodumuz içerisinde ekrana bir tab boşluk bıraktıktan sonra “+” işaretini bastırdım ve her satır geçişinde alt satıra geçmesi için ekranımıza bir adet boşluk bıraktırdım.

Java’da döngüler anlatımına başladığım zaman gelişmiş for döngüsünü anlatmayı düşünerek başlamıştım içeriğime fakat temel seviye bir anlatım olmasını istediğim için foreach kavramına özel bir içerik daha hazırlamaya karar verdim. Java’da döngüler yazımızın sonuna gelirken her zaman olduğu gibi aklınıza takılan bir şey olursa aşağıda bulunan “yorum yap” kısmından yorumlarınızı beklediğimi hatırlatarak bu yazımı şimdilik noktalıyorum.

Yorum Yap

Yazar Hakkında

Yazmayı, öğrenmeyi, öğrendiklerini paylaşmayı , kodlamayı ve günün birinde Yönetim Bilişim Sistemleri Uzmanı olmanın hayalini kuran birisiyim.

Yorum Yap

Yorumlar (2)

  1. 3 yıl önce

    Çok açıklayıcı ve güzel bir yazı devamını bekliyorum

  2. anlatimi anlasirilir we guzel orneklerle gostermissiniz tessekurler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir