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

Benzer belgeler
İç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 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,

Dizi ( Array ) ve Dizgi ( String )

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

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

MAT213 Bilgisayar Programlama I

OPERATÖRLER Alıştırmalar

Nesne Yönelimli Programlama

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

BİL-141 Bilgisayar Programlama I (Java)

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

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

HSancak Nesne Tabanlı Programlama I Ders Notları

BİL132 Bilgisayar Programlama II

Akış Kontrol Mekanizmaları

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.

Akış Konrol Mekanizmaları

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

M.ilkucar MAKU MYO 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.

C# Çalışma Örnekleri

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.

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

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

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

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

Programlama Dili Prensipleri. Lab Notları 4

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

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

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

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

Java String İşlemleri

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

Programlama Dilleri 3

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

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

1 JAVASCRIPT NEDİR? 1

Program AkıĢ Kontrol Yapıları

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

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

PROGRAMLAMA DİLLERİ I

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ı

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

Bölüm 4 C de Program Kontrolü

ALGORİTMA VE PROGRAMLAMA I

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

YZM 2105 Nesneye Yönelik Programlama

Mantıksal (Logic) Operatörler

Ö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İŞ

1 PROGRAMLAMAYA GİRİŞ

Nesne Tabanlı Programlama

Internet Programming II

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

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

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

Nesne Tabanlı Programlama

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

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

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

// hataları işaret eden referans

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

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

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

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.

Ders - 7 while döngüsü

BİL-142 Bilgisayar Programlama II

Programlama Dilleri 3

BİL-141 Bilgisayar Programlama I (Java)

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

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

EMT2226 Nesne Yönelimli Programlamaya Giriş

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 2 DERSİ LAB. ÖDEVİ

Programlama Dillerinde Kullanılan Veri Tipleri

/*int sayi1, sayi2,toplam=0;

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

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

Transkript:

Java da İşleçler, Kontrol Akış ve Döngü Deyimleri BS-515 Nesneye Yönelik Programlama Ders #3 (4 Kasım 2009)

İçerikç 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 ) -2- BBS-515-DN03 / 2

Java da İşleçler ( Operators )

İşleçler ç İşleçler, bir veya daha çok işlenen üzerinde işlem yapar. Tek işlenen Unary operator İki işlenen Binary operator 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 İşleç Kullanım Tanım + 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 -5- BBS-515-DN03 / 5

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. İşleç Kullanım Tanım + +op İşlenen pozitif bir değer - -op İşlenen negatif bir değer -6- BBS-515-DN03 / 6

Aritmetik İşleçler ç - 3 ++ ve -- işleçleri, bir değişkenin değerini arttırmak veya azaltmak için kullanılır. İşleç Kullanım Tanım ++ op++ op değerini 1 arttırır. -- op-- op değerini 1 azaltır. -7- BBS-515-DN03 / 7

İ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 > op1>op2 op1, op2 den büyükse >= op1>=op2 op1, op2 den büyük veya op2 ye eşitse < op1<op2 op1, op2 den küçükse <= op1<=op2 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 -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. -9- BBS-515-DN03 / 9

Verinin bitleri üzerinde işlem yaparlar. İşleç Kullanım Tanım 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 ) -10- BBS-515-DN03 / 10

Atama ( Assignment ) İşleçleri ç İşleç Kullanım Tanım += 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-11- BBS-515-DN03 / 11

Koşul ş ( Conditional ) İşleçleri ç? : Örnek: if (a > b) { max = a; max = (a > b)? a : b; else { max = b; -12- BBS-515-DN03 / 12

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 = -13- BBS-515-DN03 / 13

Java da Kontrol-Akış ( Control-Flow ) ve Döngü ( Loop ) Deyimleri

Kontrol-Akış ş Deyimleri Deyim Karar verme Döngü Anahtar Sözcük if -else, switch -case for, while, do-while Kural-dışı durum try - catch thfi -finally, throw Diğer break, continue, label:, return -15- BBS-515-DN03 / 15

If Else Deyimi Koşula bağlı olarak dallanma sağlar. 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. Örnek: // 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ş else { // iptal e basılması halinde yapılacak işler -16- BBS-515-DN03 / 16

If Deyimi: Örnek class Merhaba { public static void main (String args[]) { if (args.length > 0) { System.out.println( Merhaba " + args[0]); -17- BBS-515-DN03 / 17

If Else Deyimi: Örnek class Merhaba { public static void main (String args[]) { if (args.length > 0) { System.out.println("Merhaba " + args[0]); else { System.out.println( Her kimsen merhaba!"); -18- BBS-515-DN03 / 18

If Else If Deyimi: Örnek class Merhaba { public static void main (String args[]) { 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]); else { System.out.println("Merhaba " + args[0] + " " + args[1] + " " + args[2] + " " + args[3] + " ve diğerleri!"); -19- BBS-515-DN03 / 19

Eşleşmemiş ş ş ş Else Problemi 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Ş! 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"); DOĞRU! -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. Örnek: 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 t ( Yanlış ş mevsim! ); break; -21- BBS-515-DN03 / 21

Döngü Deyimleri while (koşul) { ifadeler for (döngü sayacını ilklendirme; döngü sonlandırma koşulu; döngü sayacını arttırma) { ifadeler do { ifadeler while (booleifade); -22- BBS-515-DN03 / 22

While Döngüsü class Merhaba { public static void main (String args[]) { 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 -23- BBS-515-DN03 / 23

For Döngüsü class Merhaba { public static void main (String args[]) { System.out.print("Merhaba "); for (int i = 0; i < args.length; i=i+1){ i System.out.println(); System.out.print(args[i]); System.out.print(" "); // boşluk yaz // satırı bitir // Merhaba yaz // koşulu test et; doğruysa döngüye gir // değiştirgeyi yaz -24- BBS-515-DN03 / 24

Do While Döngüsü class Merhaba { public static void main (String args[]) { int i = -1; do { if (i == -1) // koşul ldoğruysağ System.out.print("Merhaba "); // Merhaba yaz else { 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 -25- BBS-515-DN03 / 25

Break Deyimi Break deyimi, giriş koşulunun geçersiz olmasını beklemeden döngüden çıkmayı sağlar. class Say { public static ti void main (String args[]) { 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 t(t + "\t "); -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. Örnek: 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 -27- BBS-515-DN03 / 27

Dallanma Deyimleri Etiketli break Örnek: 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. -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ç aç değeri ( loop counter ) kullanarak while, for döngüleri ile -29- BBS-515-DN03 / 29

Java da Basit Girdi/Çıktı ( Input/Output )

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! -31- BBS-515-DN03 / 31

Konsol Programlarında Basit Çıktı System.out.println("bir t tl dizgi"); i") > Bir dizgi System.out.println("bir dizgi"); System.out.println("diger dizgi"); > bir dizgi > diğer dizgi System.out.print("bir t t("bi dizgi, i "); System.out.print("diğer dizgi"); > bir dizgi, diğer dizgi -32- BBS-515-DN03 / 32

Konsol Programlarında Basit Girdi BufferedReader stdgirdi = new BufferedReader (new InputStreamReader(System.in)); Dizgi okuma: String s = stdgirdi.readline(); 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

Ö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ı ToplaCikar.java -34- BBS-515-DN03 / 34