BİL-141 Bilgisayar Programlama I (Java)

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "BİL-141 Bilgisayar Programlama I (Java)"

Transkript

1 BİL-141 Bilgisayar Programlama I (Java) TOBB Ekonomi ve Teknoloji Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, M. Ali Akcayol tarafından Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu, M. Özbayoğlu, M. Erten, O. Ergin kitabı kullanılarak hazırlanmıştır.

2 Konular Sınıf ve Metot Tanımları Metotların Çağırılması void Metot Tanımları Değer Döndüren Metotlar Parametreli Metotlar this Parametresi Yerel Değişkenler Parametrelerin Metotlara Gönderimi Bilgi Saklanması ve Kuşatması Nesneler ve Gösterimleri tostring() Metodu Nesne Kurucuları

3 Sınıf ve Metot Tanımları Önceki kuşak diller yapısal programlama dilleriydi. Java nesne yönelimli bir programlama dilidir. Yapısal dillerde akış denetim komutları ve metot yapıları öne çıkmaktaydı. Nesne yönelimli dillerde ise programlar nesneler halinde oluşturulmaktadır. Nesne yönelimli dillerde program geliştirirken aşağıdaki aşamalar gerçekleştirilir: Nesnelerin ortak özellikleriyle sınıf (class) oluşturmak Tanımlı sınıfları kullanılarak nesneler oluşturmak (instantiation) Java programı nesneler ile sınıf içinde tanımlanmış metotları çağırır (method invocation) 3

4 Sınıf ve Metot Tanımları Kitap sınıfı için ortak özellikler aşağıdaki gibi olabilir. Java kitabı: Özellikler: Adı: Java ile Programlama Yazarlar: Ali Yazıcı, Y.Murat Erten, Erdoğan Doğdu, A.Murat Özbayoğlu, Oğuz Ergin Yayıncı: Palme Kitabevi Sayfa: 270 Fiyat: 50 YTL Matematik kitabı: Özellikler: Adı: Yazarlar: Yayıncı: Sayfa: 270 Fiyat: 50 YTL Fizik kitabı: Özellikler: Adı: Yazarlar: Yayıncı: Sayfa: Fiyat: 4

5 Sınıf ve Metot Tanımları Personel sınıfı için ortak özellikler aşağıdaki gibi olabilir. Personel sınıfı: Sınıf Adı: Personel Özellikleri (verileri): - isim - sicilno - vergino - eposta Metotları: + maashesabi(); + epostayollama(); Aşağıda Personel sınıfından oluşturulmuş bir nesne görülmektedir. Nesne Adı: bilgisayarmuhblmbaskani Özellikleri: - isim: Ali Yazici - Axxxx eposta: [email protected] 5

6 Sınıf ve Metot Tanımları Personel sınıfı Java da aşağıdaki gibi tanımlanabilir. public class Personel // Özellikler (veriler) public String isim; public String sicilno; public String vergino; public String eposta; // Metotlar public void maashesabi() // metot işlemleri... public void epostayollama() // metot işlemleri... 6

7 Sınıf ve Metot Tanımları Personel sınıfı başka bir program tarafından kullanılabilir. Bu programda bir main() metodu olması zorunludur. public class PersonelDene public static void main(string [] args) Personel bilgisayarmuhblmbaskani; // nesneyi oluşturur bilgisayarmuhblmbaskani = new Personel; bilgisayarmuhblmbaskani.maashesabi(); bilgisayarmuhblmbaskani.epostayollama(); 7

8 Sınıf ve Metot Tanımları Sınıflar gösterilirken UML (Unified Modeling Language) gösterimi kullanılabilir. UML gösteriminde bir sınıf isim, özellikler ve metotlar olarak üç kısımdan oluşur. Personel için UML gösterimi aşağıdaki gibi yapılabilir. Personel +isim : String +sicilno : String +vergino : String +eposta : String +maashesabi() : void +epostayollama() : void 8

9 Sınıf ve Metot Tanımları Aşağıda YeniSinif adlı sınıfın oluşturulması ve DeneYeniSinif sınıfında kullanılması görülmektedir. public class YeniSinif public void veriyazdir() System.out.println("Sadece mesaji yazdiralim."); Çıktı: Sadece mesaji yazdiralim Sadece mesaji yazdiralim class DeneYeniSinif public static void main(string [] args) YeniSinif uye = new YeniSinif(); uye.veriyazdir(); System.out.println(" "); uye.veriyazdir(); System.out.println(" "); 9

10 Konular Sınıf ve Metot Tanımları Metotların Çağırılması void Metot Tanımları Değer Döndüren Metotlar Parametreli Metotlar this Parametresi Yerel Değişkenler Parametrelerin Metotlara Gönderimi Bilgi Saklanması ve Kuşatması Nesneler ve Gösterimleri tostring() Metodu Nesne Kurucuları

11 Metotların Çağırılması Sınıf içinde tanımlanan metotlar nesneler kullanılarak çağırılabilir. İki tür metot vardır: değer döndüren metotlar ve değer döndürmeyen metotlar. Geri değer döndüren metotlarda dönecek verinin türü metot tanımında verilir. Değer döndürülecek yerde de return komutu kullanılır. double numara; numara = Math.random(); Geri değer döndürmeyen metotlarda ise metot tanımında void kullanılır ve return komutu kullanılmaz. System.out.println( Ekrandaki mesaj ); 11

12 Konular Sınıf ve Metot Tanımları Metotların Çağırılması void Metot Tanımları Değer Döndüren Metotlar Parametreli Metotlar this Parametresi Yerel Değişkenler Parametrelerin Metotlara Gönderimi Bilgi Saklanması ve Kuşatması Nesneler ve Gösterimleri tostring() Metodu Nesne Kurucuları

13 void Metot Tanımları void metotlar çağırıldıkları yere değer döndürmezler. public void metot_adi() Yukarıdaki ilk satır metot başlığı (heading), parantez arasındaki kısım ise gövde (body) olarak adlandırılır. public, metodun her isteyen tarafından kullanılabileceğini gösterir. void merodun çağırılan yere değer döndürmeyeceğini gösterir. 13

14 Konular Sınıf ve Metot Tanımları Metotların Çağırılması void Metot Tanımları Değer Döndüren Metotlar Parametreli Metotlar this Parametresi Yerel Değişkenler Parametrelerin Metotlara Gönderimi Bilgi Saklanması ve Kuşatması Nesneler ve Gösterimleri tostring() Metodu Nesne Kurucuları

15 Değer Döndüren Metotlar Değer döndüren metotlar aşağıdaki gibi tanımlanır. public döndürülen_değer_türü metot_adi() Döndürülen değer türü Java da tanımlı veri türlerinden birisi veya kullanıcı tanımlı bir tür olmalıdır. Metodun gövde kısmınd bir veya daha fazla return komutu kullanılmalı ve döndürülen değer bir ifadeyle hesaplanmalı veya bir değişkenle gönderilmelidir. 15

16 Değer Döndüren Metotlar Aşağıdaki örnekte veriyazdir() metodu int türünde değer döndürmektedir. public class VeriDondur public int veriyazdir() int say; String mesaj = "Sadece bu mesaji yazdiralim."; System.out.println(mesaj); say = mesaj.length(); return say; 16

17 Değer Döndüren Metotlar Aşağıdaki örnekte veriyazdir() metodu int türünde değer döndürmektedir. class DeneVeriDondur public static void main(string [] args) int sembolsayisi; VeriDondur eleman = new VeriDondur(); sembolsayisi = eleman.veriyazdir(); System.out.println("Sembol sayisi="+sembolsayisi); sembolsayisi = eleman.veriyazdir(); System.out.println("Sembol Sayisi="+sembolSayisi); Çıktı: Sadece mesaji yazdiralim. Sembol sayisi=28 Sadece mesaji yazdiralim. Sembol sayisi=28 17

18 Konular Sınıf ve Metot Tanımları Metotların Çağırılması void Metot Tanımları Değer Döndüren Metotlar Parametreli Metotlar this Parametresi Yerel Değişkenler Parametrelerin Metotlara Gönderimi Bilgi Saklanması ve Kuşatması Nesneler ve Gösterimleri tostring() Metodu Nesne Kurucuları

19 Parametreli Metotlar Metot dışarıdan (çağırıldığı yerden) girdi alabilir. Metot adının yanında parantez içinde alacağı değişkenlerin adları ve türleri bildirilir. Değer döndürmeyen ve değer döndüren metotlar dışarıdan parametre alabilir. public döndürülen_değer_türü metot_adi(param_türü1 param_adı1, param_türü2 param_adı2,...)

20 Parametreli Metotlar import java.util.scanner; public class VeriYolla public int veriyazdir(string mesaj) int say; System.out.println("Gelen mesaj:"+mesaj); say = mesaj.length(); return say; 20

21 Parametreli Metotlar class DeneVeriYolla public static void main(string [] args) VeriYolla veri = new VeriYolla(); String ileti; int sembolsayisi; Scanner klavye = new Scanner(System.in); ileti = klavye.next(); sembolsayisi = veri.veriyazdir(ileti); System.out.println("Sembol sayisi="+sembolsayisi); Çıktı: Java >> Klavyeden girildi Gelen mesaj:java Sembol sayisi=4 21

22 Konular Sınıf ve Metot Tanımları Metotların Çağırılması void Metot Tanımları Değer Döndüren Metotlar Parametreli Metotlar this Parametresi Yerel Değişkenler Parametrelerin Metotlara Gönderimi Bilgi Saklanması ve Kuşatması Nesneler ve Gösterimleri tostring() Metodu Nesne Kurucuları

23 this Parametresi Bir metodun içinden, ait olduğu sınıftaki başka bir metot veya değişkene ulaşılmak isteniyorsa this parametresi kullanılabilir. import java.util.scanner; public class VeriYolla2 public String mesaj; public int veriyazdir() int say; System.out.println("Gelen mesaj:" + this.mesaj); say = mesaj.length(); return say; 23

24 this Parametresi class DeneVeriYolla public static void main(string [] args) VeriYolla2 veri = new VeriYolla2(); String ileti; int sembolsayisi; Scanner klavye = new Scanner(System.in); ileti = klavye.next(); veri.mesaj = ileti; sembolsayisi = veri.veriyazdir(); System.out.println("Sembol sayisi=" + sembolsayisi); Çıktı: Java >> Klavyeden girildi Gelen mesaj:java Sembol sayisi=4 24

25 Konular Sınıf ve Metot Tanımları Metotların Çağırılması void Metot Tanımları Değer Döndüren Metotlar Parametreli Metotlar this Parametresi Yerel Değişkenler Parametrelerin Metotlara Gönderimi Bilgi Saklanması ve Kuşatması Nesneler ve Gösterimleri tostring() Metodu Nesne Kurucuları

26 Yerel Değişkenler Değişkenler tanımlandıkları blok içinde geçerlidir. Bir metodun içinde tanımlanan değişkenin geçerliliği metot bittiğinde sona erer. Aynı değişken adı farklı metotlarda kullanılabilir. Her değişkenin geçerliliği ait olduğu metot başladığında başlar ve bittiğinde sona erer. // i değişkeni for bloğu içinde tanımlıdır for(int i = 1; i < 100; i++) toplam = toplam + i; System.out.println(i); // Hatalıdır! i tanımlı değildir. 26

27 Yerel Değişkenler Aşağıdaki örnekte yenimiktar isimli iki ayrı değişken hem sınıf içinde hemde main() metodunda kullanılmıştır. public class BankaHesabi public double miktar; public double faiz; public void yenitoplamgoster () double yenimiktar = miktar + (faiz/100.0) * miktar; System.out.println ("Faizli miktar " + yenimiktar + " YTL."); 27

28 Yerel Değişkenler class DeneBankaHesabi public static void main (String [] args) BankaHesabi benimhesabim = new BankaHesabi (); benimhesabim.miktar = ; benimhesabim.faiz = 5; double yenimiktar = ; benimhesabim.yenitoplamgoster (); System.out.println ("Hesapta " + yenimiktar + " YTL olmaliydi."); Çıktı: Faizli miktar YTL. Hesapta YTL olmaliydi. 28

29 Konular Sınıf ve Metot Tanımları Metotların Çağırılması void Metot Tanımları Değer Döndüren Metotlar Parametreli Metotlar this Parametresi Yerel Değişkenler Parametrelerin Metotlara Gönderimi Bilgi Saklanması ve Kuşatması Nesneler ve Gösterimleri tostring() Metodu Nesne Kurucuları

30 Parametrelerin Metotlara Gönderimi Metotların başlığında tanımlanan parametrelere biçimsel parametre (formal parameter) denir. Bir metot çağrıldığında bazı değişkenler veya değerler parametrelere karşılık olarak metoda gönderilirler. Bunlara da gerçek parametre veya argüman denir. Değer ile çağırma (call-by-value): Argümanların sadece değeri metoda gönderilir. Referans ile çağırma (call-by-reference): Argümanların referansı (adresi) metoda gönderilir. // bir nesne metoduna farklı değerler gönderilmektedir. birnesne.notkayitislemi( , Ahmet, E, Matematik, 78.89); 30

31 Konular Sınıf ve Metot Tanımları Metotların Çağırılması void Metot Tanımları Değer Döndüren Metotlar Parametreli Metotlar this Parametresi Yerel Değişkenler Parametrelerin Metotlara Gönderimi Bilgi Saklanması ve Kuşatması Nesneler ve Gösterimleri tostring() Metodu Nesne Kurucuları

32 Bilgi Saklanması ve Kuşatması Parametre ve değişkenlerin sadece gerekli durumlarda ve yerlerde kullanılması ve program ayrıntılarının mümkün olduğunca saklanmasına kuşatma veya saklama denir. Bir sınıfın değişkenlerinin her yerden ve herkes tarafından erişime açık olması (public) tercih edilmez. Bunun için erişim değiştiricileri (access modifiers) denilen kelimeler kullanılır. Bunlardan yaygın kullanılanlar public ve private kelimeleridir. 32

33 Bilgi Saklanması ve Kuşatması public ve private public : herhangi bir program veya sınıf tarafından çağrılabilir, kullanılabilir. private : sadece sınıfının içindeki metotlar tarafından kullanılabilir, başka bir sınıf veya metot tarafından kullanılamaz. Private değişkenlere genellikle set ve get fonksiyonları kullanılarak erişilir. Fonksiyonlarla değişkenlere erişirken değerlerin kontrolü, düzeltilmesi veya hatalı girişleri kaydetmeden kullanıcıya bilgi verilmesi işlemleri kolaylıkla yapılabilir. 33

34 Bilgi Saklanması ve Kuşatması public class personel public String isim; public String eposta; public double maas; public double maashesabi(double brutmaas) double netmaas; netmaas = 0.81*brutMaas; return netmaas; public void kayityazdir() System.out.println("Personel ismi:"+isim); System.out.println("Personel eposta:"+eposta); System.out.println("Personel maasi:"+maas); 34

35 Bilgi Saklanması ve Kuşatması import java.util.scanner; public class DenePersonel public static void main(string[] args) personel bil = new personel(); //nesne kurucusu double maas, netmaas; bil.isim="ahmet Cakir"; bil.eposta="[email protected]"; System.out.print("Brut maasi giriniz:"); Scanner klavye=new Scanner(System.in); maas = klavye.nextdouble(); netmaas = bil.maashesabi(maas); System.out.println("Brut Maas="+maas); System.out.println("Net Maas="+netMaas); bil.maas=netmaas; bil.kayityazdir(); Çıktı: Brut maasi giriniz:4500 Brut Maas= Net Maas= Personel ismi:ahmet Cakir Personel eposta:[email protected] Personel maasi:

36 Bilgi Saklanması ve Kuşatması public class BankaHesabi private double bakiye; //public degiskeni public double yenibakiye(double cekilenmiktar) double kalan; kalan=bakiye-cekilenmiktar; if(kalan<0.0) System.out.println("Yetersiz bakiye..."); return 0.0; else return kalan; 36

37 Bilgi Saklanması ve Kuşatması import java.util.scanner; public class denebankahesabi public static void main(string [] args) Scanner klavye = new Scanner(System.in); double kalan = , miktar; BankaHesabi hesap = new BankaHesabi(); System.out.print("Cekilecek miktar:"); miktar = klavye.nextdouble(); hesap.bakiye=kalan; // Derleyici hata gösterecek. // Bakiye has private access in BankaHesabi kalan = hesap.yenibakiye(miktar); System.out.println("Yeni bakiye = + amount); 37

38 Bilgi Saklanması ve Kuşatması private değişkenlere erişim Özel değişkenlere (private) ulaşılması gerektiğinde erişim (accessor) metodu (get), özel değişkenleri değiştirmek gerektiğinde değiştirici (mutator) metodu (set) kullanılır. Erişim ve değiştirici metotlar diğer sınıfların ve nesnelerin erişebilmesi için public tanımlanır. Erişim metodu adı à getdegiskenadı() şeklinde tanımlanmalıdır. Değiştirici metodu adı à setdegiskenadi() şeklinde tanımlanmalıdır. 38

39 Bilgi Saklanması ve Kuşatması set ve get metotları Set metodu: Değişkenin değerini değiştirmek için kullanılır. Get metodu: Değişkenin değerine ulaşmak için kullanılır. Metot isimlerinde set ve get kullanılması zorunlu değildir. (Örneğin yaz ve oku kullanılabilir.) public void setdegisken(int sayi) privatedegisken = sayi; public int getdegisken() return privatedegisken; 39

40 Bilgi Saklanması ve Kuşatması set ve get metotları - örnek public class BankaHesabi3 private double hesapbakiyesi; public void sethesapbakiyesi(double Miktar) hesapbakiyesi = Miktar; public double paracek(double cekilenmiktar) double bakiye = hesapbakiyesi; bakiye -= cekilenmiktar; if(bakiye < 0.0) System.out.println("Yetersiz bakiye..."); else hesapbakiyesi = bakiye; return hesapbakiyesi; 40

41 Bilgi Saklanması ve Kuşatması set ve get metotları - örnek public double gethesapbakiyesi() return hesapbakiyesi; import java.util.scanner; public class denebankahesabi public static void main(string [] args) Scanner klavye = new Scanner(System.in); double kalan, miktar; BankaHesabi3 hesap = new BankaHesabi3(); 41

42 Bilgi Saklanması ve Kuşatması set ve get metotları - örnek System.out.print("Hesabinizdaki para: "); kalan = klavye.nextdouble(); System.out.print("Cekilecek para: "); miktar = klavye.nextdouble(); hesap.sethesapbakiyesi(kalan); kalan = hesap.paracek(miktar); System.out.println("Yeni bakiye= "+kalan); hesap.sethesapbakiyesi(kalan*1.1); kalan = hesap.gethesapbakiyesi(); System.out.println("Yeni bakiye= "+kalan); Çıktı: Hesabinizdaki para: Cekilecek para: 400 Yeni bakiye= Yeni bakiye=

43 Bilgi Saklanması ve Kuşatması set ve get metotları sethesapbakiyesi() ve gethesapbakiyesi() metotları genel erişimli (public) oldukları için sınıf dışından çağrılarak ilgili değişken alanının okunması ve değiştirilmesi işlemleri yapılabilir. Her değişken için bu metotların yazılması zorunlu ve gerekli değildir. Tasarımcının kararına göre değişkenlere bu erişim hakkı verilebilir. 43

44 Bilgi Saklanması ve Kuşatması set ve get metotları OgrenciKayit sınıfı için UML gösterimi aşağıdaki gibi yapılabilir. OgrenciKayit ad: String kisasinav1: int kisasinav2: int arasinav: int final: int toplampuan: double not: char +verigir(): void +ciktiyaz(): void +settoplam(): void +setnot(): void 44

45 Bilgi Saklanması ve Kuşatması set ve get metotları örnek public class ogrencikayit private int kisasinav1, kisasinav2, arasinav, finalsinavi; private double toplampuan; private char notu; private string ad; public void verigir() Scanner klavye = new Scanner(System.in); System.out.print("Ogrenci adini giriniz:"); ad = klavye.next(); System.out.print("Kisa sinav1 ve kisa sinav2 notlari:"); kisasinav1 = klavye.nextint(); kisasinav2 = klavye.nextint(); System.out.print("Ara sinav ve final notlari:"); arasinav = klavye.nextint(); finalsinavi = klavye.nextint(); 45

46 Bilgi Saklanması ve Kuşatması set ve get metotları örnek public void ciktiyaz() System.out.println ("Isim =" + ad); System.out.println("Toplam puan ve notu:"); System.out.println(toplamPuan + " " + notu); public void settoplam() toplampuan = 0.25 * (kisasinav1 + kisasinav2) / * finalsinavi * arasinav; 46

47 Bilgi Saklanması ve Kuşatması set ve get metotları örnek public void setnot() if(toplampuan >= 90.0) notu = 'A'; else if(toplampuan >= 80.0) notu = 'B'; else if(toplampuan >= 70.0) notu = 'C'; else if(toplampuan >= 60.0) notu = 'D'; else notu = 'F'; 47

48 Bilgi Saklanması ve Kuşatması set ve get metotları örnek public class deneogrencikayit public static void main(string[]args) OgrenciKayit ogrenci1 = new OgrenciKayit(); ogrenci1.verigir(); ogrenci1.settoplam(); ogrenci1.setnot(); ogrenci1.ciktiyaz(); Çıktı: Ogrenci adini giriniz: Ahmet Kisa sinav1 ve kisa sinav2 notlari: Ara sinav ve final notlari: Isim = Ahmet Toplam puan ve not: D 48

49 Bilgi Saklanması ve Kuşatması set ve get metotları örnek public class KesirliSayi private int pay; private int payda; public void setsayi(int pay1, int pay2) pay = pay1; payda = pay2; public int getpay() return pay; public int getpayda() return payda; 49

50 Bilgi Saklanması ve Kuşatması set ve get metotları örnek public KesirliSayi topla(kesirlisayi sayi1) KesirliSayi sayi2 = new KesirliSayi(); sayi2.pay = sayi1.pay * payda + pay * sayi1.payda; sayi2.payda = sayi1.payda * payda; return sayi2; public void yazdir() System.out.println(pay + "/" + payda); 50

51 Bilgi Saklanması ve Kuşatması set ve get metotları örnek import java.util.scanner; public class DeneKesirliSayi public static void main(string[] args) int pay1, pay2, payda1, payda2; KesirliSayi ilksayi = new KesirliSayi(); KesirliSayi ikincisayi = new KesirliSayi(); KesirliSayi sayilartoplami; KesirliSayi sonsayi = new KesirliSayi(); Scanner klavye = new Scanner(System.in); System.out.println("Birinci sayinin pay ve paydasi:"); pay1 = klavye.nextint(); payda1 = klavye.nextint(); ilksayi.setsayi(pay1, payda1); 51

52 Bilgi Saklanması ve Kuşatması set ve get metotları örnek System.out.println("Ikinci sayinin pay ve paydasi:"); pay2 = klavye.nextint(); payda2 = klavye.nextint(); ikincisayi.setsayi(pay2, payda2); sayilartoplami = ilksayi.topla(ikincisayi); sayilartoplami.yazdir(); sonsayi.setsayi(7,8); sonsayi.yazdir(); Çıktı: Birinci sayinin pay ve paydasi: 10 2 Ikinci sayinin pay ve paydasi: /10 7/8 52

53 Bilgi Saklanması ve Kuşatması Kuşatma prensiplerine göre iyi bir sınıf oluşturmak Sınıf tanımından hemen önce sınıfın, verilerin ve metodların amacını açıklayan bir yorum konmalıdır. Bütün sınıf değişkenleri private olarak tanımlanmalıdır. Diğer sınıflar ve programlar tarafından değerlerinin değiştirilmesi veya atanması gerekebilecek değişken ve metotlar için erişim ve değiştirici (get,set) metotları oluşturulmalıdır. Bütün public metotların başında metot hakkında bilgi veren kısa bir açıklama bulunmalıdır. Sınıf içinde kullanılan, dışarıdan erişilmeyecek metotlar private olarak tanımlanmalıdır. Bunlara yardımcı metotlar denir ve yalnızca sınıf içinde tanımlı diğer metotlar tarafından kullanılırlar. 53

54 Konular Sınıf ve Metot Tanımları Metotların Çağırılması void Metot Tanımları Değer Döndüren Metotlar Parametreli Metotlar this Parametresi Yerel Değişkenler Parametrelerin Metotlara Gönderimi Bilgi Saklanması ve Kuşatması Nesneler ve Gösterimleri tostring() Metodu Nesne Kurucuları

55 Nesneler ve Gösterimleri Değer ile çağırma Değişkenin aldığı değer metoda gönderilir. Metot içinde yapılan işlemler orjinal nesneyi değiştirmez. Referans ile çağırma Metoda değişkenin (nesnenin) kendisi göderilmiş gibi olur ve nesnenin bellekteki adresi yollanır. Metot içinde yapılan işlemler orjinal nesneyi değiştirir. 55

56 Nesneler ve Gösterimleri Değer ile çağırma int i, j; i = 10; j = i; i = 20; System.out.println(i + ve + j); 20 ve 10. Çıktı: 20 ve 10 56

57 Nesneler ve Gösterimleri Referans ile çağırma İki basit veri tipi kullanıldığında değişkenler birbirinden bağımsız hareket ederler ve iki ayrı değişken olarak değer alabilirler. Nesne kullanıldığında atama işlemi esnasında = işaretinin sağındaki nesnenin referansı (adresi) işaretin solundaki referansa (adrese) eşitlenir. Dolayısıyla bir değişken ismi kullanarak yapılan bir değişim diğer değişkeni de (ismi farklı olsa da) aynı şekilde değiştirmektedir. Bunun sebebi iki nesnenin de referanslarının (adreslerinin) aynı olmasıdır. 57

58 Nesneler ve Gösterimleri Nesneleri karşılaştırma İki nesne == ile karşılaştırılırsa nesnelerin bellek adresleri karşılaştırılmış olacaktır. İki nesnenin eşitliği bütün nesne özelliklerinin karşılaştırılmasını gerektirir ve bunun için equals() metodu yazılmalıdır. İki nesnenin alanlarının tek tek karşılaştırılması gerekir. public boolean equals(kesirlisayi sayi) return (this.pay == sayi.pay && this.payda == sayi.payda); public KesirliSayi kopya() KesirliSayi yenisayi = new KesirliSayi(); yenisayi.setsayi(this.pay, this.payda); return yenisayi; 58

59 Nesneler ve Gösterimleri Nesneleri karşılaştırma örnek public class DeneKesirliSayi3 public static void main(string [] args) KesirliSayi s1 = new KesirliSayi(); s1.setsayi(3,5); KesirliSayi s2 = s1.kopya(); s2.setsayi(3,5); if (s1.equals(s2)) System.out.println(s1.yazdir()+ " ve "+ s2.yazdir()+ esittir ); else System.out.println(s1.yazdir()+ " ve "+ s2.yazdir()+ " esit degildir"); Çıktı: 3/5 ve 3/5 esittir s1 ve s2 farkli nesnelerdir if (s1 == s2) System.out.println("s1 ve s2 ayni nesnelerdir"); else System.out.println("s1 ve s2 farkli nesnelerdir"); 59

60 Konular Sınıf ve Metot Tanımları Metotların Çağırılması void Metot Tanımları Değer Döndüren Metotlar Parametreli Metotlar this Parametresi Yerel Değişkenler Parametrelerin Metotlara Gönderimi Bilgi Saklanması ve Kuşatması Nesneler ve Gösterimleri tostring() Metodu Nesne Kurucuları

61 tostring() Metodu Java otomatik olarak tüm sınıflar için tostring() metodunu sağlar. Bu metot herhangi bir nesne için çağırıldığında o nesnenin kimlik numarasını döndürür. KesirliSayi s1 = new KesirliSayi(); s1.setsayi(3, 5); System.out.println(s1.toString()); System.out.println(s1); Çıktı: KesirliSayi@60aeb0 KesirliSayi@60aeb0 61

62 tostring() Metodu Kesirli sayı sınıfı için ayrı bir tostring() metodu tanımlanabilir. public class KesirliSayi //... public String tostring() return pay + / + payda; KesirliSayi s1 = new KesirliSayi(); s1.setsayi(3, 5); System.out.println(s1.toString()); System.out.println(s1); Çıktı: 3/5 3/5 62

63 Konular Sınıf ve Metot Tanımları Metotların Çağırılması void Metot Tanımları Değer Döndüren Metotlar Parametreli Metotlar this Parametresi Yerel Değişkenler Parametrelerin Metotlara Gönderimi Bilgi Saklanması ve Kuşatması Nesneler ve Gösterimleri tostring() Metodu Nesne Kurucuları

64 Nesne Kurucuları Nesne kurucusu (constructor) nesnenin oluşturulması sırasında değişkenlerin istenildiği gibi düzenlenmesini sağlar. Nesne kurucusunun adı sınıf adıyla aynıdır. Nesne kurucusu değer döndürmez ve void kullanılmaz. Nesne kurucusu dışarıdan parametre alabilir. Bir sınıfta nesne kurucusu yoksa alan adalrına ilk değerler atanır. (int için 0, nesne için null) public class Sınıf_Adı public Sınıf_Adı(param_türü1 param_adı1,...)

65 Nesne Kurucuları Bir sınıfta birden fazla nesne kurucusu olabilir. Hangi nesne kurucusunun kullanılacağına gönderilen parametre sırası ve türlerine göre karar verilir. Buna metot aşırı yükleme (method overloading) denir. 65

66 Nesne Kurucuları import java.util.scanner; public class Kisi private String isim; private String eposta; private String dogumyeri; private double genelnot; public Kisi(String a, String b, String c, double o) isim = a; eposta = b; dogumyeri = c; genelnot = o; public Kisi() 66

67 Nesne Kurucuları public void setisim(string adsoyad) isim = adsoyad; public void seteposta(string ) eposta = ; public void setdogumyeri(string yer) dogumyeri = yer; public void setgenelnot(double ortalama) genelnot = ortalama; 67

68 Nesne Kurucuları public double getgenelnot() return genelnot; public void bilgioku() Scanner klavye = new Scanner(System.in); System.out.print("Ismi giriniz: "); isim = klavye.nextline(); System.out.print("e-Postayi giriniz: "); eposta = klavye.nextline(); System.out.print("D. Yeri giriniz: "); dogumyeri = klavye.nextline(); System.out.print("GPA giriniz: "); genelnot= klavye.nextdouble(); 68

69 Nesne Kurucuları public void bilgiyaz() System.out.println("Ogrenci Ismi: "+isim); System.out.println("Ogrenci e-posta adresi: "+eposta); System.out.println("Ogrenci Dogum Yeri: "+dogumyeri); public boolean equals(kisi birkisi) if (isim.equals(birkisi.isim)&& eposta.equals(birkisi.eposta)&& dogumyeri.equals(birkisi.dogumyeri)) return true; else return false; 69

70 Nesne Kurucuları class DeneKisi public static void main(string [] args) Kisi ogrenci1 = new Kisi("Erdogan Dogdu", "[email protected]","konya",2.49); Kisi ogrenci2 = new Kisi("Erdogan Dogdu", "[email protected]","konya",3.90); Kisi ogrenci3 = new Kisi(); ogrenci3.setisim("sertac Dogdu"); ogrenci3.seteposta("[email protected]"); ogrenci3.setdogumyeri("ankara"); ogrenci3.setgenelnot(3.28); ogrenci1.bilgiyaz(); ogrenci2.bilgiyaz(); System.out.println(ogrenci1 + " " + ogrenci2); if (ogrenci1.equals(ogrenci2)) System.out.println("ayni ogrenciler " + ogrenci1.getgenelnot()); else System.out.println("farkli ogrenciler..."); 70

71 Nesne Kurucuları Çıktı: Ogrenci Ismi: Erdogan Dogdu Ogrenci e-posta adresi: Ogrenci Dogum Yeri: Konya Ogrenci Ismi: Erdogan Dogdu Ogrenci e-posta adresi: Ogrenci Dogum Yeri: Konya ayniogrenciler

72 Nesne Kurucuları Nesnelerin metotlara girdi ve çıktı olarak kullanımı Nesneler metotlara parametre olarak gönderilebilir veya dönen değer olarak alınabilir. public Sınıf_Adı2 metotadı(sınıf_adı1 nesne_adı1,...) --- return nesne_adı1; Metot nesne alabilir farklı bir değer veya nesne döndürebilir. public BankaHesabi hesapbul(personel P) BankaHesabi b = new BankaHesabi(); --- return b; 72

73 Nesne Kurucuları public class DeneKesirliSayi4 public static void birartir(kesirlisayi sayi) sayi.setsayi(sayi.getpay() + 1, sayi.getpayda + 1); public static vodi birartir(int i) i++; public static void main(string [] args) KesirliSayi s = new KesirliSayi(); s.setsayi(3, 5); birartir(s); s.yazdir(); int j = 5; birartir(j); System.out.println(j); 73

BİL-141 Bilgisayar Programlama I (Java)

BİL-141 Bilgisayar Programlama I (Java) 1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 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 Sınıf ve Metot

Detaylı

BİL-141 Bilgisayar Programlama I (Java)

BİL-141 Bilgisayar Programlama I (Java) 1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,

Detaylı

BİL-141 Bilgisayar Programlama I (Java)

BİL-141 Bilgisayar Programlama I (Java) BİL-141 Bilgisayar Programlama I (Java) TOBB Ekonomi ve Teknoloji Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, M. Ali Akcayol tarafından Java Bilgisayar Programlamaya Giriş, A.

Detaylı

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

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN GİRİŞ Ekrana «Merhaba Java» şeklinde bir mesajı 100 defa yazmak istediğinizi düşünelim. Aşağıdaki komut satırını 100 kez yazmak sıkıcı

Detaylı

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

Örnek 1: Programı yazın ve çalıştırın. 1 0 Örnek 1: Programı yazın ve çalıştırın import javautilscanner; public class MatrisFaiz1 public static void main(string[] args) Scanner klavye=new Scanner(Systemin); double [][] faiztablo = new double

Detaylı

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

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 4. UYGULAMA -3 GÜZ DÖNEMİ AKT5 BİLGİSAYAR PROGRAMLAMA DERSİ 4. UYGULAMA ÖRNEK : f() ve g() parçalı fonksiyonları aşağıdaki gibi tanımlanmıştır. değerini kullanıcıdan isteyen ve hesaplamalar sonucunda elde edilecek

Detaylı

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

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 9. UYGULAMA 2012-2013 GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 9 UYGULAMA ÖRNEK 1: Kullanıcıdan anapara miktarını istedikten sonra 0025, 0050, 0075 ve 0100 dönem faizi değerlerini kullanarak gelecek 10 dönem

Detaylı

BİL-141 Bilgisayar Programlama I (Java)

BİL-141 Bilgisayar Programlama I (Java) 1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,

Detaylı

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.

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. 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. [10 puan] int param = 30; int result = 300; if (param > 45) result

Detaylı

11- FONKSİYONLAR (FUNCTIONS)

11- FONKSİYONLAR (FUNCTIONS) 1 Fonksiyon : Belirli bir işi yapan programın bir isim altına tanımlanarak, o isimle çağrılarak kullanılması. Fonksiyonun faydaları : Programın modülerliğini arttırır. Aynı işi yapan program parçası tekrar

Detaylı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 4. Yrd.Doç.Dr.Hacer Karacan

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 4. Yrd.Doç.Dr.Hacer Karacan NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 4 Yrd.Doç.Dr.Hacer Karacan İçerik Nesne Oluşturma Nesnenin Yaşam Süreci Dahili Sınıflar Nesne Oluşturma Java dahil pek çok programlama dilinde nesne oluşturmak için

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 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 Giriş Alt Sınıflar

Detaylı

C# Metotlar ve Metot Tanımlama

C# Metotlar ve Metot Tanımlama C# Metotlar ve Metot Tanımlama Metot Kavramı : Metotlar bir program içerisinde aynı işi gerçekleştiren satırları belirli düzende sadece bir kez oluşturarak gerektiğinde tekrar tekrar kullanabilmemizi sağlayan

Detaylı

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

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Örneğin; bir öğrenci, sıra, çember, bir buton birer nesnedir. Bir

Detaylı

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

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN TEMEL AMAÇLAR Bir dairenin yarıçapını kullanıcıdan alarak dairenin alanını hesaplamak istediğimizi düşünelim. Eğer girilen değer

Detaylı

BİL-141 Bilgisayar Programlama I (Java)

BİL-141 Bilgisayar Programlama I (Java) BİL-141 Bilgisayar Programlama I (Java) TOBB Ekonomi ve Teknoloji Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, M. Ali Akcayol tarafından Java Bilgisayar Programlamaya Giriş, A.

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları METOTLAR Nesneye yönelik programlama dillerinde genellikle fonksiyonlar metot olarak isimlendirilirler. Metot ve fonksiyon olarak ifade edilecek kavramlar aynı anlamda kullanılacaktır. Her çalışan C# programı

Detaylı

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

D İ Z İ L E R A R R A Y S D İ Z İ L E R A R R A Y S 1 Örneğin 120 adet öğrencinin adını klavyeden girip, daha sonra bunları ekrandan yazdıralım. Bunun için, her öğrenci için ayrı bir değişken tanımlanmalıdır. String ad1; String

Detaylı

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

Karşılaştırma İşlemleri ve Koşullu İfadeler Karşılaştırma İşlemleri ve Koşullu İfadeler BİL131 - Bilişim Teknolojileri ve Programlama Hakan Ezgi Kızılöz Karşılaştırma İşlemleri Java'da sayısal veri tiplerinin karşılaştırılması için aşağıdaki karşılaştırma

Detaylı

Sunum İçeriği. Programlamaya Giriş 22.03.2011

Sunum İçeriği. Programlamaya Giriş 22.03.2011 Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 5 Nesneye Yönelik Programlamaya Giriş Bu

Detaylı

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ Java programlama dili, Java SUN bilgisayar şirketi tarafından 1991 yılında geliştiril Program bloklar halinde yazılır ve bloklar { } ile oluşturulur. Komutlar aynı satıra

Detaylı

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

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO while(), do-while(), for() Döngü (loop) : Bir koşul sağlandığı (true olduğu) sürece bir veya birden çok komutun tekrarlanması işlemidir. Java Döngüler (loops) While() do-while() for ( ) while ( koşul )

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

C de Detaylı Üs Alma Programı. C# Dilinde Metot Tanımlama ve Yazdırma

C de Detaylı Üs Alma Programı. C# Dilinde Metot Tanımlama ve Yazdırma C de Detaylı Üs Alma Programı Bu uygulama yazısında C de pow() fonksiyonunu kullanmadan üs hesabı yapan programı yazmaya çalıştım. Başta tanımladığım float tipinde 2 fonksiyon sayesinde + lı ve li üs değerleriyle

Detaylı

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/ Ana Main Kodları /*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/ package javaapplication1; public class JavaApplication1 public static void

Detaylı

Ders 8: Metotlar. barisgokce.com

Ders 8: Metotlar. barisgokce.com Ders 8: Metotlar Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com Metotlar C# içerisinde bir veya birden fazla kod bulunduran kod bloklarıdır. Bir nesnenin veya sınıfın programı

Detaylı

public static int Toplam int x, int y

public static int Toplam int x, int y static Kavramı 1 İçinde bulunduğu sınıftan nesne oluşturulmadan veya hiç bir nesneye referans olmadan kullanılabilen üyeler static olarak nitelendirilir. Metotlar ve alanlar static olarak tanımlanabilir.

Detaylı

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM 2014) //Class (Sınıf) // Sınıf (class) soyut veri tipidir. // Nesne (object) sınıfın somutlaşan bir cismidir. // static : nesnesi oluşturulmaz.

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor

Detaylı

Ders - 7 while döngüsü

Ders - 7 while döngüsü Ders - 7 while döngüsü import java.util.scanner; public class StringKiyaslama { public static void main(string[] args) { Scanner klavye=new Scanner(System.in); Oncelikle Lab icin bir aciklama System.out.println("1.

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri

Detaylı

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) BBS-515 Nesneye Yönelik Programlama Ders #9 (16 Aralık 2009) Geçen ders: Java Applet lerde bileşen yerleştirme türleri ( applet layouts

Detaylı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ 2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 7 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Java Programlama Dili ve Algoritmadan Kodlamaya Geçiş) Yrd. Doç. Dr. İbrahim Küçükkoç

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Genel Bilgiler Ders konuları 1. Programlamaya Giriş 2. Program Denetimi ve Operatörler 3. Nesnelerin

Detaylı

BMH-303 Nesneye Yönelik Programlama

BMH-303 Nesneye Yönelik Programlama BMH-303 Nesneye Yönelik Programlama Kurucu metotlar (constructors) ve statik deyimi Dr. Musa ATAŞ Siirt Üniversitesi Bilgisayar Mühendisliği Kurucu Metotlar (Constructors) Kurucu metot çeşitleri Varsayılan

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA Metotlar Şu ana kadar yaptığımız örneklerde hep önceden hazırlanmış ReadLine(), WriteLine() vb. gibi metotları kullandık. Artık kendi metotlarımızı yapmanın zamanı geldi. Bilmem

Detaylı

BTEP243 Ders 3. class Yazım Kuralı:

BTEP243 Ders 3. class Yazım Kuralı: BTEP243 Ders 3 Sınıflar ve Nesneler Nesne tabanlı programlamada, programlamanın temeli sınıflardır (class). Nesnelerin yaratılmasında taslak (blueprint) görevi görür. Sınıflar; o Nesnelerin özelliklerinin

Detaylı

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

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

Detaylı

MAT213 Bilgisayar Programlama I

MAT213 Bilgisayar Programlama I if Komutu Bir mantıksal (boolean) ifadenin sonucuna göre bazı komutların çalıştırılıp, bazı komutların da çalıştırılmamasını sağlar. Komut(lar) (Doğru) Doğru Yanlış Boolean Komut(lar) (Yanlış) if (boolean

Detaylı

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

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek Boyutlu Diziler Yrd. Doç. Dr. İlhan AYDIN 1 Problem 100 adet sayı okumak istediğimizi düşünelim. Bu sayıların ortalaması hesaplanacak ve sayıların kaç tanesinin

Detaylı

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

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 6. UYGULAMA 2012-2013 GÜZ DÖNEMİ AKT5 BİLGİSAYAR PROGRAMLAMA DERSİ 6. UYGULAMA ÖRNEK 1: En ve boy uzunluklarını kullanıcıdan isteyen ve yıldızlardan oluşan içi dolu dikdörtgen hazırlayan, ekranda aşağıdaki çıktıyı

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 10: Yapıcı ve Yıkıcı Fonksiyonlar Yapıcı Fonksiyonlar İçerik Yapıcı Fonksiyon Tanımı Üyelere İlk Atama Yapıcı Fonksiyonu Yükleme Yapıcı Fonksiyon Çağırımı Kopya

Detaylı

Temel Veri Türü İşlemleri

Temel Veri Türü İşlemleri Temel Veri Türü İşlemleri BİL131 - Bilişim Teknolojileri ve Programlama Hakan Ezgi Kızılöz Değişkenler ve Veri Türleri Programlama dillerinde her değişken için bir veri türü tanımı yapılır. Değişkenler,

Detaylı

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır. Ders İçeriği An introduction to Object-oriented programming with Java Third Edition Update Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır. Nesneye Yönelik Öğr.

Detaylı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA BLM-111 PROGRAMLAMA DİLLERİ I Ders-12 Fonksiyonlar Yrd. Doç. Dr. Ümit ATİLA [email protected] http://web.karabuk.edu.tr/umitatilla/ Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı

Detaylı

JAVADA METOTLAR. BMÜ-111 Algoritma ve Programlama. Yrd. Doç. Dr. İlhan AYDIN

JAVADA METOTLAR. BMÜ-111 Algoritma ve Programlama. Yrd. Doç. Dr. İlhan AYDIN JAVADA METOTLAR BMÜ-111 Algoritma ve Programlama Yrd. Doç. Dr. İlhan AYDIN 1 Açık problem Amacımız sırasıyla 1 den 10, 10 dan 20 ye ve 35 ten 45 e kadarki sayıların toplamını bulmak olsun. Ne yapmak gerekir?

Detaylı

M.ilkucar MAKU MYO 1

M.ilkucar MAKU MYO 1 M.ilkucar 2010 - MAKU MYO 1 7- PROGRAM YAPISAL KOMUTLARI Acaba hangi yöne gitmeliyim? Oturduğun yerden kalkıp, kapıya varana kadar kaç kez karar verdiniz biliyor musunuz? M.ilkucar 2010 - MAKU MYO 2 7-

Detaylı

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

Operator Aşırı Yükleme (Operator OverLoading) Operator Aşırı Yükleme (Operator OverLoading) Operator Aşırı Yükleme Operatör metotları bir nesnenin ifadeler içinde operatörlerle kullanıldığı zaman davranışını belirler. Temel veri türleri için operatörler

Detaylı

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58; BTEP212 Java DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI Lab7 bazen bir metodun içinde o metodun ait olduğu sınıftan yaratılacak nesneyi veya o nesnenin bir alt

Detaylı

EMT2226 Nesne Yönelimli Programlamaya Giriş

EMT2226 Nesne Yönelimli Programlamaya Giriş 2017-2018 Bahar Yarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü EMT2226 Nesne Yönelimli Programlamaya Giriş 2 Yrd. Doç. Dr. İbrahim Küçükkoç Web: ikucukkoc.baun.edu.tr Email: [email protected]

Detaylı

Hafta 13 Fonksiyonlar

Hafta 13 Fonksiyonlar BLM111 Programlama Dilleri I Hafta 13 Fonksiyonlar Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı fonksiyonları ve kütüphane fonksiyonlarını birlikte kullanırlar.

Detaylı

Java da, tüm değişkenlerin kullanılmadan önce tanımlanması edilmesi gerekir. Bir değişken tanımlamanın temel gösterimi bu şekildedir:

Java da, tüm değişkenlerin kullanılmadan önce tanımlanması edilmesi gerekir. Bir değişken tanımlamanın temel gösterimi bu şekildedir: BÖLÜM 4 Değişken Tipleri Java da, tüm değişkenlerin kullanılmadan önce tanımlanması edilmesi gerekir. Bir değişken tanımlamanın temel gösterimi bu şekildedir: type identifier [ = value][, identifier [=

Detaylı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 3 Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Sınıflar ve Fonksiyonlar Tekrar kullanılabilir kodlar 1 Nesne Tabanlı Tasarım

Detaylı

Programlama Dillerinde Kullanılan Veri Tipleri

Programlama Dillerinde Kullanılan Veri Tipleri Programlama Dillerinde Kullanılan Veri Tipleri Taban/Biçim Basic Paskal C/C++/C#/Java 10 (Decimal ) - - - 16 (Hexadecimal) &hsayı veya &Hsayı $sayı 0xsayı veya 0Xsayı Üstel eüs veya Eüs eüs veya Eüs eüs

Detaylı

String (Dizgi) İşlemleri

String (Dizgi) İşlemleri String (Dizgi) İşlemleri BİL131 - Bilişim Teknolojileri ve Programlama Hakan Ezgi Kızılöz String (Dizgi) Sınıfı String bir karakter dizgisidir. String Java'nın temel veri türlerinden değildir ve sınıf

Detaylı

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

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama İçerik Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili kavramlar Bu hafta:

Detaylı

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

İLKEL VERİ TİPLERİ, STRINGLER VE KONSOL G/Ç İLKEL VERİ TİPLERİ, STRINGLER VE KONSOL G/Ç Amaçlar: 1. Basit programlama yapısı 2. İlkel veri tipleri 3. Aritmetik işlemlerin yapılması. Örnek 2-1 Programı yazın ve çalıştırın. public class Degiskenler

Detaylı

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kalıtım Kavramı Java da Çok Biçimlilik Kavramı Fonksiyonların Çok Biçimliliği Yapıcı Fonksiyonun Çok Biçimliliği Java da Kalıtım Kavramı 4 Kalıtım;

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş math Kütüphane Fonksiyonları Çok Parametreyle Fonksiyon Tanımı Fonksiyon

Detaylı

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Ders #2 (2 Kasım 2009) İçerikç Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili

Detaylı

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar Değer Döndüren Fonksiyonlar Çok Parametreli Fonksiyonlar Değişken Kapsamları Çok Fonksiyonlu Programlar Fonksiyon Tanımı Karmaşıkveuzunprogramları,

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA İŞARETÇİ ELEMANLI SINIFLAR REFERANSLAR OPERATÖRLERİN AŞIRI YÜKLENMESİ ATAMA OPERATÖRÜ Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü İşaretçi Elemanlı Sınıflar

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 9: Sınıf İçerik Sınıf Tanımı Nesne Tanımı İkili Kapsam Çözme Operatörü UML ile Sınıfların Gösterimi 2 Sınıf kavramı, nesne-tabanlı programlamanın temelini oluşturur.

Detaylı

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:

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: 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: Soru 2: Girilen n adet sayının harmonik ortalamasını bulan bir program

Detaylı

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

Bölüm 10 Statik ve Anlık Öğeler Bölüm 10 Statik ve Anlık Öğeler Statik ve Anlık Öğeler Statik öğeler, bir sınıfta static sıfatıyla nitelendirilen değişkenler ve metotlardır. Bunlara sınıf değişkenleri de denilir. static nitelemesi almayan

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Diziler ile Pointer Arası İlişki Bir dizi adı sabit bir pointer gibi düşünülebilir. Diziler ile pointer lar yakından ilişkilidir. Pointer lar değişkenleri gösterdikleri gibi,

Detaylı

Dizi ( Array ) ve Dizgi ( String )

Dizi ( Array ) ve Dizgi ( String ) Java da Dizi ( Array ) ve Dizgi ( String ) Tanımlama BBS-515 Nesneye Yönelik Programlama Ders #6 (25 Kasım 2009) İçerikç Geçen ders: Kalıtım ( inheritance ) -- tekrar ziyaret Java da super kullanımı Java

Detaylı

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

BASİT VERİ TÜRLERİ, STRİNGLER, VE KONSOL GİRİŞ/ÇIKIŞ BASİT VERİ TÜRLERİ, STRİNGLER, VE KONSOL GİRİŞ/ÇIKIŞ BMÜ-101 ALGORİTMA VE PROGRAMLAMA İLHAN AYDIN 2013-2014 GÜZ DÖNEMİ FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ AMAÇLAR İlkel veri türleri ile tanışmak

Detaylı

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR PROGRAMLAMAYA GİRİŞ FONKSİYONLAR Fonksiyonlar C programlama dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya

Detaylı

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma C Programlama Dr. Serkan DİŞLİTAŞ 7.1. Metot Kavramı Programlama dillerinde bütün kod satırlarının

Detaylı

JAVADA DİZİ İŞLEMLERİ

JAVADA DİZİ İŞLEMLERİ JAVADA DİZİ İŞLEMLERİ Javada diziler nesnedirler, cdeki gibi hafızada yer kaplayan pointer değillerdir. Javada diziler, cye göre daha güvenilirdir. Dizilerin elemanlarına gelişigüzel değerler atayamazsınız.

Detaylı

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

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır. GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.

Detaylı

Nesneye Dayalı Programlama

Nesneye Dayalı Programlama SAKARYA ÜNİVERSİTESİ Nesneye Dayalı Programlama Hafta 4 Prof. Dr. Ümit KOCABIÇAK Öğr. Gör. Özgür ÇİFTÇİ Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan Öğretim"

Detaylı

Lambda İfadeleri (Lambda Expressions)

Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri, değişkenlere değer atamak için kullanılan sadeleştirilmiş anonim (isimsiz) fonksiyonlardır. Bu fonksiyonlar matematikteki ve bilgisayar bilimlerindeki

Detaylı

Sınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar

Sınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar Nesneler ve Türler Sınıflar ve Yapılar Arasındaki Farklılıklar Sınıf Üyeleri Değer ve Referans Türde Olan Aktarımlar Yapıcılar ve Statik Yapıcılar Read-Only Statik Sınıflar Object Sınıfı Sınıflar Sınıflar

Detaylı

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ü 2017-2018 Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü Yrd. Doc. Dr. İbrahim KÜÇÜKKOÇ Web: http://ikucukkoc.baun.edu.tr Email: [email protected] 1 Dersin Amaci: Algoritma

Detaylı

Java ile Nesneye Yönelik Programlama (Object Oriented Programming)

Java ile Nesneye Yönelik Programlama (Object Oriented Programming) Java ile Nesneye Yönelik Programlama (Object Oriented Programming) Giriş Yrd. Doç. Dr. Aybars UĞUR Örnek 1 Bir Yolcu sınıfı, yolcu1 nesnesi oluşturulması ve kullanılması class Yolcu String ad; String soyad;

Detaylı

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance Önemli noktalar Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance public class Test { // çalışır İnsan insan = new Çiçekçi();

Detaylı

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır.

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. C PROGRAMLAMA FONKSİYONLAR Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. Daha büyük programlar yazmanın en kolay yolu onları küçük parçalar halinde yazıp sonra

Detaylı

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

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach() (LOOPS) while(), do-while(), for(), foreach() Döngüler (loops) while do-while for foreach while ( koşul ) işlemler; do işlemler; while (koşul ); for (başlangıç ; koşul ; arttırma) işlemler; foreach ( tip

Detaylı

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

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır. GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.

Detaylı

Fonksiyonlar (Altprogram)

Fonksiyonlar (Altprogram) Fonksiyonlar (Altprogram) C Programlama Dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya gelmesi ile oluşur.

Detaylı

1. Her marka için 3 aylık satış toplamı nedir? (Tablodaki satır toplamları)

1. Her marka için 3 aylık satış toplamı nedir? (Tablodaki satır toplamları) Çok Boyutlu Diziler gelecegiyazanlar.turkcell.com.tr/konu/android/egitim/android-101/cok-boyutlu-diziler Kategori : Mobil Lisans : Creative Commons (by-nc-sa) En son 28.04.2016 tarihinde güncellendi Yazar

Detaylı

Java String İşlemleri

Java String İşlemleri Java String İşlemleri Karakterler (Characters) "char" kelimesi bir karakter tanımlamak için kullanılır. Karakter tek tırnak içine alınmalıdır. Bir char'ın aralığı 0 ile 65536 arasındadır. Char türü işaretsiz

Detaylı

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

İ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İ İ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İ AD SOYAD: TESLİM TARİHİ: OKUL NO: TESLİM SÜRESİ: 2 hafta ÖDEV NO: 5 1- BANKA

Detaylı

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

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN [email protected] C DİLİNDE FONKSİYONLAR C DİLİNDE FONKSİYONLAR C programlama dili fonksiyon olarak adlandırılan alt programların

Detaylı

Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi

Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi Görsel Programlama Kalıtım, Temel/Alt Sınıf, Temel/Alt Sınıf Tip Dönüşümleri, Temel Sınıf Yapıcıları, super Anahtar Kelimesi, Sınıf Üyesi Görünürlüğü, Statik Üyeler ve Final Üyeler Sınıflar Programcı tarafından

Detaylı

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya MAK 1005 Bilgisayar Programlamaya Giriş Fonksiyonlar Prof. Dr. Necmettin Kaya Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. Daha büyük programlar yazmanın en

Detaylı

Göstericiler (Pointers)

Göstericiler (Pointers) C PROGRAMLAMA Göstericiler (Pointers) C programlama dilinin en güçlü özelliklerinden biridir. Göstericiler, işaretçiler yada pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi

Detaylı

İçerik. Kapsülleme ( Encapsulation ) Java da Kalıtım: Örnek 2.1. Kalıtım ( Inheritance ) Tekrar Ziyaret. Java da Kalıtım: Örnek 2.2.

İçerik. Kapsülleme ( Encapsulation ) Java da Kalıtım: Örnek 2.1. Kalıtım ( Inheritance ) Tekrar Ziyaret. Java da Kalıtım: Örnek 2.2. İçerik Geçen ders: Kalıtım ( inheritance ) Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama Ders #5 (18 Kasım 2009) Bu ders: Kalıtım ( inheritance ) tekrar ziyaret Java da super kullanımı

Detaylı

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ Amaçlar: 1- Arayüzler (Interfaces) 2- Soyut Sınıflar ve Metotlar(Abstract classes and methods) Uygulama-1: interface:cihaz ac() kapat() goster(string) class: TV class: LCD class: Projector... Cihaz adındaki

Detaylı

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ [email protected] YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 İşaretçiler ve Diziler Fonksiyon

Detaylı

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

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) { Fonksiyonlar Kendi içinde bağımsız olarak çalışabilen ve belli bir işlevi yerine getiren program modülleridir. C programları bu modüllerden (fonksiyonlar) oluşurlar. Fonksiyonların yazılmasındaki temel

Detaylı

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir; abstract Sınıflar 1 Özet sınıflar ya da özet metotlar abstract anahtar sözcüğü kullanılarak tanımlanırlar. Bir temel sınıf içinde bildirilen abstract metotların içeriği boştur. Kendisinden yeni bir instance

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonu Referans ile Çağırma (Call by Reference) Bir fonksiyona gönderilen parametrenin normalde değeri değişmez. Fonksiyon içinde yapılan işlemlerin hiçbiri argüman değişkeni

Detaylı

/*int sayi1, sayi2,toplam=0;

/*int sayi1, sayi2,toplam=0; static void Main(string[] args) { //--------------------1. ders-------------------- -------- / ekrana yazma ekrandan okuma sayısal değerleri okuma yer tutucular basit tip dönüşümü / /int sayi1, sayi2,toplam=0;

Detaylı

Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama

Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama Ders #5 (18 Kasım 2009) İçerik Geçen ders: Kalıtım ( inheritance ) Bu ders: Kalıtım ( inheritance ) tekrar ziyaret Java da super kullanımı

Detaylı