Merhaba..
Java'da wihle döngüsünün bir diğer kullanım şekli DO WHILE döngüsüdür...
JAVA DO WHILE DÖNGÜSÜ
Program akışında , belirli sayıda tekrar etmesini istediğimiz işlemlerde WHILE döngüsü gibi DO WHILE düngüsünden de yararlanıyoruz.. Döngünün oluşması için , yine WHILE parantezinde bir şart belirlenmesi gerekir. Bu şart sağlandığı sürece , süslü parantezler arasındaki işlemler gerçekleştirilir.
DO WHILE döngüsünde, önce DO yani yapılacaklar yazıldığı için, döngü şartı sağlanmamış olsa bile işlemler en az bir kez gerçekleştirilir. ŞART SONRA kontrol edilir. Klasik WHILE yapısından farkı budur..
While döngüsünde olduğu gibi döngü ilk değerlerinin DO öncesinde herhangi bir değişken ile , artım yada azaltım miktarlarının (veri tabanı kayıtlatını alırken hariç) ise döngü içerisinde yine aynı değişken ile belirtilmesi gerekir. Yani do wihile bloğunun her dönüşünde şart duumunun değişmesi gerekir. Aksi takdirde program sonsuz döngüye girebilir..
Whıle şartları için yine JAVA ilişkisel opratörleri kullanılabilir; <, >, <=, >=, ==, != gibi...
KULLANIMI
do {
}
while( şart );
Do While döngüsünün çalışabilmesi için , program "while satırına" ulaştığında , belirtilmiş şartın sağlanıyor olması gerekir..
Örneklerle bakalım...
DO WHILE ile EKRANDA 3 KEZ ALT ALTA "JAVA" YAZDIRMA
Do Whıle ile ekranda alt alta 3 kez java yazdırmak için önce bir sayaç belirleyeceğiz.. Şartı döngünün 3 kez döneceği şekilde ayarlayıp, döngü içerisinde sayaç için artım miktarı belirleyeceğiz..
- ilk değer sayac=1;
- şart sayac<=3;
- artım : sayac++ (sayac her döngü adımında bir artacak)
JAVA KODLARI
int sayac=1;
do {
System.out.println( "JAVA" ) ; // JAVA yazdırılır
sayac++; // sayac bir artar
}
while( sayac<=3 );
EKRAN ÇIKTISI
JAVA
JAVA
JAVA
- Yukarıdaki döngüde sayac ilk değerini , döngü öncesi 1 olarak int tipinde atadık.
- Do bloğu şart kontrolsüz olarka ilk adımını işler ve ekranda JAVA yazar..
- Döngü içerisinde yazdırma komutu ile JAVA yazdırdıktan sonra ise sayac değerini bir arttırdık..
- Döngü şartını blok sonunda while ile sayacın 3 yada 3'ten küçük olması olarak belirledik.
- Her artımda "WHILE" şartı tekrar gözden geçirilip, döngü toplamda 3 kez döndürülür..
- En son sayac=4 olduğunda artık şart sağlanmayacağı için döngü kesilir ve program döngü sonrası komutlardan çalışmaya devam eder..
Programın döngü adımları, sayacın ilk değeri 1 olacak şekilde aşağıdaki gibi olur...
Adımlar
|
Sayaç Değeri
|
Ekran
|
İşlem
|
Şart Durumu (sayac<=3)
|
|
1. Adım
|
1 |
JAVA |
Sayaç bir arttıırılır -> 2 |
2 <= 3 mü EVET |
|
2. Adım
|
2 |
JAVA |
Sayaç bir arttıırılır -> 3 |
3 <= 3 mü EVET |
|
3. Adım
|
3 |
JAVA |
Sayaç bir arttıırılır -> 4 |
4 <= 3 mü HAYIR |
|
4. Adım
|
4. adıma girilmez.. sayac 4 olduğunda , bir sonraki satırdaki while şartı sağlanmamış olur ve döngüden çıkılır...
|
DO WHILE ile 1DEN 5E KADAR SAYILARI YANYANA YAZDIRMA
Do Whıle ile ekranda 1den 5e kadar olan sayıları yanyana yazdırmak için önce yine bir sayaç belirleyeceğiz.. Şartı döngünün 5 kez döneceği şekilde ayarlayıp, döngü içerisinde sayaç için artım miktarını 1 olarak belirleyeceğiz..
- ilk değer sayac=1;
- şart sayac<=5;
- artım : sayac++ ( sayac her döngü adımında bir artacak )
JAVA KODLARI
int sayac=1;
do {
System.out.print( sayac ) ; // sayac yazdırılır
sayac++; // sayac bir artar
}
while(sayac<=5);
EKRAN ÇIKTISI
12345
- Yukarıdaki döngüde sayac ilk değerini , döngü öncesi 1 olarak int tipinde atadık.
- Do bloğu şart kontrolsüz olarak ilk adımını işler ve ekranda sayac değeri (1) yazar..
- Döngü içerisinde yazdırma komutu sayac değerleri yazıdırldıktan sonra sayac değerini bir arttırdık..
- Döngü şartını blok sonunda while ile sayacın 5 yada 5'ten küçük olması olarak belirledik.
- Her artımda "WHILE" şartı tekrar gözden geçirilip, döngü toplamda 5 kez döndürülür..
- En son sayac=6 olduğunda artık şart sağlanmayacağı için döngü kesilir ve program döngü sonrası komutlardan çalışmaya devam eder..
Programın döngü adımları, sayacın ilk değeri 1 olacak şekilde aşağıdaki gibi olur...
Adımlar
|
Sayaç Değeri
|
Ekran
|
İşlem
|
Şart Durumu (sayac<=3)
|
|
1. Adım
|
1 |
1 |
Sayaç bir arttıırılır -> 2 |
2 <= 5 mü EVET |
|
2. Adım
|
2 |
12 |
Sayaç bir arttıırılır -> 3 |
3 <= 5 mü EVET |
|
3. Adım
|
3 |
123 |
Sayaç bir arttıırılır -> 4 |
4 <= 5 mü EVET |
|
4. Adım
|
4 |
1234 |
Sayaç bir arttıırılır -> 5 |
5 <= 5 mü EVT |
|
5. Adım
|
5 |
12345 |
Sayaç bir arttıırılır -> 6 |
6 <= 5 mü HAYIR |
|
6. Adım
|
6. adıma girilmez.. sayac 6 olduğunda , bir sonraki satırdaki while şartı sağlanmamış olur ve döngüden çıkılır...
|
DO WHILE ile 5TEN 1E KADAR OLAN SAYILARI ALTALTA YAZDIRMA
Do Whıle ile ekranda 5ten 1e kadar olan sayıları altalta yazdırmak için önce yine bir sayaç belirleyeceğiz.. Şartı döngünün 5 kez döneceği şekilde ayarlayıp, döngü içerisinde sayaç için bu kez azaltma miktarını 1 olarak belirleyeceğiz..
- ilk değer sayac=5;
- şart sayac>=1;
- artım : sayac-- ( sayac her döngü adımında bir azalacak)
JAVA KODLARI
int sayac=5;
do {
System.out.println( sayac ) ; // sayac yazdırılır
sayac--; // sayac bir azalır
}
while(sayac>=1);
EKRAN ÇIKTISI
5
4
3
2
1
- Yukarıdaki döngüde sayac ilk değerini , döngü öncesi 5 olarak int tipinde atadık.
- Do bloğu şart kontrolsüz olarak ilk adımını işler ve ekranda sayac değeri (5) yazar..
- Döngü içerisinde yazdırma komutu sayac değerleri yazıdırldıktan sonra sayac değerini bir azalttık..
- Döngü şartını blok sonunda while ile sayacın 1 yada 1'ten büyük olması olarak belirledik.
- Her artımda "WHILE" şartı tekrar gözden geçirilip, döngü toplamda 5 kez döndürülür..
- En son sayac=0 olduğunda artık şart sağlanmayacağı için döngü kesilir ve program döngü sonrası komutlardan çalışmaya devam eder..
Programın döngü adımları, sayacın ilk değeri 1 olacak şekilde aşağıdaki gibi olur...
Adımlar
|
Sayaç Değeri
|
Ekran
|
İşlem
|
Şart Durumu (sayac<=3)
|
|
1. Adım
|
5 |
5 |
Sayaç bir azaltılır-> 4 |
4 >= 1 mü EVET |
|
2. Adım
|
4 |
54 |
Sayaç bir azaltılır-> 3 |
3 >= 1 mü EVET |
|
3. Adım
|
3 |
543 |
Sayaç bir azaltılır-> 2 |
2 >= 1 mü EVET |
|
4. Adım
|
2 |
5432 |
Sayaç bir azaltılır-> 1 |
1 >= 1 mü EVT |
|
5. Adım
|
1 |
54321 |
Sayaç bir azaltılır-> 0 |
0 >= 1 mü HAYIR |
|
6. Adım
|
6. adıma girilmez.. sayac 0 olduğunda , bir sonraki satırdaki while şartı sağlanmamış olur ve döngüden çıkılır...
|
DO WHILE ile 1DEN 100E KADAR TEK SAYILARI YANYANA YAZDIRMA
Do Whıle ile ekranda 1den 100e kadar olan tek sayıları yanyana yazdırmak için önce yine bir sayaç belirleyeceğiz.. Sayaç ilk değerinin , tek sayılar istendiği için 1 yapacağız. Sayaç 100'den küçük olduğu sürece ise artım miktarını 2 yaparak tüm tek sayıları yazdıracağız..
- ilk değer sayac=1;
- şart sayac<=100;
- artım : sayac+=2 ( sayac her döngü adımında 2 artacak )
JAVA KODLARI
int sayac=1;
do {
System.out.print( sayac + " ") ; // sayac ve bir boşluk yazdırılır..
sayac+=2; // sayac 2 artar
}
while(sayac<=100)
EKRAN ÇIKTISI
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
- Yukarıdaki döngüde sayac ilk değerini , döngü öncesi 1 olarak int tipinde atadık.
- Döngü şartını sayacın 100 yada 100'den küçük olması olarak belirledik.
- Döngü içerisinde yazdırma komutu ile sayac değişkenini bir boşlukla beraber print ile yazdırdıktan sonra sayac değerini 2 arttırdık..
- Her artımda "WHILE" şartı tekrar gözden geçirip, döngüyü 50 kez döndürür.
- En son sayac=101 olduğunda artık şart sağlanmayacağı için döngü kesilir ve program döngü sonrası komutlardan çalışmaya devam eder..
Programın döngü adımları, sayacın ilk değeri 1 olacak şekilde aşağıdaki gibi olur...
Adımlar
|
Sayaç Değeri
|
Ekran
|
İşlem
|
Şart Durumu (sayac<=3)
|
|
1. Adım
|
1 |
1 |
Sayaç 2 arttıırılır -> 3 |
3<= 100 mü EVET |
|
2. Adım
|
3 |
1 3 |
Sayaç 2 arttıırılır -> 5 |
5 <= 100 mü EVET |
|
3. Adım
|
5 |
1 3 5 |
Sayaç 2 arttıırılır -> 7 |
7 <= 100 mü EVET |
|
.
.
.
.
|
.
.
.
.
|
.
.
.
.
|
.
.
.
.
|
.
.
.
.
|
|
48. Adım
|
97 |
1 3 ... 95 97 |
Sayaç 2 arttıırılır -> 99 |
99 <= 100 mü EVET |
|
49. Adım
|
99 |
1 3 ... 95 97 99 |
Sayaç 2 arttıırılır -> 101 |
101 <= 100 mü HAYIR |
|
50. Adım
|
101 |
Şart sağlanmadığından döngü bitirilir!
|
Görüşmek üzere...