Nesne Yönelimli Programlama

Benzer belgeler
BİL-141 Bilgisayar Programlama I (Java)

BİL-141 Bilgisayar Programlama I (Java)

Karşılaştırma İşlemleri ve Koşullu İfadeler

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

Ders - 7 while döngüsü

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

M.ilkucar MAKU MYO 1

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

Java da İşleçler, Ders #3 (4 Kasım 2009)

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Temel Veri Türü İşlemleri

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA

8- PROGRAM YAPISAL KOMUTLARI ve. M.ilkucar MAKU MYO 1

BİL-141 Bilgisayar Programlama I (Java)

MAT213 Bilgisayar Programlama I

KONTROL YAPILARI JAVADA UC TURLU KONTROL YAPISI VARDIR BUNLAR İF ELSE İF ELSE İF SWİTCH YAPILARIDIR. IF ELSE YAPISI if (deger) { }else {

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

Nesne Yönelimli Programlama

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

KARAR YAPILARI. Acaba hangi yöne gitmeliyim? Oturduğun yerden kalkıp, kapıya varana kadar kaç kez karar verdiniz biliyor musunuz?

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

BİL-141 Bilgisayar Programlama I (Java)

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 6. UYGULAMA

3.Hafta. . Kontrol Deyimleri/İfadeler

Soru 1: Fahrenheit cinsinden verilen sıcaklığı Kelvin'e çeviren bir program yazınız. Aşağıdaki dönüşüm formülünü kullanabilirsiniz:

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 9. UYGULAMA

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

Örnek 1: Programı yazın ve çalıştırın.

D İ Z İ L E R A R R A Y S

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

DÖNGÜLER BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA DENEY-4 FÖYÜ GİRİŞ LABORATUARI.

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

EMT2226 Nesne Yönelimli Programlamaya Giriş

Nesne Yönelimli Programlama

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

C# Çalışma Örnekleri

JAVA DEĞİŞKEN VE OPERATÖRLER. M.İLKUÇAR - 1

BİL-142 Bilgisayar Programlama II

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

İLKEL VERİ TİPLERİ, STRINGLER VE KONSOL G/Ç

JAVADA DİZİ İŞLEMLERİ

ALGORİTMA VE PROGRAMLAMA I

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Programlama Dili Prensipleri. Lab Notları 4

BASİT VERİ TÜRLERİ, STRİNGLER, VE KONSOL GİRİŞ/ÇIKIŞ

Java da Program Denetimi ve Operatörler. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

BİL-141 Bilgisayar Programlama I (Java)

PROGRAMLAMA DİLLERİ I

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

HSancak Nesne Tabanlı Programlama I Ders Notları

String (Dizgi) İşlemleri

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.

BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü

BMT 101 Algoritma ve Programlama I 7. Hafta. Yük. Müh. Köksal Gündoğdu 1

Hafta 9 C Dilinde Kontrol ve Döngü Yapıları

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 5. UYGULAMA ERKEKLER İÇİN (BOY-108) BAYANLAR İÇİN (BOY-112)

BİL-141 Bilgisayar Programlama I (Java)

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü

Akış Kontrol Mekanizmaları

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

Bölüm 2 - C ile Programlamaya Giriş

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Python Programlama Dili

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 4. UYGULAMA

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız.

Belirli bir iş bir çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü deyimleriyle istenildiği kadar tekrar tekrar çalıştırılabilir.

HSancak Nesne Tabanlı Programlama I Ders Notları

Döngüler - Loops 4/13/2011. ENF-102 Jeoloji Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

Programlama Dillerinde Kullanılan Veri Tipleri

Java da Program Denetimi ve Operatörler

Döngüler - Loops 4/9/2010. ENF-102 Jeoloji Giriş. Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Programlama Dilleri 1. Ders 4: Diziler

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

Nesne Tabanlı Programlama

Java String İşlemleri

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

Bölüm 4 C de Program Kontrolü

BİLGİSAYAR PROGRAMLAMA DERSİ

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları

Transkript:

Nesne Yönelimli Programlama Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu, M. Özbayoğlu, M. Erten, O. Ergin kitabı kullanılarak hazırlanmıştır.

Konular Karar Verme Yapısı Karşılaştırma İşlemleri Mantık İşlemleri Döngüler

Karar Verme Yapısı Karar verme yapısı alternatif komutları çalıştırmak için kullanılır. Akış denetimi komutları belli koşullar sağlandığı sürece aynı komutları tekrarlı çalıştırabilirler. Alternatif komutların seçilmesinde de tekrarlı işlemlerde de karar verme yapıları kullanılır. Bir koşula göre iki veya daha fazla seçenek arasında karar vermek için if, if-else ya da switch komutları kullanılır. 3

Akış Kontrol Yapıları Karşılaştırma : if-else, switch-case Dallanma : break, continue, return Döngü : while, do-while, for 4

if-else Giriş if komutu bir koşula göre belirli bir grup komutun çalışıp çalışmayacağına karar verir. if (koşul) deyim; Yukarıdaki yazımda koşul doğruysa deyim çalışır yanlışsa çalışmaz. koşul kısmında boolean bir değişken olabileceği gibi bir karşılaştırma da olabilir. koşul kısmının sonuç değeri true veya false olur. 5

Giriş if-else devam if (1 == 1) x = 5; Örnekte (1 == 1) karşılaştırması true sonuç vereceği için x = 5; çalışır ve x in değeri 5 olur. if (x > y) z = sayi / 3; Yukarıdaki örnekte x > y koşulu doğruysa true değeri üretir ve z = sayi / 3; deyimi çalışır. Karşılaştırma yapılırken == kullanılır atama yapılırken = kullanılır. 6

Giriş if-else devam //if komutu için kisa bir örnek public class KisaIfOrnegi public static void main(string [] args) String ileti = Bilgisayar kullanmak verimliligi arttirir ; int uzunluk = ileti.length(); //Dizgilerin uzunluğunu bulmak için length() metodu kullanılır. if (uzunluk < 50) System.out.println( bu kisa bir cumle ); Çıktı: bu kisa bir cumle 7

Giriş if-else devam Eğer if komutu birden fazla deyimi ilgilendiriyorsa bu deyimler parantez içine alınmalıdır. if (koşul) deyim1; deyim2; Parantez kullanılmazsa sadece if komutundan sonraki ilk deyim çalıştırılır. 8

Giriş if-else devam //if blogunun içinde birden fazla komut var. public class UzunIfOrnegi public static void main(string [] args) String ileti= Bilgisayar kullanmak verimliligi arttirir ; int uzunluk = ileti.length(); if (uzunluk < 50) System.out.println( bu kisa bir cumle ); System.out.println( 50 harften uzun olmasi gerekir ); Çıktı: bu kisa bir cumle 50 harften uzun olmasi gerekir 9

Giriş if-else devam Eğer if komutu ile iki grup deyimden birisi seçilerek çalıştırılacaksa if-else yapısı kullanılır. if (koşul) else deyim1; deyim2; Yukarıdaki örnekte koşul doğruysa deyim1 yanlışsa deyim2 çalıştırılır. deyim1 ve/veya deyim2 birden fazla ise parantez içine alınmalıdırlar. 10

Giriş if-else devam //if-else komutu için kisa bir örnek public class IfElseOrnegi public static void main(string [] args) String ileti = Bilgisayar verimliligi arttirir ; int uzunluk = ileti.length(); if (uzunluk < 20) System.out.println( bu kisa bir cumle ); System.out.print( 50 harften uzun olsa ); System.out.println( uzun cumle olurdu ); else System.out.println( bu uzun bir cumle ); Çıktı: bu uzun bir cumle 11

Konular Karar Verme Yapısı Karşılaştırma İşlemleri Mantık İşlemleri Döngüler

Karşılaştırma İşlemleri if ve if-else yapılarında kullanılan koşul true veya false değerini veren mantıksal bir ifadedir. Koşul birkaç farklı değişkenden de oluşabilir. Matematiksel gösterim satisfiyati >= 225 cinsiyet!= E yas == 18 x + 2 * y > 0 Java gösterimi = ==!= <= >= < < > > 13

Karşılaştırma İşlemleri Aşağıda farklı kullanım örnekleri verilmiştir. a. if (satisfiyati >= 225) indirim = 0.25 * satisfiyati; b. if (cinsiyet!= E ) vergiorani = 0.20; cocukyardimi = 45; c. if (fiyat >= 300) yenifiyat = 0.85 * fiyat; else yenifiyat = 0.65 * fiyat; 14

Karşılaştırma İşlemleri Dizgilerin karşılaştırılması Java da iki temel sayısal veri türünün == ile karşılaştırılması yapılır. String türlerin karşılaştırılmasında.equals() veya.compareto() metotları kullanılır. String s1 = GAZI, s2 = GAZI ; if (s1.equals(s2)) System.out.println( dizgiler birbirine eşit ); 15

Karşılaştırma İşlemleri Dizgilerin karşılaştırılması - devam s1 = Merhaba ; s2 = MERHABA ; if (s1.equals(s2)) System.out.println( Dizgiler aynıdır. ); else System.out.println( Dizgiler farklıdır. ); if (s1.equalsignorecase(s2)) System.out.println( Dizgiler aynıdır. ); else System.out.println( Dizgiler farklıdır. ); Dizgileri karşılaştırmak için.compareto() metodu da kullanılabilir. s1.compareto(s2) < 0 s1.compareto(s2) == 0 s1.compareto(s2) > 0 // s1 s2 den öncedir (küçük) // s1 s2 yle aynıdır // s1 s2 den sonradır (büyük) 16

Konular Karar Verme Yapısı Karşılaştırma İşlemleri Mantık İşlemleri Döngüler

Mantık İşlemleri Bir cümle içinde birden fazla koşul yer alabilir. Bu durumda koşulların arasında mantıksal operatörler kullanılmalıdır. Java gösterimi && Mantıksal karşılığı VE (AND) VEYA (OR)! DEĞİL (NOT) (a) if ((subasinci > minimum) && (subasinci < maksimum)) System.out.println( Basinc normal. ); (b) if (yas >= 18 && yas <= 65) (c) if (!(fiyat > 100)) 18

Mantık İşlemleri /** * Ortalamalarin girilmesini isteyen bu kisa program, * ögrencilerin aldigi nota göre sinifi geçtiklerine, * kaldiklarina veya seref listesine girdiklerine karar veriyor. */ import java.util.*; public class DersGecme public static void main(string [] args) Scanner klavye = new Scanner(System.in); System.out.println( Ortalamanizi giriniz: ); float ortalama = klavye.nextfloat(); 19

Mantık İşlemleri if (ortalama > 4) System.out.println( Hatali ortalama! ); if (ortalama <= 2.0) System.out.println( Sinifta kaldiniz! ); if (ortalama >= 3.0) System.out.println( Seref listesine girdiniz! ); if ((ortalama > 2.0) && (ortalama < 3.0)) System.out.println( Sinifi gectiniz! ); Çıktı: Ortalamanizi giriniz: 2,5 Sinifi gectiniz!... Ortalamanizi giriniz: 3,4 Seref listesine girdiniz! 20

Mantık İşlemleri DeMorgan kuralları Mantıksal işlemlerin sadeleştirilmesinde kullanılırlar. (p Λ q) = p V q (p V q) = p Λ q Java da!(p && q) ifadesi (!p!q) olarak sadeleştirilebilir. if (yil == 2005 ay.equals( Ekim )) ---; else ---; ifadesi aşağıdaki gibi de yazılabilir: if (yil!= 2005 &&!ay.equals( Ekim )) ---; else ---; 21

Mantık İşlemleri İç içe if cümleleri Karşılaştırma ifadeleriyle birden fazla durumdan birisine karar vermek için iç içe if ifadeleri if-else kullanılır. if (koşul1) ---; else if (koşul2) ---; else if (koşul3) ---; else ---; 22

Mantık İşlemleri İç içe if cümleleri devam if (toplam >= 90.0) harfnotu = AA ; else if (toplam >= 85.0) harfnotu = BA ; else if (toplam >= 80.0) harfnotu = BB ; else if (toplam >= 75.0) harfnotu = CB ; else if (toplam >= 70.0) ---; else harfnotu = FF ; 23

Mantık İşlemleri İç içe if cümleleri devam if (yas >= 18.0) if (yas < 65) biletucreti = 6.5; else biletucreti = 4.5; else System.out.println( Gecersiz yas... ); 24

Mantık İşlemleri İç içe if cümleleri devam /** * Ortalamalarin girilmesini isteyen bu kisa program, ögrencilerin * aldigi nota göre sinifi geçtiklerine, kaldiklarina veya seref * listesine girdiklerine karar veriyor.bu kez iç içe if kullaniliyor. */ import java.util.*; public class DersGecmeOrnegi public static void main(string [] args) Scanner klavye = new Scanner(System.in); System.out.println( Ortalamanizi giriniz: ); float ortalama = klavye.nextfloat(); 25

Mantık İşlemleri İç içe if cümleleri devam if (ortalama > 4) System.out.println( Hatali ortalama! ); else if (ortalama < 2.0) System.out.println( Sinifta kaldiniz! ); else if (ortalama > 3.0) System.out.println( Seref listesine girdiniz! ); else System.out.println( Sinifi gectiniz! ); Çıktı: Ortalamanizi giriniz: 2,5 Sinifi gectiniz! Çıktı: Ortalamanizi giriniz: 6,0 Hatalı ortalama! 26

Mantık İşlemleri switch komutu Bir kaç tane koşul içeren durumlarda switch cümlesi kullanılabilir. if-else yapısında koşul olarak Boole kullanılırken, switch yapısı char, int, short, byte veya long türünde verileri kullanabilir. 27

Mantık İşlemleri switch komutu devam switch (denetim ifadesi) case Case Etiketi1: ---; ---; break; case Case Etiketi2: ---; ---; break; case Case Etiketi3: ---; ---; break; ---; ---; default: ---; ---; break; 28

Mantık İşlemleri switch komutu devam aritmetik işlem örneği // switch komutu kullanarak çarpma, bölme, toplama ve çıkarma // yapan bir program parçası - - - - - - - - - int secim; double x,y,toplam,fark,carpim,bolum; secim = klavye.nextint(); switch (secim) case 1: System.out.println( Toplama islemi icin: ); x = klavye.nextint(); y = klavye.nextint(); toplam = x + y; System.out.println( Sonuç = + + toplam); break; 29

Mantık İşlemleri switch komutu devam aritmetik işlem örneği case 2: System.out.println( Cikartma islemi icin: ); x = klavye.nextint(); y = klavye.nextint(); fark = x - y; System.out.println( Sonuç = + + fark); break; case 3: System.out.println( Çarpma islemi icin: ); x = klavye.nextint(); y = klavye.nextint(); carpim = x * y; System.out.println( Sonuç = + + carpim); break; 30

Mantık İşlemleri switch komutu devam aritmetik işlem örneği case 4: System.out.println( Bölme islemi icin: ); x = klavye.nextint(); y = klavye.nextint(); bolum = x / y; System.out.println( Sonuç = + + bolum); break; default: System.out.println( ÇIKIŞ... ); break; - - - - - - 31

Mantık İşlemleri switch komutu devam sınıf geçme örneği /** * Daha önce if else komutlari kullanarak yapilan örnek bu kez * switch komutlariyla yapilmistir. Girilen bir ortalama * ondalik sayisi, tam sayiya dönüstürülmekte ve elde edilen * 0-4 degerlerine göre ögrencinin durumu belirlenmektedir. */ import java.util.*; public class SwitchOrnegi public static void main(string [] args) Scanner klavye = new Scanner(System.in); System.out.println( Ortalamanizi giriniz: ); float ortalama = klavye.nextfloat(); if (ortalama > 4) System.out.println( Hatali ortalama! ); 32

Mantık İşlemleri switch komutu devam else int sonuc = (int) ortalama; switch (sonuc) case 0: case 1: Çıktı: Ortalamanizi giriniz: 3,5 Seref listesine girdiniz!... Ortalamanizi giriniz: 6,0 Hatali ortalama! System.out.println( Sinifta kaldiniz! ); break; case 3: case 4: System.out.println( Seref listesine girdiniz! ); break; default: System.out.println( Sinifi gectiniz! ); break; 33

Mantık İşlemleri Koşullu işleç Kuşullu işleç if-else ifadesinin farklı bir yazım şeklidir. if (a > b) c = a; else c = b; yerine aşağıdaki yazım kullanılabilir. c = (a > b)? a : b; 34

Mantık İşlemleri Koşullu işleç örnek Santigrad_Fahrenheit C = (5/9)*(F-32) ve F = (9/5)*C+32 eşitliklerini kullarak santigrad-fahrenheit çevirme örneği //Santigrati Fahrenhayt a dönüstüren bir program parçasi import java.util.*; public class Santigrad_Fahrenheit public static void main (String [] args) Scanner klavye = new Scanner(System.in); double s,f; char secim; System.out.print( Islemi seciniz: ); System.out.println( S->F icin S, F->S icin F giriniz ); secim = klavye.next().trim().charat(0); //charat()dizgide yer alan konum numaralı karakteri geri verir. // trim() Dizginin başındaki ve sonundaki boşlukları siler. 35

Mantık İşlemleri Koşullu işleç örnek Santigrad_Fahrenheit switch (secim) case S : case s : System.out.print ( Santigrad degeri: ); s = klavye.nextdouble (); f = 9.0 * s / 5.0 + 32.0 ; System.out.println( S = + s + F = + f); break; case F : case f : break; Çıktı: S->F icin S, F->S icin F giriniz s Santigrad degeri: 25 S=25.0 F=77.0 36

Mantık İşlemleri Math sınıfı Math sınıfı matematiksel işlemler için oluşturulmuştur. Metot Parametre Sonuç Math.pow(x,y) x,y: double double Math.abs(x) Math.max(x,y) Math.min(x,y) x: int, long, float, veya double x,y: int, long, float, veya double x,y: int, long, float, veya double Parametreyle aynı (mutlak değeri) Parametreyle aynı Parametreyle aynı Math.sqrt(x) x: double Double Math.round(x) x: float veya double int veya double (ondalık yuvarlama) Math.ceil(x) x: double Double (büyüğe yuv.) Math.floor(x) x: double Double (küçüğe yuv.) Math.pow(2,3) = 8.0, Math.min(2,3) = 2, Math.ceil(2.3) = 3 37

Konular Karar Verme Yapısı Karşılaştırma İşlemleri Mantık İşlemleri Döngüler

Döngüler while döngüsü Her döngüde, giriş koşulu, tekrar kısmı ve çıkış koşulu olur. while döngüsünde döngüye giriş koşulu ilk cümlede yer alır ve aynı zamanda çıkış koşulur. while (koşul) S1; S2; koşul true veya false değerine sahiptir ve true olduğu sürece döngü tekrarlanır. 39

Döngüler while döngüsü devam public class DonguYazdir public static void main(string [] args) int i = 1; while (i <= 10) System.out.println( i = + i); i++; Çıktı: i = 1 i = 2 i = 3 i = 4 i = 5 i = 6 i = 7 i = 8 i = 9 i = 10 40

Döngüler while döngüsü devam public class SonsuzDongu public static void main(string [] args) int i = 0; while (1 == 1) // Program sonsuz döngüye girer i++; 41

Döngüler while döngüsü devam örnek //while döngüsü kullanarak ortalama sicaklik listesinin okunmasi import java.util.*; public class ListeOkut public static void main(string [] args) Scanner klavye = new Scanner(System.in); int derece, kacgun = 0,toplam = 0; double ortalama; System.out.print( Gun ortalama sicakligini ); System.out.print( giriniz: ); derece = klavye.nextint(); while (derece!= -1) kacgun++; toplam += derece; System.out.print( Gun ortalama sicakligini ); System.out.print( giriniz: ); derece = klavye.nextint(); 42

Döngüler while döngüsü devam örnek if (kacgun!= 0) ortalama = (double)toplam / kacgun; System.out.print(kacGun + gun ortalamasi ); System.out.println( + ortalama); else System.out.println( Gecersiz gun sayisi... ); Çıktı: Gun ortalama sicakligini giriniz: 23 Gun ortalama sicakligini giriniz: 24 Gun ortalama sicakligini giriniz: 32 Gun ortalama sicakligini giriniz: 24 Gun ortalama sicakligini giriniz: -1 4 gun ortalaması 25.75 43

Döngüler while döngüsü devam sayılar toplamı örneği import java.util.*; public class Toplama public static void main(string [] args) Scanner klavye = new Scanner(System.in); int i = 0, n, toplam = 0; System.out.print( n sayisini giriniz: ); n = klavye.nextint(); while (i <= n) Çıktı: n sayisini giriniz: 4 toplam += i; 4 sayinin toplami = 10 i++; System.out.print(n + sayinin toplami= + toplam); 44

Döngüler while döngüsü devam asal sayı bulma // Asal sayılar, sadece kendisi ve 1 sayısına bölünebilen 1'den büyük pozitif tam sayılar biçiminde de tanımlanabilir. import java.util.*; public class AsalSayilar public static void main(string [] args) System.out.println("Bir sayi giriniz"); Scanner klavye = new Scanner(System.in); int sayi, sayac = 2; boolean bayrak = true; sayi = klavye.nextint(); while (bayrak && sayac <= (int) Math.sqrt(sayi)) if (sayi % sayac == 0) bayrak = 1 == 2; //1==2 false degeri verir else sayac++; if (bayrak) System.out.println(sayi + asaldir. ); else Çıktı: Bir sayi giriniz: 23 23 asaldir. Çıktı: Bir sayi giriniz: 4 4 asal degildir. 45

Döngüler do-while döngüsü Döngüye giriş koşulu yoktur ve döngüdeki komutlar en az bir kez çalışır. Döngüden çıkış koşulu döngünün sonunda yer alır. do - - -; - - -; while (koşul); koşul sağlandığı sürece döngüde kalır. 46

Döngüler do-while döngüsü devam örnek public class ESayisiLimit public static void main(string [] args) int n = 1; double eeski, eyeni, fark; eeski = Math.pow(1.0 + 1.0 / n, n); System.out.println( n= + n + icin + e= + eeski); do n++; eyeni = Math.pow(1.0 + 1.0 / n, n); fark = Math.abs(eYeni - eeski); eeski = eyeni; System.out.println( n= + n + icin + e= + eyeni); while (fark >= 0.001); 47

Döngüler do-while döngüsü devam örnek Çıktı: n=1 icin e=2.0 n=2 icin e=2.25 n=3 icin e=2.37037037037037... n=36 icin e=2.681464420300858 n=37 icin e=2.6824354773085255 48

Döngüler do-while döngüsü devam - sentinel karakter import java.util.*; public class DoWhileOrnegi public static void main(string [] args) Scanner klavye = new Scanner(System.in); int sayac = 0, sayi; double orta = 0.0; do System.out.print( Bir sonraki sayi: ); sayi = klavye.nextint(); if (sayi!= -999) orta = orta + sayi; sayac++; while (sayi!= -999); 49

Döngüler do-while döngüsü devam - sentinel karakter if (sayac > 0) orta = orta / sayac; System.out.println( Ortalama= + orta); else System.out.println( Ortalama icin veri eksik. ); Çıktı: Bir sonraki sayi:5 Bir sonraki sayi:6 Bir sonraki sayi:7 Bir sonraki sayi:8 Bir sonraki sayi:-999 Ortalama=6.5 50

Döngüler for döngüsü Döngünün başlangıcında hem giriş hemde çıkış koşulu bulunur. Döngü tekrarını sağlayan sayaçta döngü başında yazılır. for (başlangıç ifadesi; sayac; yenileme ifadesi) Döngü gövdesi 1-5 arası sayaç değerlerinin yazıdırılması örneği for (sayac = 1; sayac <= 5; sayac++) System.out.println( sayac = + sayac) Çıktı: sayac = 1 sayac = 2 sayac = 3 sayac = 4 sayac = 5 51

Döngüler for döngüsü - devam Döngüde birden fazla deyim varsa parantez içine alınmalıdır. for (- - -) S1; S2; Ortalama bulma örneği toplam = 0.0; for (i = 1; i <= 10; i++) sayi = klavye.nextdouble(); toplam += sayi; ortalama = toplam / 10; 52

Döngüler for döngüsü devam Ters sırada sayma örneği for (sayac = 5; sayac <= 10; sayac--) System.out.println(sayac); Çıktı: sayac = 5 sayac = 4 sayac = 3 sayac = 2 sayac = 1 53

Döngüler for döngüsü devam for döngüsünde birden fazla başlangıç ifadesi ve yenileme koşulu olabilir. Aralarına virgül konularak yazılır. Ancak Boole koşulu (döngüye devam şartı) bir tane olmak zorundadır. for (n = 1, sonuc = 1; n <= 10; n++) sonuc = sonuc * n; 54

Döngüler for döngüsü devam for döngüsünden hemen sonra konulan ; döngününü gövde kısmının olmadığını belirtir. int sonuc = 1, n; for (n = 1; n <= 10; n++); // Aşağıdaki satır döngü dışı kalmıştır. sonuc = sonuc * n; System.out.println( 1 ve 10 arasındaki sayıların çarpımı ); System.out.println( = + sonuc); Çıktı: 1 ve 10 arasındaki sayıların çarpımı = 11 55

Döngüler for döngüsü devam örnek // 1 + x/1! x 2 /2! + x 3 /3! +... + x N /N! dizisini hesaplayan program import java.util.*; public class ForDonguleri public static void main(string [] args) Scanner klavye = new Scanner(System.in); double x, toplam = 1.0, fakt = 1, xpow = 1; int i, N, isaret = 1; System.out.print( x degerini giriniz: ); x = klavye.nextdouble(); System.out.print( Toplam terim sayisini (N)giriniz: ); N = klavye.nextint(); for (i = 1; i <= N; i++) // eksi terimler için isaret degistiriliyor isaret = -isaret; xpow = xpow * x; fakt = fakt * i; toplam += isaret * xpow / fakt; 56

Döngüler for döngüsü devam örnek System.out.print( Toplam= + toplam); Çıktı: x degerini giriniz: 4 Toplam terim saisini (N) giriniz: 5 Toplam = -0.6617283950617279 57

Döngüler Rastgele sayılar Rastgele sayılar Math sınıfındaki random metoduyla oluşturulur. Random metodu 0 ile 1 arasında rastgele gerçel sayı üretir. Üretilen sayı ölçeklenebilir veya aralığı değiştirilebilir. 58

Döngüler Rastgele sayılar devam zar atma örneği // Rasgele zar atan bir program örnegi import java.util.*; public class ZarAtSayisal public static void main(string [] args) Scanner klavye = new Scanner(System.in); int kackere, zar1; System.out.println( Kac kere zar atiyoruz? ); kackere = klavye.nextint(); for (int i = 0; i < kackere; i++) zar1 = ((int)(math.random() * 6) + 1); // gelen zar degerlerini yazdir System.out.println(zar1); Çıktı: Kac kere zar atiyoruz? 3 1 5 5 59

Döngüler Rastgele sayılar devam zar atma örneği şekilsel /** * Rasgele zar atan ve attigi zarlari sekilsel olarak da * gösteren bir program örnegi */ import java.util.*; public class ZarAtSekilsel public static void main(string [] args) Scanner klavye = new Scanner(System.in); int kackere, zar1, zar2; System.out.println( Kac kere zat atiyoruz? ); kackere = klavye.nextint(); for (int i = 0; i < kackere; i++) zar1 = ((int)(math.random() * 6) + 1); zar2 = ((int)(math.random() * 6) + 1); // gelen zar degerlerini yazdir System.out.println(i + 1 +.atis:[ + zar1 + - + zar2 + ] ); 60

Döngüler Rastgele sayılar devam zar atma örneği şekilsel // zar degerini noktalarla yazdir switch (zar1) case 1: System.out.print( [. ] ); break; case 2: System.out.print( [: ] ); break; case 3: System.out.print( [:. ] ); break; case 4: System.out.print( [:: ] ); break; case 5: System.out.print( [::.] ); break; case 6: System.out.print( [:::] ); break; Çıktı: Kac kere zar atiyoruz? 3 1.atis: [5-6] 2.atis: [3-6] 3.atis: [4-1] [:: ] 61

Döngüler Döngülerde break komutu Herhangi bir döngüden çıkış şartı sağlanmadan çıkmak istenildiğinde break komutu kullanılır. import java.util.*; public class BreakDeneme public static void main(string [] args) Scanner klavye = new Scanner(System.in); int malzemeno; double deger, toplam; System.out.println("10 tane malzeme alabilirsiniz."); System.out.println("Fakat toplam harcamaniz 100 YTLyi gecmemeli"); toplam = 0; 62

Döngüler Döngülerde break komutu devam for (malzemeno = 1; malzemeno <= 10; malzemeno++) System.out.print("Malzeme#" + malzemeno ); System.out.print(" Fiyati: YTL cinsinden"); deger = klavye.nextdouble( ); toplam = toplam + deger; if (toplam >= 100) System.out.print("Butun paranizi"); System.out.println(" harcadiniz."); //break komutu ile döngüden çikiliyor break; 63

Döngüler Döngülerde break komutu devam System.out.print ("Su ana kadar toplam "); System.out.println("harcamaniz (YTL) " + toplam); System.out.print("Daha alabileceginiz "); System.out.println((10 - malzemeno) + " malzeme var."); System.out.print("Toplam harcamaniz (YTL) "); System.out.println(toplam); Çıktı: 10 tane malzeme alabilirsiniz. Fakat toplam harcamaniz 100 YTLyi gecmemeli Malzeme#1 Fiyati: YTL cinsinden33 Su ana kadar toplam harcamaniz (YTL) 33.0 Daha alabileceginiz 9 malzeme var. Malzeme#2 Fiyati: YTL cinsinden44 Su ana kadar toplam harcamaniz (YTL) 77.0 Daha alabileceginiz 8 malzeme var. Malzeme#3 Fiyati: YTL cinsinden33 Butun paranizi harcadiniz. Toplam harcamaniz (YTL) 110.0 64

Döngüler exit metodu (System.exit(0)) System.exit(0) metodu parogramın belli bir noktada sona erdirilmesini sağlar. if (elemansayisi == 0) System.out.print( Eleman sayisi hatali. ); System.out.print( Hata: 0\ a bolunemez. ); System.exit(0); else isbolumu = toplamsaat / elemansayisi; System.out.print( Her eleman ); System.out.println(isBolumu + saat calisacak. ); 65

Döngüler İç içe döngüler Birden fazla döngü iç içe kullanılabilir. Dıştaki döngünün her tekrarında içteki döngü tüm tekrarlarını yapar. for (i = 1; i <= 3; i++) for (j = 1; j <= 2; j++) System.out.print( i = + i + j = + j); Çıktı: i = 1 j = 1 i = 1 j = 2 i = 2 j = 1 i = 2 j = 2 i = 3 j = 1 i = 3 j = 2 66

Döngüler Örnek çeşitli şekiller çizen program import java.util.*; public class Sekiller public static void main(string [] args) Scanner klavye = new Scanner(System.in); int i,j,k,m; System.out.print("Sira sayisini giriniz:"); M = klavye.nextint(); //kare for (i = 1; i <= M; i++) for (j = 1; j <= M; j++) System.out.print("*"); System.out.println(); 67

Döngüler Örnek çeşitli şekiller çizen program devam //alt üçgensel for (i = 1; i <= M; i++) for (j = 1; j <= i; j++) System.out.print("*"); System.out.println(); //baklava üstü for (i = 1; i <= M; i++) for (k = 1; k <= 20 - i; k++) System.out.print(" "); for (j = 1; j <= 2 * i - 1; j++) System.out.print("*"); System.out.println(); 68

Döngüler Örnek çeşitli şekiller çizen program devam //baklava alti for (i = M - 1; i >= 1; i--) for (k = 1; k <= 20 - i; k++) System.out.print(" "); for (j = 1; j <= 2 * i - 1; j++) System.out.print("*"); System.out.println(); Çıktı: Sira sayisini giriniz:7 ******* ******* ******* ******* ******* ******* ******* * ** *** **** ***** ****** ******* * *** ***** ******* ********* *********** ************* *********** ********* ******* ***** *** * 69

Ödev Yapılacaklar Toplama, çıkarma, çarpma ve bölme işlemleri yapan bir hesap makinesi oluşturunuz. Program ilk çalıştığında ekrana aşağıdaki işlem menüsü gelecektir. 1- Toplama 2- Çıkarma 3- Çarpma 4- Bölme 5- Çıkış İşlem türünü seçiniz (1,2,3,4,5) : 2 İşlem seçildikten sonra, seçeneğin 1 ile 5 arasında bir sayı olup olmadığı kontrol edilecek; menüde belirtilen bir seçenek değilse aşağıdaki mesaj yazdırılacaktır: Lütfen 1 ile 5 arasında bir sayı giriniz: 70

Ödev Yapılacaklar - devam Yanlış seçenek girildiği müddetçe bu mesaj yazımı devam ettirilecektir. Bu aşamada ya da bir öncekinde aşağıdaki gibi belirtilen sayılardan biri girilirse: İşlem türünü seçiniz (1,2,3,4,5) : 2 veya İşlem türünü seçiniz (1,2,3,4,5) : 7 Lütfen 1 ile 5 arasında bir sayı giriniz: 2 Aşağıdaki gibi ardarda girilen iki sayı girişi yapılacak ve daha önce seçilen işleme göre sonuç yazdırılıp devam etmek için <Enter> tuşuna basılması istenecektir: 1.sayıyı giriniz:20 2.sayıyı giriniz:10 İşlem sonucu = 10 Lütfen devam etmek için <Enter> tuşuna basınız! <Enter> tuşuna basıldıktan sonra menu tekrar ekrana gelecektir. 71