Java programlama dilinde kontrol ifadeleri

Giriş

Kontrol yapıları, program akışını değiştirmek için kullanılan yapılardır. Yapısal programlama dillerinde program işleyişi ilk satırdan son satıra doğru ilerler ve bu işleyiş sırası, şartlı veya şartsız olarak değerlendirilebilir. İşte; programın işleyiş yönün şartlı veya şartsız olarak değerlendirilmesi işlemine dallanma (branching) denir. Dallanma işlemlerini gerçekleştiren komutlara kontrol komutları denir.[1]
Java da 4 çeşit kontrol yapısı mevcuttur;
  • 1.      Karşılaştırma ifadeleri: if,if-else,switch-case
  • 2.      Döngü ifadeleri:while,do-while,for
  • 3.      dallanma ifadeleri:break,continue,label,return
  • 4.      istisna ifadeleri: try,catch,finally,throw [2]

1-if deyimi ve else blogu

Tüm dillerde olduğu gibi  if yapısının Java’daki kullanımı da son derce önemlidir.Bazen program içerisinde izleyeceğimiz yol dallanmalardan oluşabilir. Bu dallanmalar haliyle farklıdır.İşte bu farklı sonuçlara erişebilmek için if yapısı zorunlu olmaktadır.[3]
Java programlama dilinde kontrol ifadeleri-if yapısı
Şekil 1 If deyimi yapısı

Örnek 1-Dışarıdan girilen sayı 0 dan büyük ise girilen sayının karesini alan programı yazınız
Çözüm:

Algoritması:

1-Başla

2-Sayı gir(sayi)

3-Eğer sayi >0 ise kare=sayi^2

4-Yaz kare’yi

5-Dur

Java Programlama dilinde kodlaması:

import java.util.Scanner;

public class Egerr {   

    public static void main(String[] args) {

       Scanner tara=new Scanner(System.in);

       int sayi;

       double kare;

       System.out.println("Bir sayı giriniz");

       sayi=tara.nextInt();

       if (sayi>0){

       kare=sayi*sayi;

       }

       System.out.println(kare);

    }

}[1]

İf cümleciğini kodumuza uyguladığımızda sadece true  durumlar için değerler üretebiliriz. Ancak bazı şartlarda false durumlar için de değer üretmemiz gerekecektir. İf-else deyimi burada devreye girmektedir.[2]
Java programlama dilinde kontrol ifadeleri- çok seçimli if yapısı

Şekil 2 Çok seçimli if yapısı
Örnek 2-Dışardan girilen nota göre öğrencinin o dersten geçip geçmediğini ekranda gösteren programı yazınız.
Çözüm:
Algoritması:

1-Başla

2-notunuzu giriniz (not)

3-Eğer notunuz 50 den büyük veya eşitse yaz “Geçtiniz”

     Değilse Yaz ”Kaldınız”

4-Dur

Java Programlama dilinde kodlaması:

import java.util.Scanner;

public class not {

    public static void main(String[] args) {

        Scanner tara=new Scanner(System.in);

        int not;

        System.out.println("Notunuzu Giriniz");

            not=tara.nextInt();

            if(not>=50){

                System.out.println("Geçtiniz");

}

            else{

                System.out.println("Kaldınız");

            }}}

2-Switch Case Yapısı-Çok Seçimli Yapı

Verilen değişkenin değerlerine göre yapılacak farklı işlemlerin seçimlerinde kullanılır. Tam sayıları karşılaştırarak doğru koşulların elde edilmesini sağlar. Doble,Float gibi ondalıklı  veri tipleri veri kayıplarına neden olma ihtimali sebebiyle kullanılmaz. Bu yapıda char,byte ve long değişkenler java tarafından int dönüştürülmektedir. Değişkenlerin hangi aralıkta olduğu (a<5,b<=6 v.b.) incelenemez. Değişkenlere kesin değer atanır. Java switch deyimi ile başlayan cümlelerde sıra ile tüm case bloklarını tarar. Uygun bir case işlemi bulunduğunda çalıştırılır. Her koşuldan sonra break deyimi kullanılmalıdır. Aksi halde sağlanan koşuldan sonraki tüm koşullar java tarafından doğruluğu kontrol edilmeksizin çalıştırılır.(2)
Java programlama dilinde kontrol ifadeleri-switch/case yapısı

Şekil 3 Switch-Case deyimi yapısı
Örnek 3:100 lük sisteme göre girilen başarı notunu harfli sistemde gösteren programı yazınız.
Kriter:Girilen not 90 ve üzeri ise AA,80-90 arası ise BA,70-79 arası ise BB,60-69 arası ise CB,50-59 arası ise CC , 50 den aşağı ise FF şeklinde gösterilecek.
Çözüm:
Algoritması:

1-Başla

2-Başarı notunu giriniz (not)

3-Eğer notunuz 90 ve üzerinde ise “AA”

4-Değilse Eğer Notunuz 80  ile 89 arası ise “BA” yaz

5-Değilse Eğer Notunuz 70  ile 79 arası ise “BB” yaz

6-Değilse Eğer Notunuz 60  ile 69 arası ise “CB” yaz

7-Değilse Eğer Notunuz 50  ile 59 arası ise “CC” yaz

8-Değilse Eğer Notunuz 50  den küçük  ise “FF” yaz

9-Dur




Java  programlama dilinde kodlaması

import java.util.Scanner;

public class Basarinotu {

    public static void main(String[] args) {

       Scanner tara=new Scanner(System.in);

       int not;

       not=tara.nextInt();

       switch(not/10){

           case 10:

           case 9:

               System.out.println("AA");break;

           case 8:

               System.out.println("BA");break;

           case 7:

               System.out.println("BB");break;

           case 6:

               System.out.println("CB");break;

           case 5:

               System.out.println("CC");break;

           default:

               System.out.println("FF");break;               

       }

    }

}(1)

3-For döngüsü

Döngüler  gerçekten diller arasında en çok ihtiyaç duyulan komutlardır. Bir kodun belirli bir kere veya belirli bir şart gerçekleşene kadar işletilmesi gerekebilir. İşte bu tip durumlarda çözüm sadece döngü komutlarıyla gerçekleştirilebilir.Örneğin 30 öğrencisi olan bir sınıfta  öğrencilerin notlarını öğrenmek için 30 satırlık bir kod gerektirirken bunu döngü komutlarıyla tek satırda yapabilmekteyiz.(3)
For döngüsünde , blok içerisindeki kodların en az bir kere işlediği unutulmamalıdır. Ayrıca for döngüsünde döngünün kaç kere tekrarlanacağı bellidir ve bu değer adım değerini bir sayarsak, [bitiş değeri]-[başlangıç değeri] kadardır.(3)

Java programlama dilinde kontrol ifadeleri-for döngüsü

Şekil 4 For döngüsü deyimi yapısı
Örnek 4: 1’den 10’a kadar olan sayıları ekranda gösteren programı for döngüsü ile gerçekleştiriniz.
Çözüm:

public class For {  

    public static void main(String[] args) {

        for(int sayac=1;sayac<=10;sayac++){

            System.out.println(sayac+"\t");       

        }

    }

}(1)

4-While Dögüsü

İf cümleciğinde olduğu gibi koşul sağlandığında true döndürmelidir. Önerme daima doğru olmalıdır. Kod yada kod blokları koşul sağlandığı müddetçe tekrar tekrar çalıştırılır.(2)
Java programlama dilinde kontrol ifadeleri-while döngüsü

Şekil 5 While döngüsü Yapısı

Örnek 5: Rastgele seçilen iki sayının çarpımları tek olan iki sayıyı bulan java programını yazınız.
Çözüm:

import java.util.Random;

public class donguler {

    public static void main(String[] args) {

        int sayi1=0,sayi2=0;

        int carpim=0;

        Random uret= new Random();

        while(true){

        sayi1=uret.nextInt();

        sayi2=uret.nextInt();

        carpim=sayi1*sayi2;

        if(carpim%2!=0)break;

        }

        System.out.println("Dongü bitti..çarpım="+carpim);

    }

}(3)

Do-while Döngüsü

Bu yapı diğerlerinden farklı olarak koşulu döngü sonunda kontrol eder.Yani döngü tamamen kontrol edilene kadar kod bloğu en az bir kere çalıştırılmış olur. Koşul sağlanıyor-true dönüyor ise kod bloğu tekrar çalıştırılır.
Java programlama dilinde kontrol ifadeleri-do/while döngüsü

Şekil 6 Do-While döngüsü yapısı
Örnek 6: Dışarıdan girilen sayı sıfırdan farklı olduğu sürece o sayının karekökünü alan programı yazınız.

Çözüm:

import java.util.Scanner;

public class Karekos {

    public static void main(String[] args) {

        Scanner tara=new Scanner(System.in);

        int sayi;

        double karekok;

        System.out.println("Programdan çıkmak için 0 giriniz");

        do{

            System.out.println("Sayiyi Giriniz");

            sayi=tara.nextInt();

            karekok=Math.sqrt(sayi);

            System.out.println(karekok);

        }while(sayi!=0);

    }

}(1)

break Deyimi

break deyimi etiketli(labeled) ve etiketsiz (unlabeled) olmak üzere iki farklı şekilde kullanılabilir. Etiketsiz break deyimi, switch/case yapılarında nasıl kullanıldığını görmüştük. Etiketsiz break ifadesi ile koşul sağlandığında switch ifadesinin sonlanmasını sağlıyorduk. Break ifadesini aynı şekilde while,do-while ve for döngülerinden çıkmak için de kullanabiliriz.(1)
Etiketsiz break deyimi ile en içteki while,do-while,for döngüleri sonlandırılırken, etiketli break deyimi etiket hangi döngünün başına konulmuş ise o döngü sistemini sona erdirir.(1)

continue Deyimi

continue deyimi , döngü içerisinde o anki işlemin atlanmasını (göz ardı edilmesi) ve bir sonraki işlemlerden devam edilmesini sağlayan bir komuttur. Continue  deyimide  break deyimi gibi while,do-while ve for döngülerinde etiketli ve etiketsiz olarak kullanılabilir. Etiketsiz continue deyimi en içteki döngü içerisinde etiketsiz olarak kullanılabilir , etiketli continue deyimi ise başına konulduğu döngü yapısını etkiler.(1)

return Deyimi

Bir  fonksiyon veya metottan değer geri döndürür. Ayrıca programdan çıkış için de (void yöntemler için) kullanılabilir.(1)




KAYNAKLAR

1. Çobanoğlu ,B.(2008). Java ile programlama ve veri yapıları. 1.Baskı,Pusula yayıncılık
2. AKALIN,A. (2011).Kim korkar Java’dan. 1.Baskı, Pusula Yayıncılık
3. GERİŞ,K.(2008).Sun Java Eclips.,Palme Yayıncılık

4. Peköz ,N.(2004).Java,1.Baskı,Pusula Yayıncılık

Popüler Yayınlar