Anasayfa Java Dili While ve Do-While Döngüleri

Java Dili While ve Do-While Döngüleri

Okan

For döngüsünden sonra bir diğer döngü çeşidimiz de While döngüsü ve Do-While döngüsüdür. Bu bölümü 2 başlık altında inceleyeceğiz.

While Döngüsü

While döngüsü, döngü sayısının belli olmadığı durumlar için kullanılır. Belirtilen şart doğru olduğu sürece döngü çalışmaya devam eder. Şart sağlanmazsa da döngü sonlandırılır.

While döngüsünün genel yapısı aşağıdaki şekildedir:

while(sart)
{
komut1;
komut2;
...
...
}

Döngünün içinde bir veya birden daha fazla komut olabilir.

While döngüsünde for döngüsünden farklı olarak değer atama, arttırma veya azaltma bölümleri yoktur. Arttırma ve azaltma işlemleri döngünün içinde yapılır.

Eğer değer arttırma veya azaltma işlemi yapmazsak, bazı durumlarda döngümüz sonsuz döngüye dönüşebilir. Bundan dolayı while döngülerinde değer arttırma veya azaltma işlemlerine dikkat etmemiz gerekir.

Arttırma ve azaltma operatörlerinin detaylı anlatımı için Java Dili Operatörler sayfasını ziyaret edebilirsiniz.

Şimdi de while döngüsü ile for döngüsünü kullanarak yaptığımız ilk örneğimiz gibi ekrana 10 defa yazı yazdıralım.

package kodbloklari.com;

public class while1 {

	public static void main(String[] args) {
		
		int a = 0;
		
		while(a < 10) {
			System.out.println((a+1) +" KOD BLOKLARI");
			a++;
		}
	}
}

Yukarıda da bahsettiğim gibi, değişken atama işlemini döngünün dışında yapıyoruz. Değer arttırma veya azaltma işlemlerini de döngünün içerisinde yapıyoruz.

Kodun ekran çıktısı da şu şekildedir:

while döngüsü

While döngüsünün kullanımın en temel ve basit hali bu şekildedir.

While Döngüsüyle Faktöriyel Hesabı

Şimdide for döngüsü ile yaptığımız faktöriyel hesabını while döngüsü ile yapalım.

Faktöriyel: 1’den kendisine kadar olan sayıların çarpımıdır. ( 5! = 5.4.3.2.1)

Faktöriyel hesabını programda yine aynı mantıkla, önce bir değişken oluşturup 1’den başlatacağız. Daha sonra girdiğimiz sayıya kadar olan tüm sayıları çarpıp girilen sayının faktöriyelini hesaplayacağız.

Kodu aşağıdaki gibidir:

package kodbloklari.com;

import java.util.Scanner;

public class while2 {
	
	public static void main(String[] args) {
		
		Scanner scan = new Scanner(System.in);
		int sayi;
		int faktoriyel = 1;
		
		System.out.print("Bir sayı giriniz: ");
		sayi = scan.nextInt();
		
		while(sayi > 0) {
			
			faktoriyel *= sayi;  // faktoriyel = faktoriyel * sayi
			sayi--;
		}
		System.out.println(faktoriyel);
	}
}

Önce kullanıcıdan bir sayı aldık. “faktöriyel” değişkenini 1 den başlattık. Daha sonrada girdiğimiz sayıyı 1′ e kadar azaltıp elde edilen tüm sayılar çarparak girilen sayının faktöriyelini bulmuş olduk.

18. satırdaki atama işlemleri hakkında detaylı anlatım için Java Dili Operatörler sayfasından atama operatörlerini inceleyebilirsiniz.

Kodun ekran çıktısı da aşağıdaki şekildedir:

while döngüsü

Do-While Döngüsü

Do-while döngüsünün while döngüsünden tek farkı, koşulun döngü sonunda kontrol edilmesidir. Yani do-while döngüsünde önce işlem yapılır daha sonra koşul kontrol edilir.

Böylece do-while döngüsünde koşul sağlanmazsa da döngü en az bir defa çalışır.

Programımızın üzerinde deneyelim:

package kodbloklari.com;

public class do_while1 {
	
	public static void main(String[] args) {
		
		int a = 10;
		
		do {
			System.out.println("KOD BLOKLARI");
		}
		while(a > 100);
	}
}

Yukarıdaki while komutunun içinde koşul yanlış olmasına rağmen döngü 1 defa çalıştı. Bunun sebebi yukarıda da bahsettiğim gibi do-while döngüsü şarta bakmaksızın önce “do” bloğunu çalıştırır ve daha sonra şartı kontrol eder.

Kodun ekran çıktısı da aşağıdaki şekildedir:

do-while

Şimdi de while döngüsünde yaptığımız gibi, do-while döngüsünü kullanarak ekrana 5 defa yazı yazdıralım.

package kodbloklari.com;

public class do_while2 {
	
	public static void main(String[] args) {
		
		int a = 0;
		
		do {
			System.out.println("KOD BLOKLARI");
			a++;
		}
		while(a < 5);
	}
}

While döngüsünde olduğu gibi değer atama işlemini döngünün dışında yapıyoruz. Do bloğunun içine şart sağlandığı sürece yapmasını istediğimiz komut veya komutları yazıyoruz ve daha sonra da while komutu ile şartı kontrol ediyoruz.

Kodun ekran çıktısı şu şekildedir:

do-while döngüsü

Do-While döngüsünün de temel kullanımı bu şekildedir.

Do-While Sayı Toplama

Do-while döngüsünü kullanarak son bir tane daha örnek yapalım.

Kullanıcıdan 0 sayısını girene kadar sayı girmesini isteyeceğiz ve sonra 0 girene kadar girdiği tüm sayıların toplamını bulacağız.

Kodu aşağıdaki gibidir:

package kodbloklari.com;

import java.util.Scanner;

public class do_while3 {
	
	public static void main(String[] args) {
		
		Scanner scan = new Scanner(System.in);
		
		int sayi;
		int sayac = 0;
		int toplam = 0;
		
		do {
			System.out.print("Bir sayı giriniz: ");
			sayi = scan.nextInt();
			toplam += sayi;
			sayac++;
		}
		while(sayi != 0);
		
		System.out.println("Girdiğiniz " + sayac + " tane sayının toplamı = " + toplam);
	}
}

Yukarıdaki örnekte önce do bloğunda yapmak istediğimiz işlemleri yazdık. Kullanıcıdan sayı alma ve aldığı sayıları teker teker toplam değişkenine eklemesi komutlarını yazdık. While komutu ile de kullanıcı 0 sayısını girene kadar bu döngünün devam etmesini sağladık.

18 . ve 21. satırdaki atama ve karşılaştırma operatörlerin kullanımının detaylı anlatımı için Java Dili Operatörler sayfasını ziyaret edebilirsiniz.

Yorum Yap

Bu web sitesi deneyiminizi geliştirmek için çerezler kullanmaktadır. Kabul Et Tamamını Oku

Gizlilik Politikası