NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

Benzer belgeler
Nesne Yönelimli Programlama

Java da Program Denetimi ve Operatörler

Nesne Yönelimli Programlama

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

3.Hafta. . Kontrol Deyimleri/İfadeler

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

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

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

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

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

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

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

Bölüm 4 C de Program Kontrolü

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

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

HSancak Nesne Tabanlı Programlama I Ders Notları

BİL-142 Bilgisayar Programlama II

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

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

Programlama Dilleri 3

HSancak Nesne Tabanlı Programlama I Ders Notları

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

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

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

ALGORİTMA VE PROGRAMLAMA I

Akış Konrol Mekanizmaları

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

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

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

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

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

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

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

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

YZM 2105 Nesneye Yönelik Programlama

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

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

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

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

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

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

Akış Kontrol Mekanizmaları

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

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

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

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

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

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar

5. Atlama, Karar ve Çevrim Kontrol Deyimleri

NESNEYE YÖNELİK PROGRAMLAMA

Nesne Yönelimli Programlama

PASCAL PROGRAMLAMA DİLİ YAPISI

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

Internet Programming II

Her Select Case bloğu, mutlaka End Select ile bitmek zorundadır.

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

C Programlama Dilininin Basit Yapıları

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

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.

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

/*int sayi1, sayi2,toplam=0;

Programlama Dili Prensipleri. Lab Notları 4

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

Pointers (İşaretçiler)

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

Genel Programlama II

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

Program Akış Kontrol Yapıları

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

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

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

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

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.

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

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

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.

Nesne Tabanlı Programlama

Diziler İndisli Değişkenler

Operator Aşırı Yükleme (Operator OverLoading)

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

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

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

Chapter 8. Komut düzeyi kontrol yapıları ISBN

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

Kocaeli Üniversitesi C Bilgisayar Programlama Ara Sınavı Test Soruları

MAT213 Bilgisayar Programlama I

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

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

OPERATÖRLER Alıştırmalar

Length: metin uzunluğunu yada diğer bir deyişle dizi elaman sayısını döndürür.

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

Yrd. Doç. Dr. Caner ÖZCAN

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

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

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 3

WEB PROGRAMLAMA. PHP Temelleri 2. Dr. Erman Yukselturk

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Transkript:

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

JAVA DA PROGRAM DENETİMİ VE OPERATÖRLER Java programlama dilinde temel tipleri ve nesneleri yönlendirmek ve değiştirmek için operatörler kullanılır. Atamalar sağ taraftaki değerin sol taraftaki değişkene atanması ile gerçekleşir.

Temel Tiplerde Atama Atama işlemi, temel (ilkel) tipler için basittir. int x, y, z; int a = 3, b, c = 5; double pi= 3.14159; char x='x'; x, y ve z olan üç tamsayıyı bildirir. a ve c nin başlangıç değerleriyle üç tamsayıyı daha bildiriyor. Pi sayısını (tam olmasa da yaklaşık olarak) bildirir. x değişkeni 'x' değerine sahip. Temel tipler, değerleri doğrudan kendileri üzerlerinde tuttukları için, bir temel tipi diğerine atadığımız zaman değişen sadece içerikler olur. int a, b ; a=4 ; b=5 ; a=b ; Sonuç olarak a ve b değişkenleri içerikleri aynı olur. a=5, b=5

Nesneler ve Atamalar Nesneler için atama işlemleri, temel tiplere göre biraz daha karmaşıktır. Nesneleri yönetmek için referanslar kullanılır. Nesneler için bir atama işlemi söz konusu ise, akla gelmesi gereken ilk şey, bu nesnelere bağlı olan referansın gösterdiği hedeflerde bir değişiklik olacağıdır.

Nesneler ve Atamalar 2 adet Sayi nesnesi oluşturuldu Bunlar Sayi tipindeki referanslara bağlı durumdalar s1 ve s2 s1 referansının işaret ettiği Sayi nesnesinin i alanına 9 değeri atandı. s2 referansının işaret ettiği Sayi nesnesinin i alanına 47 değeri atandı.

Nesneler ve Atamalar Ekran çıktısı 1: s1.i: 9, s2.i: 47

Nesneler ve Atamalar s1 artık s2 nin işaret ettiği nesneyi gösteriyor

Nesneler ve Atamalar Kısım-1 s2 nin s1 e atanmadan önceki hali Kısım-2 s2 nin s1 e atandıktan sonraki hali

Nesneler ve Atamalar Şimdi s1 ve s2 nin değerleri ekrana yazdırılırsa, s1.i ve s2.i alanlarının aynı içeriği taşıdığı görülür. Ekran çıktısı 2: s1.i: 47, s2.i: 47 Bunun nedeni ise bu iki referansın (s1 ve s2) aynı nesneyi göstermeleridir.

Nesneler ve Atamalar Son olarak s1 referansının işaret ettiği nesnenin i alanı değiştiriliyor. Ekran çıktısı 3: s1.i: 27, s2.i: 27 Bunun nedeni ise yine s1 ve s2 referanslarının aynı nesneyi göstermeleridir.

Nesneler ve Atamalar s1 referansının daha önceden işaret etmiş olduğu Sayi nesnesine ne olacaktır? Bu nesne kullanılmayacağından dolayı çöp haline gelecektir ve çöp toplayıcısı (Garbage Collector) tarafından temizlenecektir.

Nesneler ve Atamalar s1 referansının s2 nin işaret etmiş olduğu nesneyi göstermesini istemeyip yalnızca s2.i alanı değerinin s1.i alanı değerine atanması istenmiş olsaydı: s1.i = s2.i; referansların gösterdikleri nesnelerde herhangi bir değişiklik yapılmadan sadece s1.i alanının değeri değişir.

Yordamların (Method) Çağrılması 2 sınıf Harf ve Pas Pas sınıfı public fiziksel dosyanın ismi Pas.java

Yordamların (Method) Çağrılması Harf nesnesi oluşturuluyor. Harf nesnesinin char tipinde olan c alanına a karakteri atanıyor.

Yordamların (Method) Çağrılması Harf nesnesine bağlanmış olan Harf sınıfı tipindeki x referansı f() yordamına gönderiliyor

Yordamların (Method) Çağrılması f() yordamı içerisinde daha önceden oluşturulan Harf nesnesinin char tipinde olan c alanına z karakteri atanıyor.

Yordamların (Method) Çağrılması Bilgiler yeniden ekrana yazdırıldığında Harf nesnesinin char tipinde olan c alanındaki değerin değişmiş olduğu görülür.

Yordamların (Method) Çağrılması Burada yapılan işlem, kesinlikle, Harf nesnesinin yer değiştirmesi değildir; nesnenin bellekteki yeri her zaman sabittir.

Yordamların (Method) Çağrılması f() yordamı içerisinde Harf nesnesine toplam iki referans bağlı olmaktadır biri x diğeri ise h

Yordamların (Method) Çağrılması Uygulamanın sonucu

Yordamların (Method) Çağrılması double tipindeki a değişkenine 5 değeri atanıyor. bu değişkenimiz double tipinde parametre kabul eden f() yordamına gönderiliyor.

Yordamların (Method) Çağrılması Bu iki değişken birbirlerinden tamamen farklıdır.

Yordamların (Method) Çağrılması Uygulamanın sonucu 5.0 gönderildi gönderilen parametrenin değeri 10 a eşitlendi a --> 5.0

Java Operatörleri Aritmetik Operatörler İlişkisel Operatörler Mantıksal Operatörler Bit düzeyinde (bitwise) Operatörler

Aritmetik Operatörler

Aritmetik Operatörler Uygulamanın sonucu Degisken Degerleri... a = 57 b = 42 c = 27.475 d = 7.22 Toplama... a + b = 99 c + d = 34.695

Aritmetik Operatörler Uygulamanın sonucu Cikartma... a - b = 15 c - d = 20.255000000000003 Carpma... a * b = 2394 c * d = 198.36950000000002

Aritmetik Operatörler Uygulamanın sonucu Bolme... a / b = 1 c / d = 3.805401662049862

Aritmetik Operatörler Uygulamanın sonucu Kalan sayiyi hesaplama... a % b = 15 c % d = 5.815000000000002 Karisik tipler... b + d = 49.22 a * c = 1566.075

Operatörlerin veri tipini etkilemesi/dönüştürmesi + ve operatörleri, aynı zamanda, karakter tipindeki verileri sayısal tipe dönüştürme misyonları da vardır.

Operatörlerin veri tipini etkilemesi/dönüştürmesi char için girilen değer a harfi + operatörü kullanılarak char değeri int tipine dönüştürülüyor int değeri - operatörüyle eksi hale getiriliyor Uygulama sonucu kr = a b = 97 c = -97

Dönüştürme (Casting) İşlemi Uygulamanın sonucu b = 5.0 y = 4 z = 4

Bir Arttırma ve Azaltma

Bir Arttırma ve Azaltma Uygulamanın sonucu : i : 1 ++i : 2 i++ : 2 i : 3 --i : 2 i-- : 2 i : 1

İlişkisel Operatörler

İlişkisel Operatörler Uygulamanın sonucu Degisken degerleri... i = 37 j = 42 k = 42 Buyuktur... i > j = false j > i = true k > j = false

İlişkisel Operatörler Uygulamanın sonucu Buyuktur veya esittir... i >= j = false j >= i = true k >= j = true

İlişkisel Operatörler Uygulamanın sonucu Kucuktur... i < j = true j < i = false k < j = false

İlişkisel Operatörler Uygulamanın sonucu Kucuktur veya esittir... i <= j = true j <= i = false k <= j = true

İlişkisel Operatörler Uygulamanın sonucu Esittir... i == j = false k == j = true Esit degil... i!= j = true k!= j = false

Mantıksal Operatörler Mantıksal operatörlerden && (VE), (VEYA) operatörleri sırasıyla tek karakterli olarak ta kullanılabilmektedir. Örneğin a&&b şeklinde bir ifade a&b şeklinde de yazılabilir. Tek karakterli ( & veya ) ise operatörün her iki yanındaki işlemler/karşılaştırmalar mutlaka yapılır. Çift karakterli ( && veya ) ise işleme soldan başlanır; eğer tüm ifade bitmeden kesin sonuca ulaşılırsa ifadenin geri kalan kısmı gözardı edilir. Örneğin VE işleminde sol taraf yanlış (false) ise sonuç kesinlikle yanlış olacaktır ve ifadenin sağına bakmaya gerek yoktur.

Mantıksal Operatörler Uygulama çıktısı

Bit Düzeyinde (bitwise) Operatörler

Bit Düzeyinde (bitwise) Operatörler 9 sayısı ikili karşılığı 1001 a >> 1 (bitler sağa doğru 1 basamak kaydırılır) (0100) 2 = (4) 10 a >> 2 (bitler sağa doğru 2 basamak kaydırılır) (0010) 2 = (2) 10 a << 1 (bitler sola doğru 1 basamak kaydırılır) (10010) 2 = (18) 10 a << 2 (bitler sola doğru 2 basamak kaydırılır) (100100) 2 = (36) 10 a >>> 2 (a >> 2 ile arasında sonuç olarak bir fark yoktur) sonuç: 2

Atama Operatörleri

Bitişik atama operatörleri

String (+) Operatörü "+" operatörü String verilerde birleştirme görevi görür; eğer ifade String ile başlarsa, onu izleyen veri tipleri de kendiliğinden String e dönüştürülür. Uygulama çıktısı Sonuc = 012

Nesnelerin Karşılaştırılması iki farklı Integer nesnesi var ve bu nesnelerin taşıdıkları değerler birbirlerine eşittir. a1==a2 a1 ve a2 referanslarının işaret etmiş oldukları nesneler aynı mı? false a1 ve a2 ayrı Integer nesnelerini işaret etmektedirler; eşit olan tek şey, bu iki ayrı nesnenin tuttukları değerin 47 olmasıdır (-ki bu eşitliği a1=a2 ifadesi ile yakalayamayız)

Nesnelerin Karşılaştırılması Temel (primitive) tipler değerleri doğrudan kendi üzerlerinde taşıdıkları için == operatörüyle s1 ve s2 değişkeleri değerleri karşılaştırıldı ve doğru (true) yanıtı döndürüldü. Benzer şekilde!= operatörü de s1 ve s2 değişkenleri değerlerini karşılaştırdı ve yanlış (false) döndürüldü.

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

Döngüler Döngü deyimleri aynı işlemin farklı parametre değerleri üzerinde yapılması için kullanılan yineleme/tekrarlama işleri için kullanılır. Java programlama dilinde bulunan döngüler şunlardır: while do-while for

while Deyimi Belirli bir grup kod öbeğini döngü koşulu doğru (true) olduğu sürece devamlı yineler. Genel yazım şekli aşağıdaki gibidir: while (koşul) { çalışması istenen kod bloğu }

Örnek

do-while Deyimi Bu döngü deyimde koşul sınaması döngü sonunda yapılır; dolayısıyla çevrim kod öbeği en az birkez yürütülmüş olur. Genel yazım şekli ve çizimsel gösterimi aşağıdaki gibidir: do { çalışması istenen kod bloğu } while (koşul);

Örnek

for Deyimi for deyiminde çevrim işlemleri daha bir derli toplu yapılabilir; bu döngü deyiminde koşulda kullanılan çevrim değişkeni, koşul ifadesi ve çevrim sayacı artımı for ifadesi içerisinde verilir. Genel yazım şekli ve çizimle gösterilmesi aşağıdaki gibi verilebilir: for (başlangıç; koşul; artış) { çalışması istenen kod bloğu }

Örnek Görüldüğü gibi for deyimi içerisinde ; ile ayrılmış 3 parametre vardır; çevrim sayacı koşul ifadesi sayacın artım miktarı ifadesi Eğer, kodun daha önceki kısımlarda sayaç değişkeni halihazırda varsa başlangıç, artışı kod öbeği kısmında yapılıyorsa artış bilgisi verilmeyebilir. Bu durumda bu alanlar boş bırakılır.

Karşılaştırma Deyimleri Karşılaştırma deyimleri belirli bir koşula göre farklı işlemler yaptırılacağı zaman kullanılır. Örneğin adet adlı değişken değeri 5 ten küçük olduğundan farklı, 5 ten büyük veya eşit olduğunda farklı işler kodlar yürütülecekse bu işi yapabilmek için karşılaştırma deyimlerine gereksinim duyulur. Java da olmak üzere iki farklı karşılaştırma deyimi vardır. if-else switch-case

if-else Deyimi Koşula göre program akışı değiştirilmek isteniyorsa if kullanılabilir. Genel yazım ifadesi aşağıdaki gibidir: if (koşul) { durum true olduğunda çalışması istenen kod bloğu } else { durum false olduğunda çalışması istenen kod bloğu }

Örnek

switch-case Deyimi Tamsayıların karşılaştırılması ile doğru koşulların elde edilmesini sağlayan mekanizmadır. switch deyimi içersindeki tamsayı ile, bu tamsayıya karşılık gelen koşula girilir ve istenen kod bloğu çalıştırılır. Kod bloklarından sonra break koymak gerekir aksi takdirde uygun koşul bulduktan sonraki her koşula girilecektir. Eğer tamsayımız koşullardan hiçbirine uymuyorsa default koşulundaki kod bloğu çalıştırılarak son bulur. switch (tamsayı) { case uygun-tamsayı-deger1 : çalışması istenen kod bloğu; break; case uygun-tamsayı-deger2 : çalışması istenen kod bloğu; break; //... default: çalışması istenen kod bloğu ; }

Örnek Varsayılan (default) değerler

Örnek-2 Uygulama, break anahtar kelimeleri kaldırılıp yeniden yazılırsa:

Örnek-3 Uygulamada, varsayılan değer geçerli olduğunda:

Dallanma Deyimleri Java programlama dilinde dallandırma ifadeleri toplam 3 adettir. break continue return

break Deyimi break deyiminin 2 farklı uyarlaması bulunur; etiketli etiketsiz Etiketsiz break switch deyiminde kullanılan break deyimi gibidir. Koşul sağlandığında switch deyiminin sonlanmasını sağlar. break deyimi aynı şekilde while, do-while veya for deyimlerinden çıkılması için de kullanabilir.

Örnek

Örnek-2

continue Deyimi continue ifadesi, döngü içersinde o anki devir işleminin pas geçilmesini ve bir sonraki devir işleminin başlamasını sağlayan bir mekanizmadır. continue ifadeleri de break ifadeleri gibi iki çeşide ayrılır. Etiketsiz continue Etiketli continue Etiketsiz continue en içteki döngü içersinde etkili olurken, etiketli continue ise başına konulduğu döngü sisteminin etkiler.

Örnek

Örnek-2

return Deyimi return deyiminin 2 tür kullanım şekli vardır: değer döndürmek için eğer yordamın dönüş tipi buna izin vermiyorsa (void ise), ilgili yordamı terk etmek için

Örnek

Genel Örnekler

Örnek

Örnek

Örnek