Java While Döngüsü Kullanımı ve Örnekleri
Java While Döngüsü Nedir? Java dersleri serisinin bu dersinde döngüler üzerinden devam edeceğiz. Daha önce java for döngüsü kullanımını görmüştük. Şimdi de for döngüsüne göre kullanımında biraz daha avantaj doğurabilen while döngüsünden bahsedeceğiz. Java While döngüsü kullanımını gösterip, java while döngüsü örnekleri ile devam edeceğiz. Java While döngüsü konu anlatımı.
Java While Döngüsü Kullanımı
Programlamada döngülerin belirli bir işi yada işleri istenilen sayıda yapılmasına olanak sağladığını for döngüsü yazısında söylemiştik. Öncelikle zaten bir tane döngü varken neden while döngüsüne ihtiyaç var sorusuna cevap vermeye çalışalım.
For döngüsünde bildiğiniz gibi döngünün ne kadar döneceği bellidir. Ancak bazı durumlar olur ki döngünün ne kadar dönmesi gerektiğini bilmeyiz ancak yine de bir döngüye ihtiyacımız vardır. Böyle durumlar ihtiyacın bitip bitmemesini kontrol eden ve bu duruma göre devam eden bir döngü yapısına ihtiyaç doğmakta. Burada Java while döngüsü imdadımıza yetişmekte.
Java’da while döngüsünde döngünün ne zaman tamamlanacağını ihtiyacın bitip bitmemesi ile eşleştirebiliriz. Örnek olarak bir döngümüz var ve içerisinde bir if else yapısı var. Bu if else yapısından istediğimiz sayıda if yapısı tamamlanınca döngü tamamlansın istiyoruz. Yani else koluna değilde if koluna girenler sayılsın ve bir X sayısına gelince döngünün durması gereksin.
Böyle bir yapıyı for döngüsü ile sağlayamayacağımızı fark etmişsinizdir. Şimdi böyle bir yapıyı while döngüsü ile kurmadan önce basit olarak while döngüsü yapısına bakalım.
While döngüsü yapısı:
1 2 3 4 5 6 7 8 9 |
public class Main { public static void main (String[] args) { while(/* Koşul buraya gelecek */){ // İşlemler buraya gelecek // Yapılan işlem esnasında koşulda belirtilen durumun tamamlanması için artım, // azaltım vb bir işlem yapılmalı } } } |
If else yapısına benzer olarak da while döngüsünde “while” anahtar kelimesinden sonra parantezler içerisine koşul gelmektedir. Koşuldan sonra süslü parantezler içerisinde işlemler ve koşul üzerinde işlem yapan bir fonksiyon gerekmekte.
Yani bir x tam sayısı var elimizde ve bu tam sayının değeri 10’a ulaşınca while döngüsü sonlansın istiyoruz. Ancak döngü içerisinde x tam sayısını 10’a ulaştırmak için artım veya azaltım yapmazsak döngü hep devam edecektir.
Buna da sonsuz döngü denmektedir. Java’da while sonsuz döngü durumuna bir örnek verelim.
Java While Sonsuz Döngü:
1 2 3 4 5 6 7 8 |
public class Main { public static void main (String[] args) { int x = 0; while(x < 10){ System.out.print("Hello World!"); } } } |
Bu java while sonsuz döngü örneğinde bir x tam sayısına bağlı olarak ekrana “Hello World” yazdırmaktayız. Ancak x sayısı ile ilgili bir işlem yoktur. Yani x sayısı hep 0’da kalacağı için ekrana sürekli “Hello World” yazılacaktır.
Bu durumu aşmak içinde döngü içerisinde x değişkeninin değerini arttırmamız gerekmekte.
1 2 3 4 5 6 7 8 9 |
public class Main { public static void main (String[] args) { int x = 0; while(x < 10){ System.out.println(x + " - Hello World!"); x = x + 1; } } } |
Döngü içerisinde x sayısını birer birer arttırıyoruz. Bu şekilde x tam sayısı 0’dan 10’a kadar gidecek yani 10 kez ekrana “Hello World” yazılacaktır. Eğer başlangıçta x sayısının değerine 10 veya daha büyük bir sayı verseydik bu seferde while döngüsü içerisine program hiçbir zaman girmeyecekti.
Ekran Çıktısı:
Java While Döngüsü Örnekleri
Java while döngüsü kullanımı bu şekildedir. Şimdi while döngüsü ile ilgili örnekler vermeye devam edelim. Örneklerde basitten karmaşığa doğru ilerleyeceğiz.
Java While Döngüsü Örneği 1: Burada bir x sayısından küçük olan ve 5 ile tam bölünebilen sayıları ekrana yazdıran java programını gerçekledik.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import java.util.Scanner; public class Main { public static void main (String[] args) { // Java While Döngüsü Örnekleri int x = 0; Scanner in = new Scanner(System.in); System.out.print("Bir sayı giriniz: "); x = in.nextInt(); System.out.println(x + " sayısından küçük 5 ile tam bölünen sayılar :"); while(x > 5){ if(x % 5 == 0){ System.out.println(x); } x--; } in.close(); } } |
Ekran Çıktısı:
Bu java while döngüsü örneğinde kullanıcıdan bir sayı istedik ve bunu x tam sayı değişkenine atadık. Daha sonra while döngüsü içerisinde bu sayı 5’ten büyük olduğu sürece birer birer azalttık ve her seferinde 5’e tam bölünüyor mu diye bakıp bölünüyorsa ekrana yazdırdık.
Java While Döngüsü Örneği 2: Burada eratosten kalburu algoritmasını kullanarak java while döngüleri ile girilen bir X sayısına kadar olan asal sayıları bulan java programını yazacağız.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
import java.util.Scanner; public class Main { public static void main (String[] args) { // Java While Döngüsü Örnekleri int x, y = 2, i = 0, dizi[] = new int[100]; while(i < 100){ dizi[i] = 1; i++; } Scanner in = new Scanner(System.in); System.out.print("Bir sayı giriniz: "); x = in.nextInt(); while (y < Math.abs(x)){ if (dizi[y] == 1){ for (i=y; i*y < x; i++){ dizi[y*i] = 0; } } y++; } i = 2; System.out.println(x + " sayısına kadar olan asal sayılar:"); while(i < x){ if(dizi[i] == 1){ System.out.println(i); } i++; } in.close(); } } |
Ekran Çıktısı:
Bu while döngüsü örneği diğerlerine nazaran biraz daha karmaşık. Bir x sayısına kadar olan asal sayıları buluyoruz demiştik. Kullanıcıdan önce x sayısını alıyoruz ve bu bir dizi oluşturup bütün elemanlarını 1’e eşitliyoruz.
Daha sonra ilk asal sayı olan 2 den başlayarak bütün katlarını dizideki yerlerini 0 yaparak işaretliyoruz. Böylece 2’nin katları asal olmadığından onları çıkarmış olduk. Aynısını 3’ün katları 4’ün katları şeklinde x sayısının kareköküne kadar giderek yapıyoruz.
Bu işlem sonunda dizi içerisinde 1 olarak kalan elemanların indisi bize x sayısına kadar olan asal sayıları verecektir. Daha yüksek sayılı örnekler için denerseniz dizinin boyutunu arttırmayı unutmayın.
Java programlama dilinde while döngüsünün kullanımını bu şekilde kavramış olduk. Sizde eğer tam anlamadığınızı düşünüyorsanız kendiniz while döngüsü örnekleri uydurarak java programları geliştirebilir ve böylece konuya artık tamamen hakim olabilirsiniz.
Java while döngüsü kullanımına dair bütün sorularınızı ve bu yazıda geçen bilgiler ve örnekler ile ilgili bütün sorularınızı yorum olarak bırakabilirsiniz. Diğer java dersleri.
“Java While Döngüsü Kullanımı ve Örnekleri” adlı bu makaleyi faydalı bulduysanız lütfen yorum yapmayı ve paylaşmayı unutmayın.