Bölüm 08 Program Akışının Yönlendirilmesi

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

Program Akışının Denetimi

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

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

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.

3.Hafta. . Kontrol Deyimleri/İfadeler

İç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)

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

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

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

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

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

Nesne Yönelimli Programlama

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

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

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.

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

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

Java da Program Denetimi ve Operatörler

HSancak Nesne Tabanlı Programlama I Ders Notları

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

PROGRAMLAMA DİLLERİ I

YZM 2105 Nesneye Yönelik Programlama

HSancak Nesne Tabanlı Programlama I Ders Notları

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

Programlama Dili Prensipleri. Lab Notları 4

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

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

M.ilkucar MAKU MYO 1

Program Akış Kontrol Yapıları

Akış Kontrol Mekanizmaları

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

Akış Konrol Mekanizmaları

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

ALGORİTMA VE PROGRAMLAMA I

C#(Sharp) Programlama Dili

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

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

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

HSancak Nesne Tabanlı Programlama I Ders Notları

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

// hataları işaret eden referans

MAT213 Bilgisayar Programlama I

Programlama Dilleri 3

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

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

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

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

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

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

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

BİLİNİRLİK ALANI ve ÖMÜR, KONTROL DEYİMLERİ

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

/*int sayi1, sayi2,toplam=0;

BİL-141 Bilgisayar Programlama I (Java)

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

Döngüler. 1.1 while döngüsü

Bölüm 10 Statik ve Anlık Öğeler

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

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

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

Ders - 7 while döngüsü

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

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Nesne Tabanlı Programlama

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

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

Mantıksal (Logic) Operatörler

ÜNİT E ÜNİTE KONTROL DEYİMLERİ KARAR YAPILARI. IF Deyimi GİRİŞ

Ders 6: Karşılaştırma Deyimleri

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

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

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

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ı

NESNEYE YÖNELİK PROGRAMLAMA

Mantıksal İşlemler. 7.1 true, false, nil

Temel Bilgisayar Bilimleri Ders Notu #4-1. kısım

Temel Veri Türü İşlemleri

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

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

PASCAL PROGRAMLAMA DİLİ YAPISI

for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) { ifadeler; }

Metotlar. d e f metot_adı [ ( [ arg [= d e f a u l t ] ]... [, arg [, &expr ] ] ) ] deyim ( l e r ) end

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

PROGRAMLAMAYA GİRİŞ DERS 2

Denetim Yapıları Program Akışının Yönlendirilmesi. Şekil 11.1: Akışı Koşullu Yönlendirme

EMT2226 Nesne Yönelimli Programlamaya Giriş

Döngü ve Koşul Deyimleri

Program AkıĢ Kontrol Yapıları

Nesne Yönelimli Programlama

BİL-142 Bilgisayar Programlama II

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

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

Transkript:

Bölüm 08 Program Akışının Yönlendirilmesi blok if yönlendirmesi switch yönlendirmesi for döngüsü while döngüsü do... while döngüsü Bir program komutların yazıldığı sırada akar. Ama çoğunlukla, bu akışı yönlendirmek gerekir. Bu iş için denetim yapılarını kullanırız. Bunlar başlıca üç gruba ayrılabilir: Bloklar, Yönlendiriciler ve Döngüler. Bu yapılardan birisine girince, program o yapı içinde istenen her işi yapar. Bilgisayarın karmaşık işleri yapmasını sağlayan bu yapılar altı tanedir. Bu yapılardan her birisi tek bir varlık olarak düşünülür, ama gerçekte her birisi birden çok deyim içeren birer yapıdır. Bunların her birisini örneklerle açıklayacağız. Blok Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Bir blok içine giren program, aksi söylenmedikçe,o blok içindeki bütün deyimleri çalıştırır. Blok yapısının sözdizimi şöyledir: { deyimler { bloku içindeki deyimler istenildiği sayıda Java deyimlerinden oluşur. Hiç deyim içermeyen bloklara boş blok denir. Đç-içe bloklar olabilir. Deyimler, basit Java deyimleri olabileceği gibi, yapısal deyimler de olabilir. Bölüm 06: Operatörler 1

Örnekler { System.out.println("Ankara başkenttir. "); System.out.println(x); { // Bu blok x ile y değişkenlerinin yerlerini değiştirir int yedek; // blok içinde kullanılacak geçici değişken yedek = x; // x değerini yedek adresine al x = y; // y değerini x adresine al y = yedek; // yedek değerini y nin adresine al Blok içinde bildirimi yapılan bir değişken, o blok için bir yerel değişkendir. Bir blokun yerel değişkenine blok dışından erişilemez. Blok içinden dış bloka erişilebilir. Başka bir deyişle, blok içindeki bir operatör ya da metot, dış bloktaki değişkenleri ve metotları çağırabilir. Blokun işi bitince, yerel değişkene ayrılan adres yok olur. Bu nedenle, bir değişkenin erişilebirlik bölgesi (scope) o değişkenin tanımlandığı bloktur. Yönlendiriciler Program akışını, belli mantıksal koşullara göre istenen yöne saptıran denetim yapılarıdır. Bunlar da kendi içinde üçe ayrılır: if, if- ve case yapıları. if deyimleri Program akışını, mantıksal koşullara (boolean) göre istenen yöne saptıran denetim yapılarıdır. Bu yapının üç türü vardır: tek seçenekli if, if- ve çok seçenekli if. 1. Tek seçenekli if 2. if- seçeneği 3. çoklu-durum seçeneği Şimdi bunların her birisini örneklerle açıklayacağız. Tek Seçenekli if Bazı deyimlerin işlemesini, ancak belirli koşulların sağlanması durumunda isteyebiliriz. Bu durumda if yönlendirmesini kullanırız. Bu yönlendirmenin sözdizimi yapısı aşağıdaki iki durumdan birisi gibidir. a. Eğer if denetiminden sonra bir tek deyim işleyecekse, biçimindedir. if ( mantıksal_deyim ) deyim ; b. Eğer if denetiminden sonra birden çok deyim işleyecekse, onlar bir blok ( { ) içine alınır. if ( mantıksal_deyim ) { deyimler; Eğer mantıksal_deyim true değerini alıyorsa deyim(ler) işlenir ve program if yapısından sonraki deyime geçer. Eğer mantıksal_deyim false değerini alıyorsa deyim(ler) işlenmeden atlanır ve program if yapısından sonraki deyimi işlemeye başlar. 2 t.karaçay : Java ile Nesne Programlama

IfYapısı01.java class IfYapısı01 { int n; Scanner in = new Scanner(System.in); System.out.println("Bir tamsayı giriniz: "); n = in.nextint(); in.close(); // if yönlendirmesi if (n > 0) System.out.printf("Girdiğiniz %d sayısı pozitiftir. ", n); Bir tamsayı giriniz: 45 Girdiğiniz 45 sayısı pozitiftir. Bu program koşarken, ekrana önce Bir tamsayı giriniz: iletisi gelir. Bu iletiye karşılık, pozitif bir tamsayı girerseniz, örneğin 45, ekrana Girdiğiniz 45 sayısı pozitiftir. iletisi gelir. Eğer 0 ya da negatif bir tamsayı girerseniz, sayı pozitif olmadığı için, denetim if blokuna girmez. If blokundan sonraki deyime geçer. Ama if blokundan sonra başka deyim olmadığı için başka bir iş yapmadan program sona erer. Eğer kullanıcı int tipinden başka bir değer girerse, NextInt() metodu, girilen int tipi olmadığı için derleme hatası doğar ve aşağıdaki uyarıyı verir: Exception in thread "main" java.util.inputmismatchexception Aşağıdaki program, if denetiminin bir mantıksal deyimi denetlediğini ve deyim true değerini alıyorsa if yapısına girildiğini göstermektedir. GeçersizIf.java /* if denetimi için mutlaka bir mantıksal deyim (boolean) gereklidir. */ class GeçersizIf{ if (1) System.out.println("The if statement executed"); Bu program derleme anında şu hata mesajını verir: Exception in thread "main" java.lang.error: Unresolved compilation problem: Type mismatch: cannot convert from int to boolean Bu ileti bize şunu söylüyor: Kaynak programdaki if(1) satırında sözdizimi hatası vardır. if anahtar Bölüm 06: Operatörler 3

sözcüğünden sonra mutlaka bir boolean deyim gelmelidir. Oysa, programda if sözcüğünden sonra yazılan (1) ifadesi bir boolean değildir. '1' boolean a dönüştürülemez. [C dilinde program yazanlar, bu biçimin o dilde geçerli olduğunu anımsayacaklardır. Java dili C dili üzerine kurulmuş olmakla birlikte, onun bazı niteliklerini değiştirmiş, iyileştirmiştir. Dolayısıyla, C dilinde geçerli olan her şey Java dilinde geçerli değildir.] if- yönlendirmesi Bazı durumlarda önümüze iki seçenek çıkar. Belirli bir koşulun sağlanması durumunda seçeneklerden birinin, aksi halde ötekinin işlemesi istenebilir. Başka bir deyişle, bir koşulun sağlanıp sağlanmamasına bağlı olarak, iki seçenekten birisini mutlaka yaptırmak gerekir. Bu durumda, if- yapısını kullanırız. Bu yapının sözdizimi şöyledir: if ( mantıksal_deyim ) deyim-1 deyim-2 Eğer deyim-1 ve deyim-2 yerinde işlenecek birden çok deyim varsa, onlar bir blok içine alınabilir: if ( mantıksal_deyim ) { deyimler-1 { deyimler-2 Eğer mantıksal_deyim true değerini alıyorsa deyim(ler)-1 işlenir ve program if denetim yapısından sonraki deyimi işlemeye başlar. Eğer mantıksal_deyim false değerini alıyorsa deyim(ler)-1 işlenmeden atlanır ve deyim(ler)-2 işlenir. Sonra, program if denetim yapısından sonraki deyimi işlemeye başlar. Bu yapıda program ya deyim(ler)-1 ya da deyim(ler)-2 'yi işler. Aşağıdaki programları satır satır inceleyiniz. Her satırın işlevini algılayınız. IfElseYapısı.java class IfElseYapısı { int i; System.out.println("Bir tamsayı giriniz: "); i = scan.nextint(); if (i > 0) System.out.printf("Girdiğiniz %d sayısı pozitiftir ", i); System.out.printf("Girdiğiniz %d sayısı pozitif değildir ", i); 4 t.karaçay : Java ile Nesne Programlama

Aşağıdaki program verilen bir yılın artık yıl olup olmadığını bulur. ArtıkYıl.java class ArtıkYıl { int yıl; System.out.println("Hangi yıl? (yyyy) :"); yıl = scan.nextint(); if ((yıl % 4 == 0 && yıl % 100!= 0) yıl % 400 == 0) System.out.printf(" %d yılı artık yıldır. Şubat ayı 29 çeker. ", yıl); System.out.printf(" %d yılı artık değildir. Şubat ayı 28 çeker. ",yıl); lar Hangi yıl? (yyyy) : 2011 2011 yılı artık değildir. Şubat ayı 28 çeker. Hangi yıl? (yyyy) : 2012 2012 yılı artık yıldır. Şubat ayı 29 çeker. c. Çoklu-durum seçeneği Bazan ikiden çok seçenek ortaya çıkabilir. Bu durumlarda -if denen çoklu-durum yapısını kullanırız: if (Koşul_1) Deyim_1; if (Koşul_2) Deyim_2; if (Koşul_3) Deyim_3;... Deyim_n; Bölüm 06: Operatörler 5

ElseIfYapısı01.java class ElseIfYapısı01 { int i; System.out.println("Bugün ısı kaç derecedir? "); i = scan.nextint(); if (i < 10) System.out.println("Bugün hava soğuktur. "); if (i < 20) System.out.println("Bugün hava serindir. "); System.out.println("Bugün hava sıcaktır. "); ElseifYapısı02.java class ElseifYapısı02 { int i; System.out.println("Bir tamsayı giriniz "); i = scan.nextint(); if (i % 3 == 0) System.out.printf("%d tamsayısı 3 ile tam bölünür. ", i); if (i % 2 == 0) System.out.printf("%d tamsayısı çitf sayıdır. ", i); System.out.printf( "%d tamsayısı tek sayıdır, ama 3 ile tam bölünmez. ", i); Bir tamsayı giriniz : 56 56 tamsayısı çitf sayıdır. Aşağıdaki programlar if yapılarının istenildiği kadar iç-içe konulabileceğini göstermektedir. 6 t.karaçay : Java ile Nesne Programlama

ElseifYapısı03.java class ElseifYapısı03 { int i; System.out.println("Not ortalamanızı giriniz : "); i = scan.nextint(); if (i > 90) System.out.printf("Puanınız %d ise notunuz A olur. ", i); if (i > 75) System.out.printf("Puanınız %d ise notunuz B olur. ", i); if (i > 60) System.out.printf("Puanınız %d ise notunuz C olur. ", i); if (i > 50) System.out.printf("Puanınız %d ise notunuz D olur. ", i); System.out.printf("Puanınız %d ise notunuz F olur. ", i); Not ortalamanızı giriniz : 85 Puanınız 85 ise notunuz B olur. ElseifYapısı04.java package operators; import java.io.ioexception; public class ElseifYapısı04 { char c; int inchar = 0; System.out.println("Bir tuşa basınız :"); try { inchar = System.in.read(); catch (IOException e) { System.out.println("Giriş hatası"); c = (char) inchar; if (Character.isUpperCase(c)) Bölüm 06: Operatörler 7

System.out.println("Büyük harf girdiniz."); if (Character.isLowerCase(c)) System.out.println("Küçük harf girdiniz."); if (Character.isDigit(c)) System.out.println("Bir rakam girdiniz."); System.out.println("Alfasayısal olmayan bir karakter girdiniz."); Programın farklı koşmalarında, girilen karaktere bağlı olarak çıktılar şöyle olabilir. Bir tuşa basınız: R Büyük harf girdiniz. Bir tuşa basınız: g Küçük harf girdiniz. Bir tuşa basınız: 8 Bir rakam girdiniz. Bir tuşa basınız: & Alfasayısal olmayan bir karakter girdiniz. switch denetim yapısı Program akışı bir yerde çok sayıda seçenekle karşılaşırsa, iç-içe if denetimi yerine switch denetimi daha kolay olur. Sözdizimi şöyledir: Sözdizimi (syntax) switch (seçici) { case seçki-1: deyim-1; sıçrama-1; case seçki-2: deyim-2; sıçrama-2... 8 t.karaçay : Java ile Nesne Programlama

[default: deyim sıçrama] Bu yapıda case ifadelerinin sayısı için bir kısıt yoktur, gerektiği kadar case ifadesi konulabilir. Bu sözdiziminde geçen terimlerin açıklanması: seçici Seçici bir değişken veya bir ifade olabilir. Seçici değişken olduğunda byte,short, int, char,enum ya da String tiplerinden herhangi birisinden bir literal (sabit değer) almalıdır. Seçici bir ifade ise bu türlerden literal bir değer veren formüldür. Burada formül, matematiksel formüllerde olduğu gibi, bir sonuç veren deyim olarak algılanmalıdır. String tipi, Java SE 7 sürümünden sonra kullanılabilir olmuştur. Önceki sürümlerde String tipi secici tip olarak kullanılamaz. seçki Seçici değişkenin veya seçici ifadenin aldığı bir değerdir. Bu değer seçicinin alabildiği yukarıdaki veri tiplerinden her hangi birisi olabilir; tabii, bu değer bir literal (sabit değer) olmalıdır. deyim Seçici-değerine bağlı olarak yönlenilen bir seçenekte yapılacak iş(ler)i belirleyen deyim veya deyimlerden oluşan bir bloktur. sıçrama Bir seçeneğe yönlenen program, o seçenekteki işleri yapınca ya switch yapısının dışına çıkar ya da başka bir seçeneğe yönlendirilebilir. switch yapısından çıkmak için deyimi kullanılır. break deyimi, akışı switch yapısından çıkarır ve switch yapısından sonraki ilk deyime gönderir. Bazan bir seçenekteki işler bitince, akışı switch yapısından sonraki ilk deyime göndermek yerine başka bir seçeneğe göndermek gerekebilir. Bunun için goto deyimi kullanılır. default Đsteğe bağlı bir seçenektir. Seçicinin değeri case ile belirlenen hiçbir seçki ile uyuşmadığı zaman, yapılmasını istediğimiz işler için gerekli deyim(ler)i bu seçeneğe yazarız. Hiçbir case yönlendirmesi gerçekleşemediğinde default seçenek çalışır. Seçicinin değeri mutlaka case'lerdeki seçkilerden birisine eşit olacağı garanti edilen durumlarda, default seçeneğini yazmanın gereği yoktur. switch yapısının nasıl kullanıldığını aşağıdaki örnekte göreceğiz. Switch01.java package DenetimYapısı; class Switch01 { Bölüm 06: Operatörler 9

int ay; int yıl; int günsayısı = 0; System.out.println("Hangi yıl? "); yıl = scan.nextint(); System.out.println("Hangi ay? "); ay = scan.nextint(); switch (ay) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: günsayısı = 31; case 4: case 6: case 9: case 11: günsayısı = 30; case 2: if (((yıl % 4 == 0) &&!(yıl % 100 == 0)) (yıl % 400 == 0)) günsayısı = 29; günsayısı = 28; default: System.out.println("Geçersiz ay"); System.out.println("Gün sayısı = " + günsayısı); Hangi yıl? 2009 Hangi ay? 2 Gün sayısı = 28 Đpucu Unutmayınız, seçici için byte, short, int, long, char, enum ya da String tiplerinden bir değişken kullanılır. float ve double tipinden seçici kullanılamaz. Seçici değişkenin alacağı sabit değerlere göre program akışı istenen seçeneğe sapar. Burada herhangi bir deyim-k birden çok deyim içeriyorsa, onlar blok içine alınır ve tek deyimmiş gibi işlenir. 10 t.karaçay : Java ile Nesne Programlama

Switch02.java public class Switch02 { int ay = 7; String monthstring; switch (ay) { case 1: System.out.println("Ocak"); case 2: System.out.println("Şubat"); case 3: System.out.println("Mart"); case 4: System.out.println("Nisan"); case 5: System.out.println("Mayıs"); case 6: System.out.println("Haziran"); case 7: System.out.println("Temmuz"); case 8: System.out.println("Ağustos"); case 9: System.out.println("Eylül"); case 10: System.out.println("Ekim"); case 11: System.out.println("Kasım"); case 12: System.out.println("Aralık"); Temmuz Switch03.java Bölüm 06: Operatörler 11

class Switch03 { int puan; System.out.println("Karne notunuz nedir?"); puan = scan.nextint(); switch (puan) { case 'A': System.out.println("Pekiyi"); case 'B': System.out.println("Đyi"); case 'C': System.out.println("Orta"); case 'D': System.out.println("Hmmmm..."); case 'F': System.out.println("Daha iyisini başarabilirsin!"); default: System.out.println("Başarı notun ne?"); Karne notunuz nedir? 67 Orta Switch04.java class Switch04 { int puan; System.out.println("Not ortalamanız nedir?"); 12 t.karaçay : Java ile Nesne Programlama

puan = scan.nextint(); switch (puan / 10) { case 9: System.out.println("Notunuz A dır. "); case 8: System.out.println("Notunuz B+ dir. "); case 7: System.out.println("Notunuz B- dir. "); case 6: System.out.println("Notunuz C dir. "); case 5: System.out.println("Notunuz D dir. "); default: System.out.println("Notunuz F dir. "); Not ortalamanız nedir? 89 Notunuz B+ dir. Aşağıdaki program bir otomatik çikolata makinasının çalışmasını sağlamaktadır. Makinaya 3 boy çikolata konulmaktadır: küçük, orta, büyük. Bunların fiyatları, sırasıyla 250, 500 ve 750 YTL dir. switch-case yapısını kullanan programda sıçrama goto deyimi ile yapılmaktadır. Programı inceleyiniz ve goto deyimlerinin oynadığı rolü algılayınız. Switch05.java class Switch05 { int n; System.out.println("Hangi çikolata : 1=Küçük 2=Orta 3=Büyük"); n = scan.nextint(); int bedel = 0; switch (n) { case 1: bedel += 250; Bölüm 06: Operatörler 13

case 2: bedel += 500; case 3: bedel += 750; default: System.out.println("Geçersiz seçim yaptınız. Lütfen 1, 2, 3 sayılarından birisini seçiniz."); if (bedel!= 0) System.out.printf("Lütfen %d YTL atınız. %n", bedel); System.out.println("Afiyet olsun! Gene bekleriz!"); lar Program 3. seçenek için koşturulursa, aşağıdaki çıktı görülecektir. Deneyiniz. Hangi çikolata : 1=Küçük 2=Orta 3=Büyük 3 Lütfen 752 YTL atınız. Afiyet olsun! Gene bekleriz! Switch06.java package operators; public class Switch06 { int a, b, c; int durum = -1; System.out.println("Üç tamsayı giriniz :"); a = scan.nextint(); b = scan.nextint(); c = scan.nextint(); if (a > b && a > c) { durum = 1; if (b > c) { durum = 2; { durum = 3; switch (durum) { case 1: System.out.println("Sayıların en büyüğü = " + a); 14 t.karaçay : Java ile Nesne Programlama

case 2: System.out.println("Sayıların en büyüğü = " + b); case 3: System.out.println("Sayıların en büyüğü = " + c); default: System.out.println("Belirlenemedi!"); Üç tamsayı giriniz : 34-67 23 Sayıların en büyüğü = 34 Bölüm 06: Operatörler 15