Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Kontrol İfadeleri : 2.Kısım İçerik Bir Kontrollü Döngü İfadesinde Olması Gerekenler for Döngü Deyimleri for Döngü Deyimi ile alakalı Örnekler do…while.

Benzer bir sunumlar


... konulu sunumlar: "Kontrol İfadeleri : 2.Kısım İçerik Bir Kontrollü Döngü İfadesinde Olması Gerekenler for Döngü Deyimleri for Döngü Deyimi ile alakalı Örnekler do…while."— Sunum transkripti:

1 Kontrol İfadeleri : 2.Kısım İçerik Bir Kontrollü Döngü İfadesinde Olması Gerekenler for Döngü Deyimleri for Döngü Deyimi ile alakalı Örnekler do…while Döngü Deyimi switch Çok Seçmeli Komut break ve continue Komutları Etiketli break ve continue Komutları Mantıksal Operatörler Yapısal Programlama Özeti

2 Bir Kontrollü Döngü İfadesinde Olması Gerekenler •Sayaç-kontrollü döngü : –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 tespiti

3 for Döngü Komutu for deyiminin ayrıntılı anlatımı. 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

4 for Döngü Yapısı for ( ilk değer verme ; döngü şartı ; artış ) { komutlar ; } Aynı ifade aşağıdaki gibi de yazılabilir: İlk değer verme ; while ( döngü şartı ) { komutlar ; artış ; }

5 for İfadeleri için Örnekler •for deyiminde kontrol değişkenin değişimi –Kontrol değişkenini 1’den başlatıp 100 ‘e varıncaya kadar 1 artışla ilerletecek for deyimi •for ( int i = 1; i <= 100; i++ ) –Kontrol değişkenini 100’den başlatıp 1‘e varıncaya kadar 1’er 1’er azaltıp ilerletecek for deyimi •for ( int i = 100; i >= 1; i-- ) –Kontrol değişkenini 7’den başlatıp 7’şer artışla 77 kadar ilerleyecek for deyimi •for ( int i = 7; i <= 77; i += 7 )

6 1 // Toplam.java 2 // 1’den 100’e kadar çift sayıların toplamı. 3 import javax.swing.JOptionPane; 4 5 public class Toplam { 6 7 public static void main( String args[] ) 8 { 9 int toplam = 0; // ilk değer verme 10 11 // 2 den 100’e kadar çift sayıların toplamı 12 for ( int sayi = 2; sayi <= 100; sayi += 2 ) 13 toplam += sayi; 14 15 // display results 16 JOptionPane.showMessageDialog( null, “Toplam " + toplam, 17 “2-100 arasındaki çift sayıların toplamı", 18 JOptionPane.INFORMATION_MESSAGE ); 19 20 System.exit( 0 ); // uygulamayı bitir 21 22 } // end main 23 24 } // end class Her for adımında numberı 2 arttır

7 1 // 2 // katlanarak artan faizi hesapla. 3 import java.text.NumberFormat; // sayısal format için gerekli class 4 import java.util.Locale; // bölgesel bilgiler için gerekli class 5 6 import javax.swing.JOptionPane; 7 import javax.swing.JTextArea; // metin alanı oluşturmak için 8 9 public class faizHesapla { 10 11 public static void main( String args[] ) 12 { 13 double tutar; // faiz getirisi+ anapara 14 double anapara = 1000.0; // anapara 15 double oran = 0.05; // faiz oranı 16 17 // create NumberFormat for currency in US dollar format 18 NumberFormat moneyFormat = NumberFormat.getCurrencyInstance( Locale.US ); 19 20 21 // çıktıyı göstermek için JTextArea nesnesi tanımla 22 JTextArea outputTextArea = new JTextArea(); 23 24 // text area ya ilk satırı set et. 25 outputTextArea.setText( "Yıl\t hesaptaki tutar\n" ); 26

8 27 // 10 yıl için her yıla ait miktarı hesapla 28 for ( int yil = 1; yil <= 10; yil++ ) 29 { 30 // yıl için miktarı hesapla 31 tutar = anapara * Math.pow( 1.0 + oran, yil ); 32 33 // outputTextArea nesnesine yeni bir satır ekle 34 outputTextArea.append( y il + "\t" + 35 moneyFormat.format( tutar ) + "\n" ); 36 37 } // end for 38 39 // sonucu göster 40 JOptionPane.showMessageDialog( null, outputTextArea, 41 “bileşik faiz hesabı", JOptionPane.INFORMATION_MESSAGE ); 42 43 System.exit( 0 ); 44 45 } // end main 46 47 } // end class Append=eklemek

9 do…while Döngü İfadesi •do…while yapısı –while komutuna benzer. –Bu döngü yapısında döngü içindeki blok en az bir defa çalışır. –do…while akış diyagramı. Blok kodları [true] [false] şart

10 switch Çok-Şeçmeli Yapılar •switch deyimi –Çok seçmeli zamanlar için kullanılır break komutu ile switch akış diyagramı. case a action(s) break default action(s) [ true ] case b action(s) break case z action(s) break...... [ false ] case a [ true ] case b case z [ false ]

11 1 // SwitchTest.java 2 // kullanıcı seçimli doğru,dörtgen ve oval çizdirme. 3 import java.awt.Graphics; 4 5 import javax.swing.*; 6 7 public class SwitchTest extends JApplet { 8 int secim; // kullanıcının şekil seçimi 9 10 // kullanıcı seçimini sorma ile apleti başlat 11 public void init() 12 { 13 String input; // kullanıcıdan alınacak değer 14 15 // kullanıcıya seçimini sor 16 input = JOptionPane.showInputDialog( 17 “doğru için 1\n" + 18 “dörtgen için 2\n" + 19 “oval için 3 giriniz\n" ); 20 21 secim = Integer.parseInt( input ); // string girişini int e çevir 22 23 } // end method init 24 25 // aplet üzerine şekilleri çiz 26 public void paint( Graphics g ) 27 { 28 super.paint( g ); // JApplet içerisinden paint metodunu çağır 29 30 for ( int i = 0; i < 10; i++ ) // 10 kez çalıştır 31 {

12 32 switch ( secim ) // hangi şekli çizeceğine karar ver 33 { 34 case 1: // doğru çiz 35 g.drawLine( 10, 10, 250, 10 + i * 10 ); 36 break; // işlemi bitir 37 38 case 2: // dörtgen çiz 39 g.drawRect( 10 + i * 10, 10 + i * 10, 40 50 + i * 10, 50 + i * 10 ); 41 break; // işlemi bitir 42 43 case 3: // oval çiz 44 g.drawOval( 10 + i * 10, 10 + i * 10, 45 50 + i * 10, 50 + i * 10 ); 46 break; // işlemi bitir 47 48 default: // kullanıcı yanlış değer girdi 49 g.drawString( “yanlış seçim", 50 10, 20 + i * 15 ); 51 52 } // end switch 53 54 } // end for 55 56 } // end method paint 57 58 } // end class SwitchTest

13 SwitchTest.java

14

15 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.

16 1 // BreakTest.java 2 // break deyimi ile dongüyü sonlandırma 3 import javax.swing.JOptionPane; 4 5 public class BreakTest { 6 7 public static void main( String args[] ) 8 { 9 String output = ""; 10 int count; 11 12 for ( count = 1; count <= 10; count++ ) { // dongu sayısı 10 13 14 if ( count == 5 ) // sayac 5 ise dögüyü sonlandır 15 break; 16 17 output += count + " "; 18 19 } // end for 20 21 output += "\n sayaç " + count+ ” olduğunda dongu sonlandırıldı”; 22 JOptionPane.showMessageDialog( null, output ); 23 24 System.exit( 0 ); // uygulamayı sonlandır 25 26 } // end main 27 28 } // end class

17 1 // ContinueTest.java 2 // continue deyimi ile bir sonraki adıma geçme(dongu içinde). 3 import javax.swing.JOptionPane; 4 5 public class ContinueTest { 6 7 public static void main( String args[] ) 8 { 9 String output = ""; 10 11 for ( int count = 1; count <= 10; count++ ) { // 10 sefer işle 12 13 if ( count == 5 ) // sayaç 5 olduğunda dongudeki kodu 14 continue; 15 16 output += count + " "; 17 18 } // end for 19 20 output += "\n continue deyimi ile 5 sayısı atlandı"; 21 JOptionPane.showMessageDialog( null, output ); 22 23 System.exit( 0 ); 24 25 } // end main 26 27 } // end class ContinueTest Sayaç 5 olduğunda 16. satırı atla ve dongu başına 11. satıra dön

18 Etiketli break ve continue İfadeleri •Etiketli blok – {} arasındaki kodlar –Parantez öncesi bloğu adlandırıcı etiket •Etiketli break ifadesi –İçinde bulunduğu bloktan çıkmasını sağlar. –Blok sonundan çalışmaya devam eder. •Etiketli continue ifadesi –Blok içindeki kodları atlar –Etiketin başına gelerek programa devam eder.

19 1 // BreakLabelTest.java 2 // Labeled break statement. 3 import javax.swing.JOptionPane; 4 5 public class BreakLabelTest { 6 7 public static void main( String args[] ) 8 { 9 String output = ""; 10 11 stop: { // labeled block 12 13 // count 10 rows 14 for ( int row = 1; row <= 10; row++ ) { 15 16 // count 5 columns 17 for ( int column = 1; column <= 5 ; column++ ) { 18 19 if ( row == 5 ) // row 5 ise stop bloğundan çık 20 break stop; 21 22 output += "* "; 23 24 } // end inner for 25 26 output += "\n"; 27 28 } // end outer for 29 10 satır yazar Stop etiketlenmiş blok Exit to line 35 (next slide) İçteki dongu 5 sütün yazar

20 30 // following line is skipped 31 output += "\nLoops terminated normally"; 32 33 } // end labeled block 34 35 JOptionPane.showMessageDialog( null, output, 36 "Testing break with a label", 37 JOptionPane.INFORMATION_MESSAGE ); 38 39 System.exit( 0 ); // terminate application 40 41 } // end main 42 43 } // end class BreakLabelTest

21 1 // Fig. 5.14: ContinueLabelTest.java 2 // Labeled continue statement. 3 import javax.swing.JOptionPane; 4 5 public class ContinueLabelTest { 6 7 public static void main( String args[] ) 8 { 9 String output = ""; 10 11 nextRow: // target label of continue statement 12 13 // count 5 rows 14 for ( int row = 1; row <= 5; row++ ) { 15 output += "\n"; 16 17 // her satır için 10 kolon 18 for ( int column = 1; column <= 10; column++ ) { 19 20 // eğer colon > satır ise bir sonraki satıra geç 21 if ( column > row ) 22 continue nextRow; // bir sonraki adıma atla 23 24 output += "* "; 25 26 } // end inner for 27 28 } // end outer for nextRow etiketlenmiş blokLoop 5 timesNested loop 10 times continue to line 11 ( nextRow )

22 ContinueLabelTe st.java 29 30 JOptionPane.showMessageDialog( null, output, 31 "Testing continue with a label", 32 JOptionPane.INFORMATION_MESSAGE ); 33 34 System.exit( 0 ); // terminate application 35 36 } // end main 37 38 } // end class ContinueLabelTest

23 Mantısal Operatörler •Mantıksal operatörler –Daha karışık şartlar oluşturmak amaçlı –Basit şartları birleştirmek amaçlı kullanılır. •Java mantıksal operatörler –&& (koşul AND) –& (mantıksal AND) –|| (koşul OR) –| (mantıksal OR) –^ (dışlayan OR) –! (mantıksal NOT)

24

25

26 Yapısal Programlama (Özet) •Sıralı Yapılar – Java daki yerleşik ifadeler •Seçimli Yapılar –if, if…else ve switch •Tekrarlana Yapılar –while, do…while ve for


"Kontrol İfadeleri : 2.Kısım İçerik Bir Kontrollü Döngü İfadesinde Olması Gerekenler for Döngü Deyimleri for Döngü Deyimi ile alakalı Örnekler do…while." indir ppt

Benzer bir sunumlar


Google Reklamları