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

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

Java da Program Denetimi ve Operatörler

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

Nesne Yönelimli Programlama

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

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

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

J A V A D A P R O G R A M D E N E T İ M İ V E O P E R A T Ö R L E R

Dizi ( Array ) ve Dizgi ( String )

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

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

Nesne Yönelimli Programlama

MAT213 Bilgisayar Programlama I

OPERATÖRLER Alıştırmalar

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

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

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

Java da İstemci Tarafı Uygulamalar

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

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

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

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

Aritmetik Operatörleri Hemen her programlama dilinde olduğu gibi java dilinde de aritmetik işlemler yaparken aşağıdaki operatörleri kullanırız:

3.Hafta. . Kontrol Deyimleri/İfadeler

Nesne Yönelimli Programlama

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir.

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

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

BİL-141 Bilgisayar Programlama I (Java)

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

Akış Kontrol Mekanizmaları

HSancak Nesne Tabanlı Programlama I Ders Notları

BİL132 Bilgisayar Programlama II

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.

M.ilkucar MAKU MYO 1

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

Akış Konrol Mekanizmaları

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.

C# Çalışma Örnekleri

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

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.

MATLAB de. Programlama. Kontrol Yapıları. Döngü Yapıları. Doç. Dr. İrfan KAYMAZ Matlab Ders Notları

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

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

Programlama Dili Prensipleri. Lab Notları 4

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

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

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

Program AkıĢ Kontrol Yapıları

1 JAVASCRIPT NEDİR? 1

Görsel Programlama. Temel Veri Tipleri, Değişkenler, Operatörler, Akış Kontrolü, Sınıflar, Metotlar, Paketler ve JavaDoc

PROGRAMLAMA DİLLERİ I

Java String İşlemleri

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

Programlama Dilleri 3

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

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.

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları

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

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

ALGORİTMA VE PROGRAMLAMA I

Bölüm 4 C de Program Kontrolü

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

YZM 2105 Nesneye Yönelik Programlama

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

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

8. Bölüm DİZİLER. tip dizi_ismi[eleman_sayısı]; Bütün diziler 0 ile baţlar.

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

Internet Programming II

Mantıksal (Logic) Operatörler

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

Bölüm 7. İfadeler ve atamalar ISBN

1 PROGRAMLAMAYA GİRİŞ

İnternet Programcılığı Dersi 2.Dönem Ders Notu

Nesne Tabanlı Programlama

BMT 101 Algoritma ve Programlama I 8. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

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

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları

Nesne Tabanlı Programlama

BÖLÜM 2 C PROGRAMLAMADA AKIŞ KONTROLÜ. GOTO: C programında programın herhangi bir yerinden bir yerine şartsız olarak atlanmasını sağlayan komuttur.

BİL-142 Bilgisayar Programlama II

// hataları işaret eden referans

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

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

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

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

BİL-141 Bilgisayar Programlama I (Java)

Programlama Dilleri 3

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

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

Ders - 7 while döngüsü

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

1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9

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

Transkript:

İçerik Java da İşleçler, Kontrol Akış ve Döngü Deyimleri Geçen ders: Nesne ve Sınıf Kavramları Nesne ve Sınıf ın Java da gerçekleştirilmesi Bu ders: Java da işleçler ( operators ) Java da kontrol-akış ( control-flow ) ve döngü ( loop ) deyimleri Java konsol programlarında basit girdi/çıktı ( input/output ) BS-515 Nesneye Yönelik Programlama Ders #3 (4 Kasım 2009) -2- BBS-515-DN03 / 2 İşleçler, bir veya daha çok işlenen üzerinde işlem yapar. Tek işlenen Unary operator İki işlenen Binary operator İşleçler Java da İşleçler ( Operators ) Unary operator <operator> <operand> (prefix, ++i) <operand> <operator> (postfix, i++) Binary operator <operand1> <operator> <operand2> (infix, a+b) -4- BBS-515-DN03 / 4 Aritmetik İşleçler - 1 + op1 + op2 op1 ve op2 yi ekler - op1 - op2 op2 yi op1 den çıkarır * op1 * op2 op1 ve op2 yi çarpar / op1 / op2 op1 i op2 ye böler % op1 % op2 op1 in op2 ye göre modunu (bölme sonucunda kalanı) hesaplar Aritmetik İşleçler - 2 Java da + işleci aynı zamanda dizgi ( String ) birleştirmek için kullanılır. System.out.println ( Girdinin + sayi + karakteri var. ); Çıktı: Girdinin 5 karakteri var. + ve - işleçleri ayrıca işlenenin işaretini belirlemek için kullanılır. + +op İşlenen pozitif bir değer - -op İşlenen negatif bir değer -5- BBS-515-DN03 / 5-6- BBS-515-DN03 / 6 1

Aritmetik İşleçler - 3 ++ ve -- işleçleri, bir değişkenin değerini arttırmak veya azaltmak için kullanılır. İlişkisel ( Relational ) İşleçler İki değeri karşılaştırarak aralarındaki ilişkiyi belirler. İşleç Kullanım Koşul sağlandığında 1 döndürür ++ op++ op değerini 1 arttırır. -- op-- op değerini 1 azaltır. > op1>op2 op1, op2 den büyükse >= op1>=op2 op2 op1, op2 den büyük veya op2 ye eşitse < op1<op2 op1, op2 den küçükse <= op1<=op2 op1, op2 den küçük veya op2 ye eşitse == op1==op2 op1 ve op2 eşitse!= op1!=op2 op1 ve op2 eşit değilse -7- BBS-515-DN03 / 7-8- BBS-515-DN03 / 8 Şartlı ( Conditional ) İşleçler İşleç Kullanım Koşul sağlandığında 1 döndürür && op1 && op2 op1 ve op2 nin her biri doğruysa op1 op2 op1 veya op2 den biri doğruysa!! op op yanlışsa ((sayi > GIRDI_SAYISI) && (System.in.read()!=-1)) Önce soldaki kısım değerlendirilir. Sol kısım doğruysa sağdaki kısım değerlendirilir; yanlışsa sağdaki kısım değerlendirilmez. ((sayi > GIRDI_SAYISI) (System.in.read()!=-1)) Her iki kısım da ayrı ayrı değerlendirilir. Verinin bitleri üzerinde işlem yaparlar. Bit ( Bitwise ) İşleçleri >> op1 >> op2 op1 in bitlerini op2 kadar sağa kaydırır. << op1 << op2 op1 in bitlerini op2 kadar sola kaydırır >>> op1 >>> op2 op1 in bitlerini op2 kadar sağa kaydırır (işaretsiz sayılar). & op1 & op2 bit bazında and işlemi op1 op2 bit bazında or işlemi ^ op1 ^ op2 bit bazında xor işlemi ~ op1 ~ op2 bit bazında tümleyen ( complement ) -9- BBS-515-DN03 / 9-10- BBS-515-DN03 / 10 Atama ( Assignment ) İşleçleri += op1 += op2 op1 = op1 + op2 -= op1 -= op2 op1 = op1 - op2 *= op1 *= op2 op1 = op1 * op2 /= op1 /= op2 op1 = op1 / op2 %= op1 %= op2 op1 = op1 % op2 &= op1 &= op2 op1 = op1 & op2 = op1 = op2 op1 = op1 op2 ^= op1 ^= op2 op1 = op1 ^ op2 <<= op1 <<= op2 op1 = op1 << op2 >>= op1 >>= op2 op1 = op1 >> op2 >>>= op1 >>>= op2 op1 = op1 >>> op2? : if (a > b) { max = a; max = (a > b)? a : b; max = b; Koşul ( Conditional ) İşleçleri -11- BBS-515-DN03 / 11-12- BBS-515-DN03 / 12 2

Java da İşleç Önceliği postfix işleçler []. (parametreler) ifade++ ifade-- birli (unary) işleçler ++ ifade -- ifade + ifade - ifade! nesne oluşturma new (tip) ifade toplama/çıkarma + - kaydırma << >> >>> ilişkisel < > <= >= instanceof eşitlik ==!= bit AND & bit XOR ^ bit OR mantıksal AND && mantıksal OR koşul? : atama = Java da Kontrol-Akış ( Control-Flow ) ve Döngü ( Loop ) Deyimleri -13- BBS-515-DN03 / 13 Kontrol-Akış Deyimleri If Else Deyimi Koşula bağlı olarak dallanma sağlar. Deyim Anahtar Sözcük Karar verme if -else, switch -case Döngü for, while, do -while Kural-dışı durum try -catch -finally, throw Diğer break, continue, label:, return Sözdizimi: If (koşul) ifade-1 // koşul sağlanırsa ifade-1 işletilir. else ifade-2 // koşul sağlanmazsa ifade-2 işletilir. // kullanıcı tarafından basılan tamam veya iptal // düğmesine göre işlem yapılır. if (yanıt == OK) { // koşul: yanıt tamam mı? // tamam a basılması halinde yapılacak işler // iptal e basılması halinde yapılacak işler -15- BBS-515-DN03 / 15-16- BBS-515-DN03 / 16 If Deyimi: Örnek If Else Deyimi: Örnek if (args.length > 0) { System.out.println( Merhaba " + args[0]); if (args.length > 0) { System.out.println("Merhaba " + args[0]); System.out.println( Her kimsen merhaba!"); -17- BBS-515-DN03 / 17-18- BBS-515-DN03 / 18 3

If Else If Deyimi: Örnek Eşleşmemiş Else Problemi if (args.length == 0) { System.out.println( Her kimsen merhaba!"); else if (args.length == 1) { System.out.println( Merhaba " + args[0]); else if (args.length == 2) { System.out.println("Merhaba " + args[0] + " " + args[1]); else if (args.length == 3) { System.out.println("Merhaba " + args[0] + " " + args[1] + " + args[2]); else if (args.length == 4) { System.out.println("Merhaba " + args[0] + " " + args[1] + " " + args[2] + " " + args[3]); System.out.println("Merhaba " + args[0] + " " + args[1] + " " + args[2] + " " + args[3] + " ve diğerleri!"); if (x>5) if (y>5) System.out.println("x ve y 5 den buyuk"); else System.out.println("x 5 den kucuk ya da esit"); if (x>5) { if (y>5) System.out.println("x ve y 5 den buyuk"); else System.out.println("x 5 den kucuk ya da esit"); YANLIŞ! DOĞRU! -19- BBS-515-DN03 / 19-20- BBS-515-DN03 / 20 Switch Deyimi Birden çok seçeneği olan koşulda, her seçenek için ifadeleri işletmek amacıyla kullanılır. while (koşul) { ifadeler Döngü Deyimleri int mevsim; switch (mevsim) ){ case 1: System.out.println ( Kış ); break; case 2: System.out.println ( Bahar ); break; case 3: System.out.println ( Yaz ); break; case 4: System.out.println ( Sonbahar ); break; default: System.out.println ( Yanlış mevsim! ); break; for (döngü sayacını ilklendirme; döngü sonlandırma koşulu; döngü sayacını arttırma) { ifadeler do { ifadeler while (booleifade); -21- BBS-515-DN03 / 21-22- BBS-515-DN03 / 22 While Döngüsü For Döngüsü int i; System.out.print ("Merhaba "); i = 0; while (i < args.length) { System.out.print (args[i]); System.out.print(" "); i = i + 1; System.out.println(); // Merhaba yaz // döngü sayacını ilklendir // koşulu test et; doğruysa döngüye gir // parametreyi yaz // boşluk yaz // döngü sayacını arttır // satırı bitir System.out.print("Merhaba "); // Merhaba yaz for (int i = 0; i < args.length; i = i + 1) { // koşulu test et; doğruysa döngüye gir System.out.print(args[i]); // değiştirgeyi yaz System.out.print(" "); // boşluk yaz System.out.println(); // satırı bitir -23- BBS-515-DN03 / 23-24- BBS-515-DN03 / 24 4

Do While Döngüsü Break Deyimi Break deyimi, giriş koşulunun geçersiz olmasını beklemeden döngüden çıkmayı sağlar. int i = -1; do { if (i == -1) // koşul doğruysa System.out.print("Merhaba "); // Merhaba yaz System.out.print(args[i]); // koşul doğru değilse System.out.print(" "); // boşluk yaz i = i + 1; // döngü sayacını arttır while (i < args.length); // hala yazacak değiştirge varsa devam et System.out.println(); // satırı bitir class Say { int toplam = 0; int sayi = 1; for (int kare = 1; kare <= 64; kare++) { sayi = sayi * 2; if (sayi <= 0) { System.out.println("Hata: Taşma Oluştu!"); break; toplam = toplam + sayi; System.out.print(toplam + "\t "); -25- BBS-515-DN03 / 25-26- BBS-515-DN03 / 26 Continue Deyimi Continue deyimi, kalan komutların işletilmesine izin vermeden, program akışını en içteki döngünün başına geçirir. for (int i = 0; i < m.length; i++) { if (m[i] % 2 == 0) continue; // çift ise döngüye bir sonraki döngüye geç // tek ise devam eden komutları işleme al Dallanma Deyimleri Etiketli break test: if (check(i)) { for (int j=0; j<10; j++) { if (j>i) break; // sadece bu döngüyü ü sonlandır. if (a[i][j] == null) break test; // if bloğunu sonlandır. -27- BBS-515-DN03 / 27-28- BBS-515-DN03 / 28 Örnek Bir sınıftaki öğrencilerin o dersin sınavından aldıkları notların ortalamalarını bulan konsol programını yazalım Kontrol değeri ( sentinel ) kullanarak while, do while döngüleri ile Sayaç değeri ğ ( loop counter ) kullanarak k while, for döngüleri ile Java da Basit Girdi/Çıktı ( Input/Output ) -29- BBS-515-DN03 / 29 5

Java Konsol Programlarının Yapısı Her Java konsol programı, bir ya da birden fazla yordamı içeren bir sınıftan oluşur ve bu yordamlardan biri ana yordam ( main method ) olmalıdır. imported classes public class sınıfın-adı { public static ti void main (String args[]) throws IOException { değişkenlerin tanımlanması çalıştırılabilir ifadeler varsa diğer yordamlar Çalıştırma: > javac MerhabaDunya.java MerhabaDunya.class > java MerhabaDunya > Merhaba Dünya! Konsol Programlarında Basit Çıktı System.out.println("bir dizgi"); > Bir dizgi System.out.println("bir dizgi"); System.out.println("diger dizgi"); > bir dizgi > diğer dizgi System.out.print("bir dizgi, "); System.out.print("diğer dizgi"); > bir dizgi, diğer dizgi -31- BBS-515-DN03 / 31-32- BBS-515-DN03 / 32 Konsol Programlarında Basit Girdi BufferedReader stdgirdi = new BufferedReader (new InputStreamReader(System.in)); Örnek İki tamsayıyı klavyeden okuyan ve bu iki sayının toplamını ve birinci ile ikinci sayı arasındaki farkı bularak ekrana bastıran Java konsol programı Dizgi okuma: String s = stdgirdi.readline(); ToplaCikar.java Tamsayı okuma: String s = stdgirdi.readline(); int i = new Integer(s.trim()).intValue(); // ya da; int j = new Integer.parseInt(s.trim()); Reel sayı okuma: String s = stdgirdi.readline(); double d = new Double(s.trim()).doubleValue(); -33- BBS-515-DN03 / 33-34- BBS-515-DN03 / 34 6