EDUTIME Java Day 4 Serdar TÜRKEL
İçerik Kontrol deyimleri ve döngüler Java’da prosedürsel kod yazımı
Algoritma Algoritma Program kontrolü Belli bir sırada takip edilen işler İşler gerçekleştirilir. Sıra, hangi işin gerçekleştireceğini tespit eder. Program kontrolü Kontrol ifadeleri bu sıranın oluşumuna yardım eder.
Kontrol ifadeleri Sıralı çalışma Kontrolün transferi Akış diagramı Program kodları baştan başlayıp satır satır çalışır. Kontrolün transferi 3 tip kontrol ifadesi bu kodlar arasında transfer sağlar. Sıralı yapılar Seçimli yapılar Döngüsel yapılar Akış diagramı İş akışını modeller İşi tanımlayan semboller İş sırasını gösteren oklar
Sıralı akış Diyagramı Java karşılığı: toplam = toplam + not; Notu toplama ekle Sayacı 1 artır Java karşılığı: toplam = toplam + not; Java karşılığı: sayac = sayac + 1;
Java’da Kontrol İfadeleri Java sıralı akışa sahiptir. Java 3 farklı seçim komutu sağlar. if If…else İf else if İç içe if switch Java 3 farklı döngü komutu sağlar. while do…while İç içe for Bu komutların herbiri ayrılmış kelimelerdir.
İf deyimi Tek-giriş/tek-çıkış kontrol ifadeleri Şart doğru (true) olduğu zaman komut çalışır. İf(koşul) { işlem deyimleri } Koşul burada true yada false olabilir.
İf deyimi [not >= 60] [not < 60] print “Geçti”
İf deyimi Class ifLoop{ public static void main(Strign args[]) { int num = 10; if(num==10) System.out.println(“Sayı 10’dur”); }
İf…else deyimi Şart doğru (true) olduğu zaman komut çalışır. Şart yanlış (false) olduğu zaman başka bir komut çalışır. Şart operatörü (?:) İçiçe if…else ifadeleri
İf…else deyimi [not >= 60] [not < 60] print “Kaldı” print “Geçti”
İf…else deyimi if(kosul) { islem1 deyim1 } Else{
İf…else deyimi class ifLoop{ public static void main(String args[]) { int num = 10; if((num%2)==0) System.out.println("10 çift sayidir"); } else{ System.out.println("10 tek sayidir");
İf…else if…else deyimi [a<b] [a=b] [a>b] print “a eşit b” print “a küçük b” print “a büyük b”
İf…else if…else deyimi class ifLoop{ public static void main(String args[]) { int num1,num2; num1=10; num2 = 20; if(num1>num2) System.out.println(num1 + " > " +num2); } else if(num1<num2){ System.out.println(num1 + " < " +num2); else { System.out.println(num1 + " = " +num2);
İç içe if deyimi İf(kosul1) { if(kosul2) action1 deyim1 } Else
İç içe if deyimi class ifLoop{ public static void main(String args[]) String ad = “Ahmet”; String soyAd = “Demirci”; if( ad = “Ahmet”) if( soyAd = “Demirci”) System.out.println(“Ahmet Demirciyi buldum”); } else { System.out.println(“Ahmet Demirciyi bulamadım”);
Swicth-case deyimi ‘switch-case’ deyimi ‘if-else’ deyimi yerine koyulabilir switch-case’ deyiminin kullanımı basit bir kod ve daha iyi bir performans sağlar.
Swicth-case deyimi case a action(s) break default action(s) [true] case b action(s) case z action(s) . [false] case a case b case z
Swicth-case deyimi Sözdizimi switch (deyim) { case ‘deger1': olay1 deyim(ler); break; case ‘deger2': olay 2 deyim(ler); : case ‘degerN': olay N deyim(ler); default: default olay deyim(ler); }
Swicth-case deyimi class ifLoop{ public static void main(String args[]) { int gun = 4; switch ( gun ) case 0: System.out.println("Pazar"); break; case 1: System.out.println("Pazartesi"); case 2: System.out.println("Sali"); case 3: System.out.println("Carsamba"); case 4: System.out.println("Persembe"); case 5: System.out.println("Cuma"); case 6: System.out.println("Cumartesi"); default: System.out.println("Gecersiz gun"); }
break ve continue deyimleri break/continue Programın akış sırasını değiştirir. break deyimi Kontrol yapısından çıkışı sağlar. while, for, do…while or switch ifadelerinde kullanılır continue deyimi Döngünün başına döner. while, for or do…while ifadelerinde kullanılır.
Etiketli break ve continue İfadeleri Etiketli blok {} arasındaki kodlar Parantez öncesi blokğu adalandırıcı etiket Etiketli break ifadesi İçinde bulunduğu bloktan çıkmasını sağlar. Blok sonından çalışmaya devam eder. Etiketli continue ifadesi Blok içindeki kodları atlar Etiketin başına gelerek programa devam eder.
Döngüler Tekrarlanan bir iş var ise döngüler kullanılır
While döngüsü ‘while’ döngüleri belirli bir koşul doğru iken çalışacağı zaman kullanılır Döngünün kaç defa çalıştırılacağı önceden belli değildir ama koşula bağlıdır Şart doğru (true) olduğu müddetçe dögüye ait komutları çalıştır.
Ürün değerinin 2 katını al While döngüsü [ürün <= 1000] [ürün > 1000] Ürün değerinin 2 katını al birleşim karar Java karşılığı: ürün = 2 * ürün;
While döngüsü Sözdizimi while(kosul) { olay deyimler; : }
While döngüsü class ifLoop{ public static void main(String args[]) { int a = 5, fact = 1; while ( a >= 1 ) fact *= a; a--; } System.out.println("The factorial of 5 is " + fact);
Do…while döngüsü ‘while’ döngüsü gibi belirtilmiş bir koşul False olana kadar deyimleri çalıştırır. Bu döngüler, belirtilen koşul False olsa bile en az bir kere ‘do-while’ döngüsünün çalışması dışında, ‘while’ döngülerin benzeridir.
Do…while döngüsü Blok kodları [true] [false] şart
Do…while döngüsü Sözdizimi do { olay deyimler; : } while(kosul);
Do…while döngüsü class ifLoop{ public static void main(String args[]) int a = 1, sum = 0; do sum += a; a++; }while (a <= 100); System.out.println("Sum of 1 to 100 numbers is " + sum); }
For döngüsü Tüm döngülerin ortak özellikleri vardır: Döngü başlamadan önce başlangıç değeri verilen bir sayaç değişkeni Sayaç değişkenini test eden bir koşul Sayaç değişkeninin değerini değiştirien bir deyim ‘for’ döngüsü bu özellikleri sıkışmış bir şekilde barındıran bir düzen sunar
For döngüsü Kontrol değişkeni (döngü sayacı) Kontrol değişkenine ilk değer verme Her dönüşte kontrol değişkenini artırma/azaltma Kontrol değişkeninin son değere ulaşıp ulaşmadığını döngüdeki şart ile tesbiti
for ( int counter = 1; counter <= 10; counter++ ) For döngüsü for ( int counter = 1; counter <= 10; counter++ ) Kontrol değişkenin bir artımı Kontrol değişkeni Kontrol değişkenin son değeri for anahtar kelime Döngünün şartı Kontrol değişkenin ilk değeri Noktalı virgül ile ayrım Noktalı virgül ie ayrım
For döngüsü Sözdizimi for(deger atama deymimleri; kosul; artırma deyimleri) { olay deyimler; : }
For döngüsü class ifLoop{ public static void main(String args[]) { int i = 1 , sum = 0 ; for(i = 1, sum=0; i <=10; i+=2 ) sum+=i; } System.out.println("Sum of first five odd numbers is " + sum)
İç içe for döngüsü Söz dizimi for(deger atama deymimleri; kosul; artırma deyimleri) { for(deger atama deymimleri; kosul; artırma deyimleri) olay deyimler; : }
İç içe for döngüsü * ** *** **** class ifLoop{ public static void main(String args[]) { int i = 1 , j = 0 ; for(i = 1; i <=5; i++ ) for(j = 1; i <=5; i++ ){ System.out.print("*"); } System.out.println("");
Özet [t] [f] Tekrarlı while statement do while statement for statement break Tekrarlı while statement do while statement for statement Seçimli Sıralı if else statement (double selection) if statement (single selection) switch statement (multiple selection) . default