Ana içeriğe atla

Java Döngüler

JAVA – DÖNGÜLER


·         Arkadaşlar en başta sizi örnekleri kendiniz çalıştırırken proje ve class isimlerinin farklı olması durumundan çalışmama gibi bir durum olacağı için uyarmak istiyorum. Kendi programınızın ismine göre değiştirmeyi unutmayınız.

Yazılan programlarda bazen belli komut parçalarının birçok kez çalışması gerekebilir. Yani bazı komut parçalarının, belli şartlar altında tekrar tekrar işlenmesi gerekebilir. Döngü deyimleri, bahsedilen komut parçalarının belirtilen şartlar gerçekleştikçe tekrar tekrar işlenmesini sağlar. 
Java’da üç tür döngü vardır. Bunlar; “for”, “do-while” ve “while” döngüleridir. Bu döngülerden for ve while döngüsünde, koşul sınaması döngüye girmeden önce yapılırken, do-while döngüsünde koşul sınaması bir kod parçası çalıştıktan sonra yapılır.

For Döngüsü

İstenen deyim(ler)in kaç kez tekrarlanacağı biliniyorsa, for döngü yapısını kullanmak kolaydır.
Tekrarlanacak deyim tek ise sözdizimi şöyledir:

      for( başlangıç değeri ;  koşul değeri ; sayaç değeri değişimi)
             şarta bağlı tekrarlanmasını istediğimiz işlem;

Tekrarlanacak deyimler birden çoksa, onlar bir blok içine alınır, sözdizimi şöyle olur:
  
      for( başlangıç değeri ;  koşul değeri ; sayaç değeri değişimi)
          {
                 şarta bağlı tekrarlanmasını istediğimiz işlemler;
          }

Şimdi örneklerimizi inceleyelim:

public class Test {

   public static void main(String args[]) {

      for(int x = 10; x < 20; x = x + 1) {
         System.out.print("x : " + x );
         System.out.print("\n");
      }
   }
}

ÇIKTI
x : 10
x : 11
x : 12
x : 13
x : 14
x : 15
x : 16
x : 17
x : 18
x : 19



public class Main {
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            for (int j = 0; j < 10; j++) {
                System.out.println(i + "*" + j + " = " + i * j);
            }
            System.out.println();
        }
    }
}


ÇIKTI

0*0 = 0    
1*1 = 1    
1*2 = 2    
1*3 = 3    
1*4 = 4
1*5 = 5
1*6 = 6
1*7 = 7
1*8 = 8
1*9 = 9
  .
  .
  .

9*0 = 0
9*1 = 9
9*2 = 18
9*3 = 27
9*4 = 36
9*5 = 45
9*6 = 54
9*7 = 63
9*8 = 72
9*9 = 81



Şimdi de aynı gibi görünüp aynı olmayan 2 örneği inceleyelim:

class For01 {

  public static void main(String args[]) {

    int i;
    int sum = 0 ;

    for (i=1; i <=100; i++)  {
      sum = sum + i;
      System.out.println(sum);
    }

  }    
} 

class For02 {

  public static void main(String args[]) {

    int sum = 0 ;

    for (int i=1; i <=100; i++)  {
      sum = sum + i;
      System.out.println(sum);
    }

  }   
}    

Bu iki örneğe bakacak olursak çıktımız aynı olacaktır. Fakat For01.java programında i değişkeni main metodunun bir yerel değişkenidir. main  içindeki her deyim onu görebilir ve kullanabilir. Gerçekten, for denetim yapısı, kendi dışında bildirimi yapılan i değişkenini tanımakta ve kullanabilmektedir. For02.java programında i değişkeni for denetim yapısının bir yerel değişkenidir. Yalnızca bu yapı içinde tanınır ve kullanılabilir. main veya class içindeki başka deyimler bunu göremez ve kullanamaz. Böyle olduğunu görmek için, örneğin, for döngüsünden sonra
System.out.println(i);
 deyimini koyunuz. Programınızın derlenemediğini göreceksiniz.

While Döngüsü

While döngüsünde, while komutu içerisindeki ifade “true” değerini aldığı müddetçe while döngüsünün bloğu içerisindeki kod parçaları işlenir. Eğer while komutu içerisindeki değer “false” değerini alırsa, döngü bloğunun çalışmasi sonlanır.
While döngüsünün yapısı şu şekildedir:

   while(ifade){
   . . .
   }

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        int toplam=0;
        System.out.println("Lütfen 5 sayi giriniz: ");
        Scanner s=new Scanner(System.in);
        int i=1;
        while (i<6) {
            System.out.println(i+". sayiyi giriniz: ");
            int sayi=s.nextInt();
            toplam+=sayi;
            i++;
        }
        System.out.println("Girdiginiz sayilarin toplami = "+toplam);
    }
}

ÇIKTI

Lütfen 5 sayi giriniz:
1.sayiyi giriniz:
//5
2.sayiyi giriniz:
//2
3.sayiyi giriniz:
//8
4.sayiyi giriniz:
//3
5.sayiyi giriniz:
//7
Girdiğiniz sayilarin toplami:
//25




class While01 {
public static void main(String[] args) {
 int sayaç = 0;
 while (sayaç < 10) {
 System.out.printf("\t %d ", sayaç);
 sayaç++;
 }

ÇIKTI

0             1             2              3             4             5             6             7              8             9
}
}

package döngüler;
class While02 {
public static void main(String[] args) {
 int n = 1;
 int toplam = 0;
 while (n <= 10) {
 toplam = toplam + n;
 System.out.printf(" 1 den %d 'e kadar TOPLAM = %d %n", n, toplam);
 n++;
  }
 }
}
                                                                                                                                                                                 


ÇIKTI

1 den 1 'e kadar TOPLAM = 1
1 den 2 'e kadar TOPLAM = 3
1 den 3 'e kadar TOPLAM = 6
1 den 4 'e kadar TOPLAM = 10
1 den 5 'e kadar TOPLAM = 15
1 den 6 'e kadar TOPLAM = 21
1 den 7 'e kadar TOPLAM = 28
1 den 8 'e kadar TOPLAM = 36
1 den 9 'e kadar TOPLAM = 45
1 den 10 'e kadar TOPLAM = 55
 
  

Do - While Döngüsü

Do-while döngüsü ise while döngüsüne çok benzer. While döngüsünden farkı; do-while döngüsü koşul çalıştırılmadan önce kod bloğu bir defa çalışır ve sonra koşula girer. Yani koşul doğru olsa da olmasa da kod bloğu bir defa çalışmış olur. Bu fark aslında önemli bir farktır.

do{
. . . . //kod blogu
. . . .
}while(ifade);


public class Main {
    public static void main(String[] args) {
        int toplam=0;
        int i=0;
        do{
            if(i%2==0){
                toplam+=i;
            }
            i++;
        }while(i<=10);
        System.out.println("(10 dahil)10'a kadar olan çift sayilar toplami: "+toplam);
    }
}



ÇIKTI

En çok 10 haneli bir tamsayı giriniz: 1234567896 1234567896 sayısında 10 hane vardır.

ÇIKTI

1 den 1 'e kadar TOPLAM = 1
1 den 2 'e kadar TOPLAM = 3
1 den 3 'e kadar TOPLAM = 6
1 den 4 'e kadar TOPLAM = 10
1 den 5 'e kadar TOPLAM = 15
1 den 6 'e kadar TOPLAM = 21
1 den 7 'e kadar TOPLAM = 28
1 den 8 'e kadar TOPLAM = 36
1 den 9 'e kadar TOPLAM = 45
1 den 10 'e kadar TOPLAM = 55


package döngüler;
class DoWhile01 {
public static void main(String[] args) {
 int n = 1;
 int toplam = 0;
 do {
 toplam = toplam + n;
 System.out.printf(" %d den %d 'e kadar TOPLAM = %d %n", 1, n, toplam);
 n++;
 }
  while (n <= 10);
 }
}


ÇIKTI
(10 dahil)10'a kadar olan çift sayilar toplami: 30


package döngüler;
import java.util.Scanner;
class BasamakSay {
public static void main(String[] args) {
 long n;
 long i = 0;
 Scanner scan = new Scanner(System.in);
 System.out.println("En çok 10 haneli bir tamsayı giriniz:");
 n = scan.nextLong();
 do {
 ++i;
 n = n / 10;
 } while (n > 0);
 System.out.printf("%d sayısında %d hane vardır.", n, i);
 }
}
 

Yorumlar

Bu blogdaki popüler yayınlar

SEZAR ŞİFRELEME ALGORİTMASI NEDİR?

Bu şifreleme tekniği şöyle işlemekte. Sizin şifrelenmesini istediğiniz bir kelime ya da veri mevcut diyelim. Bizim bir anahtar değer belirlememiz gerekmekte. Bu anahtar değeri bir rakam olmalı. Bu anahtar değeri kadar verilen kelimedeki harfleri öteliyoruz. Basitçe gelen kelimenin içeriğine bakılıyor ve şayet mesaj  ascii tablosundak i büyük harflere tekabül ediyorsa (65 büyük A ve 90 büyük Z olduğuna göre, bu sayılar arasındaysa) veya küçük harfe tekabül ediyorsa (97 küçük a ve 127 küçük z harfleri arasındaysa) bu durumda anahtar miktarı arttırma yapılır. Anahtar miktarı arttıktan sonra, z harfinden sonraki bir harfe gelirse modu alınıp a harfi kadar ekleme yapılır.                                                                        Örneğin z harfini ( ascii değeri 127) anahtar değeri olan 2 kad...

Java Veri Tipleri ve Değişkenler

  Java Veri Tipleri ve Değişkenler Bu yazımda Java da değişken tanımlama hakkına bilgi vereceğim. Bu bilgiler değişken nedir, değişken tanımlama kuralları nelerdir ve değişken tanımlarken kullanabilceğimiz veri tipleri hakkında olacaktır. Değişken Nedir? Program yazarken, bazı verilerin daha sonra kullanılmak üzere bir yerde tutulması gerekebilir. Bunun için değişkenlere başvurulur. Yani değişkenler bizim için bellekte yer ayıran göstergeçlerdir. Değişkenler farklı türde verileri tuttukları için, farklı tiplere sahip olabilirler. Bir negatif veya pozitif sayıyı tutan değişken ile yazı tutan bir değişken farklı tiplere sahiptirler. Değişken Tanımlama Kuralları Her dilin olduğu gibi programlama dillerinin de kendi içinde belli kuralları var. Bu kurallara uyarak yorumlayıcıya veya derleyiciye kodunuzu doğru biçimde ifade edebilirsiniz. Bu kurallara bakacak olursak ; ·          Bir değişken yazarken   önce  ...