Ders - 7 while döngüsü
import java.util.scanner; public class StringKiyaslama { public static void main(string[] args) { Scanner klavye=new Scanner(System.in); Oncelikle Lab icin bir aciklama System.out.println("1. sayiyi giriniz"); int n1=klavye.nextint(); System.out.println("2. Sayiyi giriniz"); int n2=klavye.nextint(); if (n1 == n2) System.out.println("Sayilar esittir"); else if (n1 > n2) System.out.println("Birinci sayi buyuktur"); else System.out.println("Ikinci sayi buyuktur"); Sayilari karsilastirma == String s1, s2; System.out.println("1. ismi giriniz"); s1=klavye.next(); System.out.println("1. ismi giriniz"); s2=klavye.next(); if (s1.equals(s2)) System.out.println("isimler aynidir"); else System.out.println("isimler farklidir"); Stringleri karsilastirma.equals metodu char c1, c2; System.out.println("1. karakteri giriniz"); s1=klavye.next(); System.out.println("2. karakteri giriniz"); s2=klavye.next(); c1 = s1.charat(0); c2 = s2.charat(0); if (c1 == c2) System.out.println("karakterler aynidir"); else System.out.println("karakterler farklidir"); Karakterleri karsilastirma ==
Tekrar Edilen Islemler: while döngüsü Bazi islemleri (kod bloklarini) tekrar tekrar yapmak icin döngüleri kullaniriz. While dongusu en sik kullanilanlardan birisidir. Genel formati soyledir: while (kosul) { komutlar... Bu komutu kosul saglandigi surece dongu icindeki komutlari yap seklinde okuruz. While dongusune girilebilmesi icin kosulun saglanmasi gerekir. Dongu icine girildikten sonra blokun icindeki komutlar sirayla calistirilir. En sondaki parenteze ulasildiginda kontrol tekrar while ile baslayan satira doner. Bu satirda iken kosul tekrar test edilir. Kosul saglaniyorsa blok icindeki islemler sirayla yapilir. Kosul saglanmadigi takdirde donguden cikilir.
Tekrar Edilen Islemler: while döngüsü While dongusunden cikilabilmesi icin kosulun saglanmamasi gerekir. Yani kosulun degerinin false olmasi lazimdir. Bunun saglanabilmesi icin cogunlukla dongu icinde kosulun degistirilmesi gerekir. Sayet kosul uygun sekilde degistirilemezse dongu icinden cikilamaz. Bu durumda dongu blokuna ait islemler surekli tekrar edilir. Buna sonsuz dongu denir.
Tekrar Edilen Islemler: while döngüsü while (kosul) { komutlar... Ornek Kod: Ekrana 100 defa Selam yazdirma int i = 0; while (i < 100) { System.out.println("Selam"); i = i + 1; Selam Selam Selam Selam Selam... Selam
0 dan 100 e kadar (100 haric) olan sayilarin ekrana yazdirilmasi int i = 0; while (i < 100) { System.out.println(i); i = i + 1; Donguden cikildiktan sonra yani burda i nin degeri nedir? 0 1 2 3 4... 99
0 dan 10 kadar olan sayilarin ekrana yazdirilmasi int sayac = 0; while (sayac < 10) { System.out.println("Sayac degeri: " + sayac); sayac = sayac + 1; Sayac degeri: 0 Sayac degeri: 1 Sayac degeri: 2 Sayac degeri: 3 Sayac degeri: 4... Sayac degeri: 9
10 dan 0 kadar olan sayilarin ekrana yazdirilmasi int sayac = 10; while (sayac > 0) { System.out.println("Sayac degeri: "+sayac); sayac = sayac - 1; Donguden cikildiktan sonra yani burda sayacin degeri nedir? Sayac degeri: 10 Sayac degeri: 9 Sayac degeri: 8 Sayac degeri: 7 Sayac degeri: 6... Sayac degeri: 1
0 dan 100 e kadar (100 haric) olan cift sayilarin ekrana yazdirilmasi int i = 0; while (i < 100) { System.out.println(i); i = i + 2; Donguden cikildiktan sonra yani burda i nin degeri nedir? 0 2 4 6 8... 98
99 dan 0 a kadar geriye 3 er 3er azaltarak saydirma int i = 99; while (i >= 0) { System.out.println(i); i = i - 3; Donguden cikildiktan sonra yani burda i nin degeri nedir? 99 96 93 90 87... 0
1 den 101 e kadar (101 haric) olan sayilarin toplaminin bulunmasi int i = 1; int toplam=0; while (i < =100) { toplam = toplam + i; i = i + 1; System.out.println(toplam);
1 den 101 e kadar (101 haric) olan sayilarin carpiminin bulunmasi double i = 1; double carpim=0; while (i < =100) { carpim = carpim * i; i = i + 1; System.out.println(carpim);
Kullanici tarafindan girilen 57 sayinin toplaminin bulunmasi Scanner in=new Scanner(System.in); double sayi; double toplam=0, i=0; while (i < 57) { System.out.println("Sayi giriniz: "); sayi=in.nextdouble(); toplam = toplam + sayi; i = i + 1; System.out.println(toplam);
Kullanici tarafindan girilen 57 sayidan sadece pozitif olanlarin toplaminin bulunmasi Scanner in=new Scanner(System.in); double sayi; double toplam=0, i=0; while (i < 57) { System.out.println("Sayi giriniz: "); sayi=in.nextdouble(); if (sayi > 0) toplam = toplam + sayi; i = i + 1; System.out.println(toplam);
Kullanici tarafindan girilen 57 sayidan sadece pozitif olanlarin toplaminin ve kac pozitif sayi oldugunun bulunmasi Scanner in=new Scanner(System.in); double sayi; double toplam=0, i=0, pozitifler=0; while (i < 57) { System.out.println("Sayi giriniz: "); sayi=in.nextdouble(); if (sayi > 0) { toplam = toplam + sayi; pozitifler = pozitifler + 1; i = i + 1; System.out.println(toplam);
import java.util.scanner; public class Ort { public static void main(string[] args) { Scanner in = new Scanner(System.in); int yas = 0; int toplam = 0, kisisayisi=0; while (yas > -1) { System.out.println("Yasinizi giriniz. Sonlandirmak icin -1 giriniz:"); yas = in.nextint(); if (yas >= 0) { toplam = toplam + yas; kisisayisi = kisisayisi + 1; Bu program, klavyeden girilen yas degerlerinin ortalamasini bulur. Bu ornekte yas degerleri teker teker aliniyor ve kac kisinin yas degerlerini aldigimizi onceden bilmiyoruz. int ortalama = toplam / kisisayisi; System.out.println(" Yaslarin ortalamasi " + ortalama);
import java.util.scanner; public class Days { public static void main(string[] args) { Scanner in = new Scanner(System.in); int choice = 0; while (choice!= 9) { System.out.println("******************"); System.out.println(" MENU "); System.out.println("* 1- Add data *"); System.out.println("* 2- Update data *"); System.out.println("* 3- Delete data *"); System.out.println("* 9- Quit *"); System.out.println("******************"); choice = in.nextint(); Ekranda menu gosterme ornegi. Burda program 9 girilinceye kadar menuyu ekranda tutmaya devam edecektir.
Donguye girmeme durumu: Kosul daha en basta iken saglanamazsa donguye girilmeyecektir int sayac = 0; while (sayac > 100) { System.out.println("Sayac degeri: "+sayac); sayac = sayac + 1; Sayac baslangicta 0 oldugu icin while in kosulu olan (sayac > 100) saglanmayacaktir. Bu sebeple de donguye girilmeyecektir. Bundan sonra calistirilacak olan komut, while a ait olan bloktan sonra gelen komuttur.
Sonsuz Dongu: Donguden cikamama int sayac = 1; while (sayac > 0) { System.out.println("Sayac degeri: "+sayac); sayac = sayac - 1; Sayac baslangicta 0 oldugu icin while in kosulu olan (sayac > 100) saglanmayacaktir. Bu sebeple de donguye girilmeyecektir. Bundan sonra calistirilacak olan komut, while a ait olan bloktan sonra gelen komuttur.
Ic ice while donguleri Ekrana Carpim Tablosu cikarma import java.util.scanner; public class IcIceWhile { public static void main(string[] args) { int i=0,j=0; while (i <= 9) { j=0; while (j <= 9) { System.out.print("\t" + i*j); j = j + 1; System.out.println(""); i=i+1;
Tekrar Edilen Islemler do-while döngüsü While dongusu gibidir. Ancak dongunun kosulu en sonda kontrol edilir. Bu durumda kosul kontrol edilinceye kadar en az bir kez dongude islem yapilmasi gerekir. do { komutlar... while (condition); Ornek: int sayac = 10; do { System.out.println("Sayac degeri: " + sayac); sayac = sayac - 1; while (sayac > 0) ;