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 // 2 den 100’e kadar çift sayıların toplamı 12 for ( int sayi = 2; sayi <= 100; sayi += 2 ) 13 toplam += sayi; // display results 16 JOptionPane.showMessageDialog( null, “Toplam " + toplam, 17 “2-100 arasındaki çift sayıların toplamı", 18 JOptionPane.INFORMATION_MESSAGE ); System.exit( 0 ); // uygulamayı bitir } // end main } // 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 { public static void main( String args[] ) 12 { 13 double tutar; // faiz getirisi+ anapara 14 double anapara = ; // anapara 15 double oran = 0.05; // faiz oranı // create NumberFormat for currency in US dollar format 18 NumberFormat moneyFormat = NumberFormat.getCurrencyInstance( Locale.US ); // çıktıyı göstermek için JTextArea nesnesi tanımla 22 JTextArea outputTextArea = new JTextArea(); // 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( oran, yil ); // outputTextArea nesnesine yeni bir satır ekle 34 outputTextArea.append( y il + "\t" + 35 moneyFormat.format( tutar ) + "\n" ); } // end for // sonucu göster 40 JOptionPane.showMessageDialog( null, outputTextArea, 41 “bileşik faiz hesabı", JOptionPane.INFORMATION_MESSAGE ); System.exit( 0 ); } // end main } // 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 // 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" ); secim = Integer.parseInt( input ); // string girişini int e çevir } // end method init // aplet üzerine şekilleri çiz 26 public void paint( Graphics g ) 27 { 28 super.paint( g ); // JApplet içerisinden paint metodunu çağır 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 case 2: // dörtgen çiz 39 g.drawRect( 10 + i * 10, 10 + i * 10, i * 10, 50 + i * 10 ); 41 break; // işlemi bitir case 3: // oval çiz 44 g.drawOval( 10 + i * 10, 10 + i * 10, i * 10, 50 + i * 10 ); 46 break; // işlemi bitir default: // kullanıcı yanlış değer girdi 49 g.drawString( “yanlış seçim", 50 10, 20 + i * 15 ); } // end switch } // end for } // end method paint } // 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; for ( count = 1; count <= 10; count++ ) { // dongu sayısı if ( count == 5 ) // sayac 5 ise dögüyü sonlandır 15 break; output += count + " "; } // end for output += "\n sayaç " + count+ ” olduğunda dongu sonlandırıldı”; 22 JOptionPane.showMessageDialog( null, output ); System.exit( 0 ); // uygulamayı sonlandır } // end main } // 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 = ""; for ( int count = 1; count <= 10; count++ ) { // 10 sefer işle if ( count == 5 ) // sayaç 5 olduğunda dongudeki kodu 14 continue; output += count + " "; } // end for output += "\n continue deyimi ile 5 sayısı atlandı"; 21 JOptionPane.showMessageDialog( null, output ); System.exit( 0 ); } // end main } // 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 = ""; stop: { // labeled block // count 10 rows 14 for ( int row = 1; row <= 10; row++ ) { // count 5 columns 17 for ( int column = 1; column <= 5 ; column++ ) { if ( row == 5 ) // row 5 ise stop bloğundan çık 20 break stop; output += "* "; } // end inner for output += "\n"; } // end outer for 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"; } // end labeled block JOptionPane.showMessageDialog( null, output, 36 "Testing break with a label", 37 JOptionPane.INFORMATION_MESSAGE ); System.exit( 0 ); // terminate application } // end main } // 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 = ""; nextRow: // target label of continue statement // count 5 rows 14 for ( int row = 1; row <= 5; row++ ) { 15 output += "\n"; // her satır için 10 kolon 18 for ( int column = 1; column <= 10; column++ ) { // eğer colon > satır ise bir sonraki satıra geç 21 if ( column > row ) 22 continue nextRow; // bir sonraki adıma atla output += "* "; } // end inner for } // end outer for nextRow etiketlenmiş blokLoop 5 timesNested loop 10 times continue to line 11 ( nextRow )

22 ContinueLabelTe st.java JOptionPane.showMessageDialog( null, output, 31 "Testing continue with a label", 32 JOptionPane.INFORMATION_MESSAGE ); System.exit( 0 ); // terminate application } // end main } // 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ı