400 likes | 728 Views
EDUTIME Java Day 4. Serdar TÜRKEL. İçerik. Kontrol deyimleri ve döngüler Java’da prosedürsel kod yazımı. Algoritma. Algorit ma 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ü
E N D
EDUTIMEJava Day 4 Serdar TÜRKEL
İçerik • Kontrol deyimleri ve döngüler • Java’da prosedürsel kod yazımı
Algoritma • Algoritma • 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 • 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çimliyapılar • Döngüsel yapılar • Akış diagramı • İş akışını modeller • İşi tanımlayan semboller • İş sırasını gösteren oklar
Java karşılığı:toplam = toplam + not; Sayacı 1 artır Notu toplama ekle Java karşılığı:sayac = sayac + 1; Sıralı akış Diyagramı
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.
[not >= 60] [not < 60] print “Geçti” İf deyimi
İ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çeif…elseifadeleri
[not < 60] [not >= 60] print “Geçti” print “Kaldı” İf…else deyimi
İf…else deyimi if(kosul) { islem1 deyim1 } Else{ islem1 deyim1 }
İ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"); } } }
print “a eşit b” print “a küçük b” print “a büyük b” İf…else if…else deyimi [a<b] [a=b] [a>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 { action2 deyim2 }
İç 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.
[true] case a case a action(s) [false] [false] [false] [true] caseb case b action(s) . . . [true] casez case z action(s) default action(s) break break break Swicth-case deyimi
Swicth-case deyimi • Sözdizimi switch (deyim) { case ‘deger1': olay1 deyim(ler); break; case ‘deger2': olay 2 deyim(ler); break; : : case ‘degerN': olay N deyim(ler); break; default: default olaydeyim(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"); break; case 2: System.out.println("Sali"); break; case 3: System.out.println("Carsamba"); break; case 4: System.out.println("Persembe"); break; case 5: System.out.println("Cuma"); break; case 6: System.out.println("Cumartesi"); break; default: System.out.println("Gecersiz gun"); } } }
break ve continue deyimleri • break/continue • Programın akış sırasını değiştirir. • breakdeyimi • Kontrol yapısından çıkışı sağlar. • while, for, do…while or switchifadelerinde kullanılır • continuedeyimi • Döngünün başına döner. • while, for or do…whileifadelerinde kullanılır.
Etiketli break ve continue İfadeleri • Etiketliblok • {}arasındaki kodlar • Parantez öncesi blokğu adalandırıcı etiket • Etiketlibreakifadesi • İçinde bulunduğu bloktan çıkmasını sağlar. • Blok sonından çalışmaya devam eder. • Etiketlicontinueifadesi • 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.
birleşim karar [ürün <= 1000] Ürün değerinin 2 katını al [ürün > 1000] Java karşılığı:ürün = 2 * ürün; While döngüsü
While döngüsü • Sözdizimi while(kosul) { olaydeyimler; : : }
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.
Blok kodları [true] şart [false] Do…while döngüsü
Do…while döngüsü • Sözdizimi do { olaydeyimler; : : }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
foranahtar kelime Kontrol değişkeni Noktalı virgül ile ayrım Kontrol değişkenin son değeri Noktalı virgül ie ayrım for ( int counter = 1; counter <= 10; counter++ ) Kontrol değişkenin ilk değeri Döngünün şartı Kontrol değişkenin bir artımı For döngüsü
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(""); } } }
Sıralı Seçimli if statement (single selection) switch statement (multiple selection) [t] [t] break [f] [f] [t] break if else statement (double selection) . . . [f] [t] [t] break [f] default Tekrarlı do while statement while statement for statement [t] [t] [f] [t] [f] [f] Özet