MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 7: Döngüler (Devam) Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/Ders.aspx?dersId=101 1 FOR DÖNGÜSÜ • For tekrarlama yapısı genellikle sayıları belli bir düzen içinde arttırmak için kullanılır. • Genel yapısı aşağıda gösterilmiştir. Programlamadaki sayı saydırmaya dönük uygulamalarda en fazla kullanılan yapıdır. for döngü yapısı for(baslangıç değerleri ; boolean değişken veya sabiti ; tekrarlama değişkeni artışı) { boolean değişken veya sabiti true (doğru) olduğunda yapılan işlemler } 2 For Döngüsü Akış Şeması evet Boolean ifade doğru mu? hayır 4-3 İlgili kod satır(ları) ifadeyi güncelle For döngüsü örneği-1 import javax.swing.*; public class for1 { public static void main(String[] args) { String s=""; for(int saydirici=1;saydirici <= 10; saydirici++) { s=s+saydirici+" "; } JOptionPane.showMessageDialog(null,s,"for yapısı",JOptionPane.PLAIN_MESSAGE); } } 4 5 For döngüsü örneği-2 import javax.swing.*; public class for2 { public static void main(String args[]) { double toplam=0; double ortalama; int saydirici; for(saydirici=1;saydirici <= 10; saydirici++) { toplam+=saydirici; } ortalama=toplam/10; String s="toplam = "+toplam+" ortalama = "+ortalama; JOptionPane.showMessageDialog(null,s,"for yapısı",JOptionPane.PLAIN_MESSAGE); } } 6 7 For döngüsü örneği-3 import javax.swing.*; public class for3 { public static void main( String args[] ) { int yildizsayisi,sayac1,sayac2; yildizsayisi=Integer.parseInt(JOptionPane.showInputDialog("Sayı giriniz: ")); String yildiz="*"; String bosluk=" "; String satirsonu="\n"; String ifade=""; for(sayac1=0;sayac1<yildizsayisi;sayac1++){ for(sayac2=0;sayac2<yildizsayisi;sayac2++){ if (sayac1==sayac2) ifade=ifade+yildiz; else ifade=ifade+bosluk; } ifade=ifade+satirsonu; } JOptionPane.showMessageDialog(null,ifade,"yıldız çizimi",JOptionPane.PLAIN_MESSAGE); }} 8 9 For döngüsü örneği-4 (pi sayısının hesaplanması) import javax.swing.*; public class for4 { public static void main( String args[] ){ //pi = 4 - 4/3 + 4/5 -4/7+4/9-4/11+...+ String s; int i; double islem; double pi=0; int artieksi=-1; for(i=1;i < 100000;i++){ artieksi*=-1; islem=4/(2.0*i-1.0); islem=islem*artieksi; pi=pi+islem; } s="pi = "+pi; JOptionPane.showMessageDialog(null,s,"pi sayısı hesabı",JOptionPane.PLAIN_MESSAGE); } } 10 11 For döngüsü örneği-5 (faktoriyel değerinin hesaplanması) import javax.swing.*; public class for5{ public static void main( String args[] ){ String s; long factorial=1; int number=Integer.parseInt(JOptionPane.showInputDialog("Enter a number: ")); for(int i=1;i <=number;i++){ factorial=factorial*i; } s=""+number+"! = "+factorial; JOptionPane.showMessageDialog(null,s,"faktoriyel hesabı",JOptionPane.PLAIN_MESSAGE); } } 12 13 KAYNAKÇA 1. Turhan Çoban, Java Bilgisayar Diliyle Programlama. 2. Starting Out with Java 5th Edition (Tony Gaddis): From Control Structures through Objects 14