while(koşul){yapılacaklar}
eğer koşul sürekli sağlanırsa sonsuz bir döngü oluşur. Örnek verecek olursak:
int sayi=1;
while(sayi<10){
System.out.println("Sayı değeri:"+sayi);
sayi--;
}
Burda sayi değeri 1 den başlayacak ve sayi-- ile her defasında 1 eksilerek devam edecek ve koşul sürekli sağlanarak sonsuz bir döngüye girmiş olacağız. Çünkü sayi değeri 1,0,-1,-2 ... -sonsuza doğru devam edecek ve sayi sürekli 10dan küçük olacağı için döngü sonsuz döngüye girecektir.
Aşağıdaki örnekte sayi 1 den başlayıp her defasında sayi++ komutu ile 1 artırılacak sayi=10 olduğunda 10<10 koşulu yanlış olacağından döngüden çıkacaktır.
package dersler;
public class Dersler {
public static void main(String[] args) {
int sayi=1;
while(sayi<10){
System.out.println("Sayı değeri:"+sayi);
sayi++;
}
}
}
Program Çıktısı:
while döngüsünü en çok kullandığım alanlardan birisi de kullanıcı istediğim aralıklar dışında yanlış bir veri girdiğinde verinin tekrar istenmesi. Şöyle ki kullanıcıdan 1 ile 50 arasında bir sayı girmesini isteyelim. while ile sayıyı kontrol edelim eğer sayı 1 ile 50 arasında değilse tekrar soralım. Kullanıcı 5 defa da yanlış girse her defasında soracaktır.
package dersler;
import java.util.Scanner;
public class Dersler {
public static void main(String[] args) {
Scanner giris=new Scanner(System.in);
int sayi;
System.out.println("Lütfen 1 ile 50 arasında bir sayı giriniz:");
sayi=giris.nextInt();
while(sayi<1||sayi>50){
System.out.println("Yanlış giriş yaptınız!");
System.out.println("Lütfen 1 ile 50 arasında bir sayı giriniz:");
sayi=giris.nextInt();
}
}
}
Program Çıktısı:
hocam 1 den 100 e kadar sayıların karesini toplayan java programını yazdım ama toplyamadım hepsini tek seferde
YanıtlaSil