NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 1

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

Download "NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 1"

Transkript

1 NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 1

2 NESNE YÖNELİMLİ PROGRAMLAMAYA GİRİŞ Program Nedir? Programlama Dili Nedir? Programlamanın Tarihçesi Programlama Türleri Makine Dili Programlama Assembly Dili Programlama Yapısal Programlama Nesne Yönelimli Programlama

3 Program Nedir? Bilgisayarlar, bilgisayar programı denen komut setlerinin kontrolu altında verileri işlerler. Bilgisayarda çalışan bilgisayar programlarına yazılım denir. Program, günlük hayatta bir sorunu bilgisayar ile çözmek, rutin işlemleri kolaylaştırmak için yazılan yazılımlardır. Kişinin program yazması için öncelikle Genel Programlama Bilgisine sahip olması gerekir. Peşinden bir Programlama Dili bilmek gereklidir. Dil tercihi yazılacak programa, soruna ve platforma uygun olarak yapılabilir.

4 Programlama Dili Nedir? Programlama Dili bilgisayarda çözülecek bir sorun için çözümün bilgisayara adım adım yazılmasını sağlayan biçimsel kuralları olan ve bu kurallara sıkı sıkıya bağımlılığı gerektiren bir tanımlar kümesidir. Programlama dili son derece standart tanımlar içerir ve bir programı yazarken bu tanımlardan bir an için bile uzaklaşılamaz. Bir program parçasından başkalarının başka şeyler anlaması mümkün değildir. Yazılan bu programlar bir derleyici vasıtası ile Makine diline çevrilir varsa hataların bulunmasını sağlar ve kullanıcı bu hataları düzeltir.

5 Programlamanın Tarihçesi yılları arasında programcılar oldukça fazla kodlanmış makine komutlarıyla programlarını yazıyorlardı. Makine dillerine yakın ancak yine belli bir mikroişlemci için geliştirilmiş dillerden birisi de ASSEMBLY programlama dilidir. Bu süreç içinde belli amaçlar ve alanlar için birçok üst düzey programlama dili geliştirildi: ADA, BASIC, FORTRAN, COBAL, PASCAL, PL/I, C, C li yıllar üst düzey programlama dillerinin yaygın olarak kullanıldığı yıllar olmuştur li yıllar 'Windows'lu yıllar oldu. Windows işletim sistemlerinin yaşamımıza girmesiyle programlama görsel ve olay- temelli olarak gelişmiştir

6 Programlama Türleri Programlama türleri makine diline yakınlıktan, insan diline yakınlığına doğru derecelendirilir. Makine Diliyle başlayan programlama, zamanla insan diline yaklaşan seyir izlemiştir. En Temeli makinenin doğrudan anladığı Makine Dili iken, bugüne kadar insan diliyle programlama gerçekleştirilememiştir

7 Makine Dili Programlama Bilgisayarın doğal dilidir. Bilgisayarın donanımsal tasarımına bağlıdır. Makine dili lerden oluşan komutlardır ve bunlar doğrudan makineye hitap eder. Makine dili işlemci türüne özel olarak yazılmaktadır. Dolayısıyla, bir işlemci türü için makine diliyle yazılmış program, diğer işlemciler için uygun olmamaktadır.

8 Assembly Dili Programlama Bilgisayar programlarının yazılmasında kullanılan alt seviyeli bir dildir. Assembly insanlar tarafından anlaşılması zor olan makina dilinin sayısal ifadelerini, insanlar tarafından anlaşılarak programlanması daha kolay olan alfabetik ifadelerle değiştirerek düşük seviyede programlama için bir ortam oluşturur. Bir assembly dil programı çevirici (Assembler) olarak adlandırılan faydalı bir program tarafından hedef bilgisayarın makine koduna çevrilir.

9 Yapısal Programlama Uzun ve karmaşık programların, bloklara ayrılarak daha kolay biçimde yazılabilmesini mümkün kılar. Küçük kod parçacıkları seviyesinde yapısal programlama hiyerarşik program akışı yapılarını tavsiye eder. Bu yapılar pek çok modern dilde kolayca elde edilebilen, while, repeat, for gibi yapılardır. Bu teknik ile programcılar büyük kod parçalarını daha kısa ve dolayısıyla anlaşılırlığı yüksek alt yordamlar halinde yazarlar. Genel olarak programlarda çok az genel (global) değişken kullanılır. Genel değişkenler yerine altyordamlar yerel değişkenler kullanırlar ve değişkenlerini adres ve değer ile gönderirler.

10 Nesne Yönelimli Programlama Yazılım teknolojisindeki gelişme ve ilerlemeler; yapısal programlama, yapısal tasarım, yapısal analiz ile başlasa da nesne yönelimli analiz, tasarım ve programlama ile daha çok gelişme elde edilmiştir. Nesne yönelimli programlama gerçek dünyayı örnek almakta tıpkı gerçek dünyada olduğu gibi nesneler ve nesnelerin birbirleriyle iletimini sağlayan sistemler kurmaktadır. Bu tarz yazılan yazılımlar, daha iyi organize ve anlaşılır oldukları için bakımları da çok kolay olmakta ve programcıya zaman ve maliyetten büyük tasarruf sağlamaktadır.

11 Nesneye Yönelimin Esasları Nesne kavramı Nesneler arası ilişkiler ve bir birleri arası etkileşimler Sınıf kavramı Nesne yönelimli programlanın esasları Java Programlama Dili

12 Modelleme Gerçekleştirilmesi maliyetli ya da riskli olan projelerde, projenin beklenmedik durumlardan dolayı başarısızlığa uğramaması için bir takım fikir ve tasarım işlemleri (modelleme) yapılır. Modelleme fikir bazındaki projenin, gerçek dünyada uygulanabilirliğini sorgular. Karşılaşılabilecek sorunlara önceden çözüm bularak işgücü, maliyet, zaman gibi kaynak kayıplarını önler. Nesneye yönelimli programlamayla birlikte modellemeye duyulan ihtiyaç artmış ve Yazılım projelerinde kullanılmak üzere UML (Unified Modeling Language) modelleme dili geliştirilmiştir. Model oluşturmak şu getirileri sağlar Yapılacak iş için gereksinimleri ortaya koyar Anlaşmazlıkları çözümlemeye yardımcı olur. Yanlışları Önler

13 Nesne Nedir? Sözlük anlamı Belli bir ağırlığı ve hacmi, rengi olan her türlü canlı ve cansız varlık. olan nesne çevremizi saran dokunabildiğimiz, görebildiğimiz her şeydir. Nesneye yönelimli Programlama gerçek dünyayı örnek almaktadır. Tıpkı gerçek dünyadaki gibi nesneler vardır ve bir birleri arasında etkileşim içerisindedirler.

14 Nesnenin Özellikleri Gerçek hayatta olduğu gibi NYP da da her bir nesnenin özellikleri vardır. Nesnelerin özelliklerinin tutukları değerler nesnenin o andaki durumu hakkında bilgi verirler. Bu değerler değiştikçe nesnenin durumu da değişikliğe uğrar. Nesnelerin özellikleri genellikle nesnenin içinde ya da dışında oluşan bir olayla değişir. Şapka nesnedir, yeşil olması özelliğidir. Kapı nesnedir, açık olması özelliğidir.

15 Nesnenin Eylemleri Nesnenin var olmasındaki temel amaç diğer nesnelere dolayısıyla sisteme katkı sağlamasıdır. Sistemler nesnelerden oluşur ve sistemlerin işlevleri bünyelerindeki nesnelerin eylemleri ile mümkündür. Nesneler var oldukları sürece eylemlerde bulunurlar bu eylemlerden nesnenin kendisi ya da diğer nesneler etkilenirler. Nesneler tasarlanırken ilk olarak sorulan bu nesne hangi eylemlerde bulunacak sorusudur. Uçak Bir Nesnedir, Uçağın Uçması Eylemdir

16 Nesneleri Modelleme Nesnelerin oluşturulabilmesi için öncelikle özelliklerinin ve eylemlerinin neler olduğuna karar vermek gerekmektedir. Bunun kararını vermek için oluşturulmak istenen nesnenin sistemdeki diğer nesnelerce nasıl kullanılacağının bilinmesi gerekmektedir. Modellenecek nesneler gerçek dünyadakilerle bire bir aynı olmak durumunda değillerdir. Sistem için kullanılan nesnelerin sistemin ihtiyaçlarına cevap verecek özelliklere ve eylemlere sahip olması yeterlidir.

17 Nesneler Arası İlişkiler Nesneler, daima diğer nesnelerle ilişki içerisindedirler. Bu ilişki nesneler arası iletişim şeklinde olabildiği gibi, yapısal ilişkilerde kurabilirler. Öyle ki bir nesne başka bir nesnenin parçası olabileceği gibi, birden çok nesnenin birleşiminden de oluşabilir. Örneğin bir araba tekerlekler, kapı. motor, koltuk gibi pek çok nesnenin bir araya gelmesiyle oluşmuş bir nesnedir. Nesneler arası bu ilişkiye toplama (aggregation) denilmektedir.

18 Nesneler Arası İlişkiler Nesneye Yönelimli bir uygulamada tüm veriler ve kodlamalar nesneler üzerinden yapılırlar bu nedenle iş birliği söz konusudur. Nesnelerin birbirleriyle işbirliği yapabilmesi için birbirleriyle ilişki içersisinde olmaları gerekmektedir. Nesneler işbirliğini aralarında mesaj iletimiyle yaparlar. Mesajı alan nesne bu mesajı nasıl yorumlayacağını bilmekle yükümlüdür. Mesajlar genellikle nesnenin bir eylemini gerçekleştirmesi için gerekli veriyi taşırlar.

19 Sınıf Nedir? Nesneye yönelimli programlamada sınıf bir nesnenin tüm özelliklerini ve eylemlerini tanımlayan şablondur. Bir nesne oluşturulacağı zaman sınıfın verdiği bilgilere bakılır ve bu bilgiler doğrultusunda nesne oluşturulur. Sınıflar nesnelerin ilk oluşumu sırasında gerekli olan başlangıç durumlarını da belirtirler. Örneğin, bir marangozhanede masa imal etmek istendiğinde, oluşturmak istenilen masanın tüm özelliklerini sınıf olarak belirtmemiz gerekir. Masa kaç ayaklı olacağı, yüksekliği, açılıp kapanabilirliği gibi zihinde çizilen masa modelini sınıfa yansıtmak gerekmektedir.

20 Sınıf oluşturulduktan sonra sınıfın belirttiği özelliklere ve eylemlere sahip nesneler oluşturulabilir. Gerçek dünyada pek çok nesnenin ismi yoktur. Nesneler ait oldukları sınıflarla adlandırılırlar. Örneğin binek otomobilimize de pazarcının sebzeleri taşıdığı araca da araba diyoruz. Sınıflar tanımlanırken genelden sistemin ihtiyaç duyduğu tüm nesneler göz önüne alınarak sınıflar tanımlanmalı. Benzer özellikteki nesneler için tek sınıf oluşturulması yazılım geliştirme süreçlerinde kolaylıklar sağlamaktadır

21 Java Programlama Dili Java, Sun Microsystems mühendislerinden James Gosling tarafından 1990 ların basında gelistirilmeye baslanmıs; Açık kodlu, Nesneye yönelik, Platformdan bagımsız, Yüksek performanslı, Çok görevli, Yüksek seviyeli, Adım adım isletilen (yorumlanan - interpreted ) bir dildir.

22 Java Temel Özellikler Platform bağımsız Kaynak programları çesitli bilgisayar sistemlerinde derlenip çalıstırılabilen diller tasınabilir ( portable ) olarak nitelendirilir. Java ile yazılmıs programlar, her donanım/isletim sistemi platformunda benzer sekilde çalıştırılabilir. Bir kez yaz ve her yerde çalıstır ( write once, run anywhere ) Otomatik çöp toplama ( garbage collection ) Dinamik bellek yönetimi: Java'da bir nesne olusturulduktan sonra o nesne ile isiniz bittiginde hiçbir sey yapmanız gerekmez; sanal makine akıllı bir biçimde kullanılmayan bellek bölümlerini belirli aralıklarla ya da tetiklenen yordamlarla otomatik olarak temizler ve sisteme iade eder. Açık kaynak Sun, Kasım 2006 da Java bilesenlerini, GNU General Public Licence altında açık kaynak olarak yayınladı.

23 Java ile Neler Yapılabilir? Java diliyle projeler diğer programlama dillerine göre daha kolay, sağlıklı ve esnek şekilde yapılması mümkün olur. Kısaca göz atılırsa Java diliyle, GUI (Grafiksel Kullanıcı Arayüzü) uygulamaları, Applet ler Veri tabanına erişimle ilgili uygulamalar Web tabanlı uygulamalar Akıllı telefonlar için uygulamalar yazmamız mümkündür.

24 Java Runtime Environment JRE Java uygulamalarının bilgisayar üzerinde koşturulmasını sağlayan yazılımdır. Kullanıcılar Java Çalıstırma Ortamınının son sürümünü java.com internet sayfasından yükleyebilir ( Java Çalıstırma Ortamı iki kısımdan olusur: 1. Java Sanal Makinesi ( Java Virtual Machine - JVM) 2. Uygulama Programlama Arayüzü ( Application Programming Interface API) Bir dizi standart kütüphane saglar. JVM ve API birbiriyle tutarlıdır ve bu yüzden JRE altında birlestirilmistir. JRE nin Java uygulamalarını çalıstıran sanal bir bilgisayar oldugunu düşünürsek; JVM islemci, API kullanıcı arayüzü olarak isimlendirilebilir.

25 Java Virtual Machine JVM Sanal makineyi bir yönden bir tür hayali mikroişlemci gibi düşünebiliriz. Gerçek tüm mikroişlemciler (Intel Pentium, AMD Athlon, Sun Sparc, vs.) belirli bir grup komutu işlemek üzere tasarlanmıstır. Bu komutlara islemcinin komut kümesi adı verilir. Tüm yazılımlar çalışabilmek için önce bu komut kümesine dönüştürülür, daha sonra işlemci bu komutları sıra ile sayısal işlemci komutlarına dönüştürüp işletir. Java Sanal Makinesi de baytkod komut kümesini tıpkı işlemci gibi adım adım işletir. Java bu nedenle, yorumlanan ( interpreted ) bir dil olarak adlandırılır.

26 Application Programming Interface API Java API, Java yazılımlarında kullanılan yazılım kütüphanelerine genel olarak verilen isimdir. Java API ile disk, grafik, ağ, veri tabanı, güvenlik gibi yüzlerce konuda kullanıcılara erisim imkanı sunulur. Java API, J2SDK nın ( Java2 Software Development Kit ) bir parçasıdır. Sun, farklı uygulama ortamlarını desteklemek için, farklı API lar tanımlamıştır: Java Platform, Micro Edition (Java ME): Avuçiçi aygıtlar gibi kısıtlı kaynaga sahip ortamlar için Java Platform, Standard Edition (Java SE): Masaüstü bilgisayarlar ve is istasyonları için Java Platform, Enterprise Edition (Java EE): Genis dagıtık sistemler ve web sunucuları için Java Architecture for XML Binding (JAXB): XML İlişkilendirilmesi için

27 Java kaynak dosyasının yapısı Programlamada kodların yazıldığı dosyalara kaynak dosyası denilmektedir. Java kaynak dosyaları.java uzantısıyla oluşturulurlar. Java kaynak dosyaları oluşturulurken dikkat edilecek ilk kural, kaynak dosyasının içerisinde dosyayla aynı adı taşıyan bir sınıf yada arayüz bulunması gerekliliğidir. Bir java kaynak dosyası üç ana bölümden oluşur. Bunlar: Paket Bildirimi Kütüphane Ekleme Kod Bloğu

28 Paket Bildirimi Java da kaynak dosyalar veya derlenmiş halleri bilgisayarımızdaki dosya sistemine benzer bir hiyerarşide tutulurlar. Nasıl ki bilgisayarımızdaki tüm dosyalar bir dizinde tutuluyorsa kaynak dosyalarımız da mutlaka bir paket içerisinde tutulmalıdır. Paketler başka paketlerin içerisinde bulunabilirler. Örneğin java da dosya işlemlerini yapan File.java kaynak dosyası java paketinin içerisindeki io paketine aittir. Bu nedenle File.java dosyasının en üst kısmında package java.io ifadesi bulunur. Bir kaynak dosya sadece bir pakete ait olabilir dolayısıyla kaynak dosyasında sadece bir adet paket bildirimi olur.

29 Kütüphane Ekleme Daha önceden yazılmış ve programcının kullanımına sunulmuş kaynak dosyalar yada bunların derlenmiş hallerine kütüphane denilmektedir. Java da kütüphane bildirimi, paket bildiriminin ardından yapılmaktadır. Örneğin yukarıda bahsettiğimiz File.java kaynak dosyasından üretilmiş File sınıfını yeni yazacağımız kodda kullanmak istersek; import java.io.file; ifadesini kullanmamız gerekmektedir.

30 Kütüphane Ekleme Tek tek sınıf dosyalarını eklemektense bir paket içerisindeki tüm dosyaları aynı satırda ekleme imkanı da mevcuttur. Örneğin Java nın giriş çıkış işlemlerinin bulunduğu java.io paketinin içerisindeki tüm kütüphaneleri yazacağımız kodda kullanmak istersek import java.io.*; ifadesini kullanırız.

31 Kütüphane Ekleme

32 Kod Bloğu Paket ve kütüphane işlemlerinden sonra kod bloğu tanımlanır kod bloğu en az bir adet sınıf veya arayüz tanımından oluşur. Kod bloğunda tanımlanan arayüz yada sınıfın en az birinin dosya ismiyle aynı isimde olması gerekmektedir.

33 Herşey Nesne Her programlama dilinin kendine has veri yönetim şekli bulunur. Java platformunda çalışan bir uygulamada, çalışma sırasında nesneler oluşturulur. Buradaki soru bizim nesnelere doğrudan mı yoksa dolaylı bir şekilde mi bağlantı sağlayıp kullandığımızdır. Java programlama dilinde herşeye nesne olarak davranılır. Herşeyin nesne olmasına karşın bu nesnelerin kullanılması için referanslara gereksinim duyulur. Örneğin, elimizde bir maket uçağı olsun; nesne olarak düşünelim... Bu maket uçağı denetlemek amacıyla kullanılan kumanda cihazını da referans olarak düşünebiliriz.

34 Depolanan (Storage) Veriler Nerede Durmaktadır? Yığın (Stack): Bulunduğu nokta bellek içerisindedir; yani RAM üzerinde tutulur. Bu alanda bulunan yığın işaretçisine (stack pointer) doğrudan CPU dan donanım desteği vardır. Yığın işaretçisi aşağıya inince yeni bir bellek alanı oluşturur, yukarı kalkınca ise bellek alanını bırakır (release). Yığın üzerinde referansların kendileri bulunur. Maket uçağı örneğini hatırlarsak, bu alanda sadece kumanda cihazları durabilir.

35 Depolanan (Storage) Veriler Nerede Durmaktadır? Heap: Genel amaçlı bir bellek havuzudur. Yığın alanının tersine, derleyici burada ne kadarlık bir belleğin pay edileceğini bilmek zorunda değildir. Ancak, Heap alanında yer ayırmak için harcanan zaman, yığın alanında yer ayırmaktan daha fazladır. Heap alanında nesnelerin kendisi durur. Maket uçağı örneğini hatırlarsak, bu alanda sadece maket uçaklarının kendileri bulunur, yani bu alanı gökyüzü gibi düşünebiliriz.

36 Depolanan (Storage) Veriler Nerede Durmaktadır? Statik Alan: Bu alan da RAM üzerinde bulunur. Statik alanda yer alan veriler, programın çalışması süresince orada yaşarlar. Tüm nesneler bu statik verileri görebilirler, burayı ortak bir alan gibi düşünebiliriz. Veriyi statik yapmak için static kelimesini global değişkenin (referans) önüne getirmemiz yeterli olur. Nesnelerin kendileri bu alanda yer almazlar.

37 Depolanan (Storage) Veriler Nerede Durmaktadır? Sabit Disk: Bazı durumlarda uygulamaların içerisinde oluşturduğumuz nesnelerin, uygulama sonlandıktan sonra bile varlıklarını sürdürmelerini isteriz. Bu durum için uygun depolama alanı sabit disk olmaktadır.

38 Java da İsimlendirme Java da isimlendirme yaparken bazı kurallar mevcuttur. Dosya İsimleri: Java da dosya isimleri büyük harfle başlar. Dosya ismi birden fazla sözcükten oluşuyorsa, sözcükler arasında boşluk bırakmadan tüm sözcüklerin ilk harfi büyük olacak şekilde isimlendirilir. Dosya isminin sonuna.java uzantısı eklenir. Örn. Araba.java SuSisesi.java Sınıf İsimleri: Java da sınıf isimleri büyük harfle başlar. Sınıf ismi birden fazla sözcükten oluşuyorsa, sözcükler arasında boşluk bırakmadan tüm sözcüklerin ilk harfi büyük olacak şekilde isim verilir. Örn. Surucu YemekMasası

39 Java Programlama Dili Yordam İsimleri: Java da yordam isimleri küçük harfle başlar. yordam ismi birden fazla sözcükten oluşuyorsa, sözcükler arasında boşluk bırakmadan ilk sözcük hariç diğer tüm sözcüklerin ilk harfi büyük olacak şekilde isimlendirilir. Örn. baglan() kapiyiac() Paket İsimleri : Java da paket isimleri tamamen küçük harflerden oluşur. Alt paketler. ile birbirlerinden ayrılır. Örn. java.io java.sql

40 Java Programlama Dili Değişken İsimleri: Java da değişken isimleri küçük harfle başlar. Değişken ismi birden fazla sözcükten oluşuyorsa, sözcükler arasında boşluk bırakmadan ilk sözcük hariç diğer tüm sözcüklerin ilk harfi büyük olacak şekilde isimlendirilir. Örn. adi dogumyeri dogumtarihi Sabitler : Java da sabit isimleri büyük harflerden oluşur. Sabit ismi birden fazla sözcükten oluşuyorsa, sözcükler arasında _ karakteri konularak isimlendirilir. Örn. RAKIM PI_SAYISI

41 Kod Blokları Kod blokları yazılan kodların kapsamını belirtmek üzere kullanılırlar. Kod blokları genellikle şu amaçlar için kullanılır: Sınıfın kapsamını belirtmek için Yordamın kapsamını belirtmek için Döngü ve karar yapılarının kapsamını belirtmek için

42 Sınıf ve Nesne Her sınıfın sıfır veya daha fazla örnegi vardır. Sınıf statik, nesne dinamiktir. Nesneler program kosturuldugunda sınıf tanımından dinamik olarak yaratılırlar ( construction ). Nesneler sorumluluklarını tamamladıklarında ortadan kaldırılırlar ( destruction ). Nesnenin sınıfı sabittir ve nesne bir kez yaratıldıktan sonra degistirilemez.

43 Yeni Sınıf Oluşturma

44 Yeni Sınıf Oluşturma Java da bir sınıf tanımında aşağıdaki ifadeler kullanılabilir: Erişim Belirleyici Class anahtar kelimesi Sınıf Adı Değişken Tanımları Yapılandırıcılar Yordamlar <erişim_belirleyici> class <SinifAdi> { <degisken_tipi> d1; <degisken_tipi> d2;... <donus_tipi> <yordamadi> ( // parametre listesi <parametre_tipi> p1, <parametre_tipi> p2, ) { } <donus_tipi> <yordamadi> ( // parametre listesi <parametre_tipi> p1, <parametre_tipi> p2, ) { } } public class Kapı { //Değişkenler static int yükseklik; int durumu; String rengi; float derinliği; // yordamlar int getdurum (int rentid) { } }

45 Alanlar ve Yordamlar Bir sınıf (class) tanımladığı zaman bu sınıf dahilinde iki şey tanımlanabilir: 1. Global Alanlar / Değişkenler: temel (primitive) bir tip veya bir başka sınıf tipinde olabilirler. 2. Yordamlar: Nesnelerin işe yarar hareketler yapmasına olanak veren kısımlar

46 Değişken Nedir? Bir Java programında temel bellek birimi değişkenlerdir. Bir tanıtıcı, tür ve kapsam birleşerek bir değişkeni tanımlayabilir. Bir değişken aşağıdaki şekilde ifade edilebilir: <tür tanıtıcı> <degiskenadi1>, <degiskenadi2>,... ;

47 Değişken Tanımlama Java da değişken tanımlama, C, pascal gibi daha eski nesil programlama dillerine nazaran daha esnek tutulmuştur. Bu esneklik dahilinde değişkenler kullanılırken şunlara dikkat edilmelidir: Değişkenler sınıf içerisinde yordamların dışarısında kalan alanların herhangi bir yerinde tanımlanabilir, Değişkenler yordamlar içerisinde kullanmadan önce tanımlanmalıdır. Genelde değişken blokları sınıf bloklarının başında tanımlanır. Değişkenlerin geçerliliği tanımlandıkları blokla sınırlıdır. Yordam değişkenlerini kullanmadan önce ilk değerleri atanmalıdır. Sınıf değişkenlerinin ilk değerleri otomatik olarak atanır.

48 Değişken Tanımlama Java da değişken tanımlamak için önce tanımlanacak değişkenin tipi yazılır. Ardından tanımlanacak değişkene verilecek ad yazılır. = işareti eklendikten sonra, eşitliğin sağ tarafı isteğe göre iki şekilde yazılabilir: new + değişken tipini (sarmalayıcı sınıf) yazıp parantez içinde değişkenin değerini yazarak, String degiskenadi = new String( deger ); Sadece değişkenin başlangıç değerini yazarak. String degiskenadi = deger ; Başlangıç değeri vermediğimiz durumda değişken tiplerinin varsayılan (default) değeri devreye girecektir.

49 JAVA programlama dilinin temel tipleri

50 Sarmalayıcı (wrapper) sınıf

51 Değişken Tanımlama Değişken isimleri harfleri, rakamları, '_' ya da '$' karakterlerini içeren fakat rakamlar ile başlamayan şekilde tanımlanır. Anahtar kelimeler değişken olarak kullanılamaz. Doğru a item_cost itemcost _itemcost item$cost itemcost2 Yanlış item#cost item-cost item*cost abstract 2itemCost

52 Global / Yerel Değişkenler Değişkenler global ve yerel olarak iki sınıfa ayrılırlar: Global olarak adlandırılan değişkenlere programın her yerinden ulaşılabilir. Yerel değişkenlere ise sadece bulundukları program bloğundan ulaşılabilir. class Kiralama { public int sayi; // global değişken public void Ekle() { float fiyat = 3.50F; // yerel değişken int gun = 3; // yerel değişken } }

53 Geçerlilik Alanı (Scope)

54 Nesnelerin Geçerlilik Alanları Yukarıdaki gösterimde if koşuluna kesinlikle girilecektir. Girildiği anda String nesnesi heap alanında oluşturulacaktır. Bu yeni oluşturulan String nesnesi, String tipindeki s referansı (değişken) ile denetlenmektedir. Peki if koşulundan çıkıldığında ne olacaktır? Geçerlilik alanı sona erdiğinden s referansı artık kullanılamayacak hale gelecektir; ancak, ya heap deki String nesnesi ne olacaktır? Yanıt Çöp toplayıcı devreye girdiği an heap alanındaki bu erişilemez ve çöp haline gelmiş olan String nesnesini bellekten silecektir.

55 Sayısal İfadeler Sayısal ifadenin sonucunu saklamak isterseniz, sayısal türde bir değişken hazırlanması gerekir. İki tane sayısal tür vardır: tamsayılar olarak bildiğimiz tam değerli sayılar virgüllü sayılar dediğimiz kesirli kısımları saklanan sayılar Toplam 6 sayısal ifade vardır: Tam Değerli Sayılar için; long int short byte Kesirli Sayılar için; double float Adı Genişliği Aralığı long 64-9,223,372,036,854,775,808'den 9,223,372,036,854,775,807'e int 32-2,147,483,648'den 2,147, 'e short 16-32,768'den 'e byte 8-128'den 127'e Adı Genişliği Aralığı double e-308 den 1.7e+308 e float e-038 den 3.4e+038 e

56 Sayısal Olmayan İfadeler Sayısal olmayan türler boolean ifadeler, karakterler ve string ifadelerden oluşur. Adı Boolean Char String Değerler True False a Merhaba

57 Alanlar ve Yordamlar Global değişkenlere başlangıç değeri de atanabilir:

58 Varsayılan Başlangıç Değerleri

59 Nesne Oluşturma Java dahil pek çok programlama dilinde nesne oluşturmak için new anahtar kelimesi kullanılır. new anahtar kelimesi belirtilen sınıftan yeni bir nesne oluşturur ve bir referans değeri tanımlar. Örneğin Kitap sınıfından bir nesne oluşturmak istersek; Kitap kitapa = new Kitap(); ifadesini kullanırız.

60 Kitap kitapa = new Kitap(); Sol tarafta Kitap sınıfının adı ve nesnenin değişken adı bulunmaktadır. Bu kısım sağ taraftan gelen referans bilgisini tutmak için yazılır. Baştaki sınıf ismi tutulan referansın ne tür bir nesne olduğunu tanımlar. Eşittir operatörünün sağ tarafına bakarsak new anahtar kelimesi ve Kitap sınıfıyla aynı isimdeki Kitap() yordamunu görürüz. Bu yapı Kitap sınıfından bir nesne oluşturur. Bu nesne için bellekte bir alan tahsis eder ve bellekteki bu alanın referans bilgisini eşittirin sol tarafına gönderir. Bu işlem sonucu oluşturulan nesneye kitapa isimli değişken vasıtasıyla erişim sağlanmaktadır.

61 new Operatörü Bellekte yeni nesne için yer ayırır. Sınıf içerisinde bulunan ve yapılandırıcı olarak adlandırılan yordamı çağırır. Yeni nesnenin referans değerini döndürür. Bu değer bir referans değişkeninde saklanır. Yeni bir nesne oluşturmak için bir önceki örneğimizde Kitap kitapa = new Kitap(); İfadesini kullanmıştık. Bu ifade istenirse sol parça önce tanımlanmak şartıyla iki satırda tanımlanabilir. Kitap kitapa; // nesne referans değişkeni tanımlama kitapa = new Kitap(); // yeni bir kitap nesnesi oluşturup referans değerini kitapa değişkenine aktarma.

62 Nesne Oluşturma ybs ismini verdiğimiz referansımız, heap alanındaki YeniBirSinif nesnesine bağlı bulunmaktadır. YeniBirSinif nesnesiyle temas kurulması istenirse ybs referansı kullanılması gerekir. Nesne alanlarına ulaşılması için. (nokta) kullanılır. Nesnenin alanlarındaki değerler şöyle değiştirilebilir:

63 Nesne Değişkenleri Java ve diğer nesneye yönelimli programlama dillerinde genel olarak iki tür değişken vardır. nesne değişkenleri / sınıf tipinde değişkenler ilkel değişkenler

64 Sınıf Tipinde Değişkenler Örnekte verilen YeniBirSinif sınıfının içerisinde temel tipteki global değişkenlerin dışında, başka sınıf tipinde olan aciklama değişkeni yer almaktadır.

65 Sınıf Tipinde Değişkenler main() yordamı Java uygulamaları için başlama noktası heap bölgesinde 2 adet nesne oluştu: Biri YeniBirSinif sınıfına ait nesne Diğeri String sınıfına ait nesne

66 Yordam Tanımlama Yordamlar kullanılır. daima bir sınıf içerisinde tanımlanırlar. Bir yordam tanımında aşağıdaki yapılar Erişim Belirleyici: yordamı diğer nesnelerin kullanıp kullanamayacağını belirleyen anahtar kelimedir. Dönüş Değerinin Türü: yordamın icrası sonucu yordamdan bir değer bekleniyorsa bu değerin tipinin belirtilmesi gerekir. Bu dönüş tipi ilkel değişken olabileceği gibi bir nesne değişkeni de olabilir. Eğer yordamın icrası sonucu bir değer beklenmiyorsa dönüş tipi alanına void anahtar kelimesi yazılır. Yordam Adı: yordamı çağırabilmek için diğer bir değişle kullanabilmek için yordama bir isim verilmelidir. Parametreler: yordamlar işlevleri esnasında dışarıdan değerler alabilirler. Dışarıdan alınan bu değerlere parametre denilmektedir. Parametre sayısı birden çok ise parametreler virgüllerle ayrılarak yazılırlar. Yordamlar parametre almayabilirler, bu durumda ise parantez içleri boş bırakılır.

67 Yordam Tanımlama <Erişim Belirleyici> <Dönüş Tipi> <yordamadi> ([parametreler]) { <yapılacak işler> } public float kutlehesapla (int yaricap){ // yordam değişkenleri float ozkutle; float PI_SAYISI=3,14; float kutle; // yordam gövdesi ozkutle = ozkutleyiver(); kutle= ozkutle*4*pi_sayisi*math.pow(yaricap,3.0); return kutle; } Java da her komut satırı, noktalı virgül ile sonlanır!

68 Yordam Tanımlama Yordamlar yalnızca sınıfların içerisinde tanımlanırlar bundan dolayı da yordamları kullanabilmek için o sınıftan türetilmiş nesnelere ihtiyaç duyarız. Bir yordamı şu şekilde çağırırız: nesneadı.yordamadı(); yazıcı.çıktıal(); yazıcı.çıktıal(renkli); gibi Sınıf bloğunda yer alan yordamları tanımlamak için sadece sınıf isimleri kullanılmaz. Sınıfa ait yordamları bir birinden ayırmak için sınıf isminin yanında parametreleri de kullanılır. Bu sayede sınıf içerisinde aynı isimli birden fazla yordam bulunabilir. Ancak hem ismi aynı hem de aynı parametreleri çağıran birden çok yordam tanımlanamaz.

69 Örnek class Merhaba { public static void main(string args[]) { System.out.println( Merhaba"); System.out.println( Burasi bir alt satir." ); System.out.println( println daima bir alt satıra gecer." ); System.out.println( Bu uzun bir metin. Bu nedenle + programin icinde satirlara dagittik. + Ancak, cift tirnaklar icinde duran ve aralarinda + olan + metinler println icin tek parca sayilir. ); System.out.println( Buraya sayi da yazabiliriz: ); System.out.println( Yine arada + kullandik." ); } } Ekran Çıktısı : Merhaba Burasi bir alt satir. println daima bir alt satıra gecer. Bu uzun bir metin. Bu nedenle programin icinde satirlara dagittik. Ancak, cift tirnaklar icinde duran ve aralarinda + olan metinler println icin tek parca sayilir. Buraya sayi da yazabiliriz: Yine arada + kullandik.

70 Yordamlara Değer Gönderme Yordamlar görevlerini yapabilmek için dışarıdan bilgiye ihtiyaç duyabilmektedirler. Örneğin karenin alanını hesaplayan bir yordam yazacaksak, karenin kenar uzunluğunu dışarıdan yordama vermemiz gerekir. Bir yordam hiç parametre almayabileceği gibi birden fazla parametre de kabul edebilir. yordam tanımlanırken her parametrenin değişken türü yanında belirtilir. public void kitapbilgilerinial(string pkitapadı, String pyayinevi, Date pbasımtarihi ){ } kitapadı= pkitapadı; yayinevi= String pyayinevi; basımtarihi= pbasımtarihi;

71 Yordamlardan Değer Döndürme Yordamlar çalıştırılmaları sonucu bir değer yada ifade geri döndürebilirler. Yordam tanımlanırken yordamın bize bir değer dönmesini istiyorsak bu dönecek değerin hangi türde olduğunu dönüş tipinde belirtmemiz gerekmektedir. Örneğin kitap sınıfına ait bir nesnenin satış bedelini hesaplayan bir yordamı şu şekilde yazarız. public float satisfiyatihesapla(float maliyet){ float fiyat=0.0; fiyat=maliyet+maliyet*0.18; // maliyete %18 kdv eklenir return fiyat; } yordamlar ilkel değişkenler yanında nesne referansları da döndürebilir. public String kitabinismi(){ } return kitapadi; Return değer döndürür & yordamı sonlandırır

72 Yordamlardan Değer Döndürme Java dilinde String bir ifadeden sonra gelen herhangi bir tipteki değişken otomatik olarak String nesnesine dönüştürülür.

73 Yordamlar Yordamların içerisinde tanımlanan yerel değişkenlerine başlangıç değerlerinin kesinlikle programcı tarafından belirtilmesi gerekir.

74 Yordamlar return anahtar kelimesi tek başına kullanıldığında ilgili yordamın içerisinden çıkılır.

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

76 Temel Tiplerde Atama Atama işlemi, temel (ilkel) tipler için basittir. int x, y, z; int a = 3, b, c = 5; double pi= ; 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

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

78 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ı.

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

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

81 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

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

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

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

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

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

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 1. Yrd.Doç.Dr.Hacer Karacan NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 1 Yrd.Doç.Dr.Hacer Karacan NESNEYE YÖNELİMLİ PROGRAMLAMAYA GİRİŞ Program Nedir? Programlama Dili Nedir? Programlamanın Tarihçesi Programlama Türleri Makine Dili Programlama

Detaylı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 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

Detaylı

Java Temel Özellikleri

Java Temel Özellikleri Java Temel Özellikleri Java Programlama Dili Java programlama dili şu anda dünyadaki en popüler programlama dillerinden biri haline gelmiştir. Java SUN bilgisayar şirketince elektrikli ev aletlerinin birbiriyle

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ı

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 Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

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ı

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ı

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ı

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ı

Nesne Tabanlı Programlama. Ders Notları

Nesne Tabanlı Programlama. Ders Notları Nesne Tabanlı Programlama Ders Notları Nesneye tabanlı programlamanın temellerini kavrayabilme Java temelleri ve Netbeans editörünü kavrayabilme Sınıf ve nesne kavramlarını anlayabilme Kalıtım konusunu

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ı

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ı

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ı

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ı

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ı

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 Kodlarına Yorum Satırı Eklemek Java Paket Kavramı Java Kütüphane Kavramı Konsoldan Veri Çıkışı ve JOPtionPane Kütüphanesi JOptionPane Kütüphanesi Kullanarak

Detaylı

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1 Görsel Programlama DERS 01 Görsel Programlama - Ders01/ 1 Takdim Planı Nesneye Dayalı Programlama Kavramı Nesne, Sınıf Kavramı Java Programlama Dili Java Programlama Dili Temel Özellikleri Java Sürümleri

Detaylı

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları SABİTLER VE DEĞİŞKENLER Değişken, verilerin bellekte geçici olarak kaydedilmesini ve gerektiğinde kullanılmasını sağlayan değerdir. Nesne tabanlı programlama dilinde değişken kullanımı diğer programlama

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ı

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü BM-209 Nesne Yönelimli Programlama Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü Genel Bilgiler Değerlendirme Arasınav : %30 Proje, Sunum: %30 Ödevler

Detaylı

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü BM-209 Nesne Yönelimli Programlama Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü Java Programlama Dili Java bayt kodları Java Sanal Makineleri üzerinde

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ı

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

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı Öğr. Gör. Cansu AYVAZ GÜVEN NESNE TABANLI PROGRAMLAMA Java Değişkenler ve Veri Tipleri Operatörler JAVA Java Java SUN bilgisayar şirketince

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ı

2.2- DEĞİŞKENLER VE SABİTLER ÇALIŞMA YAPRAĞI

2.2- DEĞİŞKENLER VE SABİTLER ÇALIŞMA YAPRAĞI 2.2 Değişkenler Ve Sabitler 2.2.1 Değişkenler Değişkenler bir programlama dilinde verilerin depolanma alanlarını temsil eder. Tanımlanan her değişkene bellek bölgesinden bir alan ayrılır. Bu bellek bölgesine

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş Kurulum için ilk önce Sun Microsystems in sitesinden uygun J2SE sürümünü indirin. Ben J2SE v1. 4. 2_16 Windows Installer paketini kullandım J2SE SDK Kurulumu aşağıdaki gibi başlayacaktır. 1 Kurulum tamamlandıktan

Detaylı

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

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler C Programlama Dr. Serkan DİŞLİTAŞ 3.1. Sabitler Sabitler, tanımlanmasıyla birlikte program içerisinde

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ı

PASCAL PROGRAMLAMA DİLİ YAPISI

PASCAL PROGRAMLAMA DİLİ YAPISI BÖLÜM 3 PASCAL PROGRAMLAMA DİLİ YAPISI 3.1. Giriş Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir. Program Başlığı; Tanımlama

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: ikucukkoc@balikesir.edu.tr

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ı

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

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi İÇİNDEKİLER Değişken Nedir? Değişken kullanımı faydaları. Değişken türleri Değişken görünürlüğü (scope) Değişken türleri arası dönüşümler Örnek

Detaylı

4. Bölüm Programlamaya Giriş

4. Bölüm Programlamaya Giriş 4. Bölüm Programlamaya Giriş Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 4.1. C# ile Program Geliştirme Net Framework, Microsoft firması tarafından açık internet protokolleri ve standartları

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA DİLİ Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Programlama Diline Giriş Java Platform Çeşitleri Java nın Kodlama ve Çalışma Adımları Java Derleyicisi, Java Yorumlayıcısı Java Çöp Toplayıcısı

Detaylı

C#(Sharp) Programlama Dili

C#(Sharp) Programlama Dili Değişkenler C#(Sharp) Programlama Dili Program yazarken her zaman sabit verilerle çalışmayız, çoğu zaman programımızda bir verinin kullanıcının davranışına göre değişmesi gerekir. Kullanıcıdan bir metin

Detaylı

İçerik. Temel Kavramlar. Yazılım Geliştirme Aşamaları. Problemi Anlama ve Çözümleme. Biçimsel Gösterim - 1. Nesneye Yönelik Programlama

İçerik. Temel Kavramlar. Yazılım Geliştirme Aşamaları. Problemi Anlama ve Çözümleme. Biçimsel Gösterim - 1. Nesneye Yönelik Programlama İçerik Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Temel Kavramlar Nesneye yönelik dil olarak JAVA ve ilişkili kavramlar Basit bir Java programı BS-515 Nesneye Yönelik Programlama

Detaylı

Temel Kavramlar. BS-515 Nesneye Yönelik Programlama. Ders #1 (26 Ekim 2009)

Temel Kavramlar. BS-515 Nesneye Yönelik Programlama. Ders #1 (26 Ekim 2009) Temel Kavramlar BS-515 Nesneye Yönelik Programlama Dr. Ayça Tarhan Ders #1 (26 Ekim 2009) İçerikç Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave

Detaylı

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

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 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 Atamalar int a ; a=4 ; // doğru bir atama 4=a ; // yanlış bir atama! Temel Tiplerde Atama Atama işlemi, temel (primitive) tipler için

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

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

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini

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ı

Java da İstemci Tarafı Uygulamalar

Java da İstemci Tarafı Uygulamalar Java da İstemci Tarafı Uygulamalar ( Applets ) BBS-515 Nesneye Yönelik Programlama Ders #7 (7 Aralık 2009) İçerikç Geçen ders: Java da dizi ( array ) ve dizgi ( String ) tanımlama Örnekler Bu ders: 1.

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ı

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 Diziler Dizi Tanımlama ve İlk Değer Atama Dizi Elemanlarının Kullanılması Dizi İşlemleri Java da Diziler JAVA DA DİZİLER 4 Dizi; tek bir veri tipinde,

Detaylı

Dizi türündeki referanslar, dizi nesnelerine bağlanmaktadır. Dizi referansları tanımlamak bu dizinin hemen kullanılacağı anlamına gelmez...

Dizi türündeki referanslar, dizi nesnelerine bağlanmaktadır. Dizi referansları tanımlamak bu dizinin hemen kullanılacağı anlamına gelmez... Javada Diziler Java da diziler nesnedir; içerisinde belirli sayıda eleman bulunur. Eğer bu sayı sıfır ise, dizi boş demektir. Dizinin içerisindeki elemanlara eksi olmayan bir tam sayı ile ifade edilen

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ı

Programlama Dilleri III 1

Programlama Dilleri III 1 Temel Veri Türleri Programlama Dilleri III 1 İlk C# Programı class ilk_program1 static void Main() System.Console.WriteLine("Merhaba C#"); C# dilinde yazılmış kaynak kod dosyalarının uzantıları.cs dır.

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ı

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: ikucukkoc@balikesir.edu.tr Dersin Amaci: Algoritma geliştirme

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: ikucukkoc@balikesir.edu.tr 1 Dersin Amaci: Algoritma

Detaylı

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir. PROGRAMLAMAYA GİRİŞ Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir. C de yazılan bir programın çalışması için çoğunlukla aşağıdaki

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ı

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi 5.HAFTA Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi Sınıf Kavramı: Sınıf (class) soyut bir veri tipidir. Nesne (object) onun somutlaşan bir cismidir. Java da sınıf (class) kavramını

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ı

Algoritma ve Programlamaya Giriş

Algoritma ve Programlamaya Giriş Algoritma ve Programlamaya Giriş Algoritma Bir sorunu çözebilmek için gerekli olan sıralı ve mantıksal adımların tümüne Algoritma denir. Doğal dil ile yazılabilir. Fazlaca formal değildir. Bir algoritmada

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 1 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlamaya C ile Programlamaya Yazılım: Bilgisayarın işlemler yapması ve karar vermesi

Detaylı

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

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler C# Programlama Dili İlk programımız Tür dönüşümü Yorum ekleme Operatörler 1 İlk Programımız Bu program konsol ekranına Merhaba dünya! yazıp kapanır. Programı geçen derste anlatıldığı gibi derleyin, sonra

Detaylı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ Ders 10 LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ LINUX de Programlama LINUX işletim sistemi zengin bir programlama ortamı sağlar. Kullanıcılara sistemi geliştirme olanağı sağlar.

Detaylı

Pointer Kavramı. Veri Yapıları

Pointer Kavramı. Veri Yapıları Pointer Kavramı Veri Yapıları Pointer Kavramı- Pointer Nedir? Göstericiler, işaretçiler ya da pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi tutan değişkenlerdir. Şu ana kadar

Detaylı

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

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while Değişkenler Değişkenler bir bilginin bellekteki konumunu temsil eden sembolik isimlerdir. Bilgisayarda hemen hemen tüm işlemler bellekte yapılır. Program çalıştırıldığında değişken ve bu değişkenin türüne

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

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

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ 3. Hafta YAPILAR Farklı veri tipindeki bilgilerin bir araya gelerek oluşturdukları topluluklara yapı (structure) denir. Yani yapılar, birbiriyle ilişkili değişkenlerin

Detaylı

Bölüm 9. Altprogramlar ISBN

Bölüm 9. Altprogramlar ISBN Bölüm 9 Altprogramlar ISBN 0-321-49362-1 Giriş Bu bölümde, programlarda sıkça kullanılan işlemlerin bir araya gruplanması ile oluşturulan altprogramlar incelenecektir. Altprogramlar sayesinde bir programda

Detaylı

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

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 13.04.2015 Süre : 60 dak. 1. Hangisi gerçek sayı değişmezi değildir?

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ı

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ı

Diziler İndisli Değişkenler

Diziler İndisli Değişkenler Diziler İndisli Değişkenler Aynı tür bilgileri (öğrenci isimleri, şehir isimleri, kapı numaraları, fakülteler vbg.) bellekte tutmak için kullanabileceğimiz listelere dizi adı verilir. Dizi kullanmanın

Detaylı

C# nedir,.net Framework nedir?

C# nedir,.net Framework nedir? 1 C# nedir,.net Framework nedir? C# nedir? C#, C/C++ ve Java dillerinde türetilmiş,bu dillerin dezavantajlarının elenip iyi yönlerinin alındığı, güçlü basit, esnek, tip-güvenli(typesafe,tür dönüşümlerindeki

Detaylı

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf Giriş GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI printf Fonksiyonu scanf Fonksiyonu Verilerin kaybolmaması için hafızada değişkenler içine yerleştirilmeleri gerekir. Bu veriler iki şekilde yerleştirilebilir. Değişkene

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

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ı

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ı

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

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 Ekrana Metin Yazdırmak Ekranda metin yazdırmak istendiğinde print komutu kullanılır. Kullanımı aşağıda verilmiştir. Parantez içinde

Detaylı

Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları Algoritma ve Akış Diyagramları Bir problemin çözümüne ulaşabilmek için izlenecek ardışık mantık ve işlem dizisine ALGORİTMA, algoritmanın çizimsel gösterimine ise AKIŞ DİYAGRAMI adı verilir 1 Akış diyagramları

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ı

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

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu. Javascript Html sayfalarının içine yazılarak, sayfayı daha etkileşimli hale getirir. click olayları, uyarı mesajları gibi hareketlerle sayfayı daha dinamik hale getirir. Javascript olmadan yazılan html

Detaylı

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN Basit C Programları: Bir Metni Yazdırmak #include /* program çalışmaya main fonksiyonundan başlar*/ int main() { printf( "C diline hoşgeldiniz!\n"

Detaylı

Internet Programming II

Internet Programming II Internet Programming II Elbistan Meslek Yüksek Okulu 2016 2017 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 1 PHP Program Yapısı Php çoğunlukla HTML etiketleri arasına gömülerek kullanılır. Form işlemleri

Detaylı

Java Programlamada Paket Yapısı Ve Import

Java Programlamada Paket Yapısı Ve Import Java programlamada paket yapısı ve import Java Programlamada Paket yapısı ve Java programları paketlerden oluşmaktadır. Paketlerin içinde sınıflar ve arayüzler bulunur. İstenirse var olan paketlerden başka

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ı

Programlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler

Programlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler Programlama Dilleri 1 Ders 12: Belirleyiciler ve Niteleyiciler Genel Bakış Giriş Yer Belirleyicilerle Bildirim İşlemi auto Belirleyicisi register Belirleyicisi static Belirleyicisi Statik ve Global Değişkenlerin

Detaylı

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi 2011-2012 Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi Programlama Dili Nedir? 2 Programlama dili, yazılımcının bir algoritmayı ifade etmek amacıyla, bir bilgisayara ne yapmasını

Detaylı

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1 Öğr. Gör. Serkan AKSU http://www.serkanaksu.net http://www.serkanaksu.net/ 1 JavaScript JavaScript Nedir? Nestcape firması tarafından C dilinden esinlenerek yazılmış, Netscape Navigator 2.0 ile birlikte

Detaylı

Doğu Akdeniz Üniversitesi Bilgisayar Mühendisliği Bölümü. BLGM 318 Ara Sınavı 2012 2013 Đlkbahar Dönemi 13 Nisan 2013. Ad, Soyad Öğrenci No.

Doğu Akdeniz Üniversitesi Bilgisayar Mühendisliği Bölümü. BLGM 318 Ara Sınavı 2012 2013 Đlkbahar Dönemi 13 Nisan 2013. Ad, Soyad Öğrenci No. Doğu Akdeniz Üniversitesi Bilgisayar Mühendisliği Bölümü BLGM 318 Ara Sınavı 2012 2013 Đlkbahar Dönemi 13 Nisan 2013 Ad, Soyad Öğrenci No. : : Öğretim Üyesi: Doç. Dr. Zeki BAYRAM Süre: 100 dakika Talimatlar:

Detaylı

PROGRAMLAMA TEMELLERİ

PROGRAMLAMA TEMELLERİ PROGRAMLAMA TEMELLERİ 2.HAFTA Yazılım Yazılım, elektronik aygıtların belirli bir işi yapmasını sağlayan programların tümüne verilen isimdir. Bir başka deyişle var olan bir problemi çözmek amacıyla bilgisayar

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ı

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ı

OMNET++ 4.2.2. Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü

OMNET++ 4.2.2. Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü OMNET++ 4.2.2 Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları OMNET++ OMNET++ (Objective Modular Network Testbed in C++), nesneye yönelik (objectoriented)

Detaylı

// hataları işaret eden referans

// hataları işaret eden referans System sınıfı java.lang.object java.lang.system public final class System extends Object System sınıfı, java.lang paketi içindedir. Platformdan bağımsız olarak sistem düzeyindeki eylemleri belirleyen dingin

Detaylı

C PROGRAMLAMA D İ L İ

C PROGRAMLAMA D İ L İ C PROGRAMLAMA DİLİ C Programlama Dilinin Temelleri C Programlama Dili'ni popüler kılan önemli nedenler aşağıda listelenmiştir: C, güçlü ve esnek bir dildir. C ile işletim sistemi veya derleyici yazabilir,

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ı

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

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1 Ders Tanıtım Sunumu Internet Programming II Elbistan Meslek Yüksek Okulu 2012 2013 Bahar Yarıyılı Öğr. Gör. Murat KEÇECİOĞLU 1 PHP Program Yapısı Php çoğunlukla HTML etiketleri arasına gömülerek kullanılır.

Detaylı

Java Programlama Giriş

Java Programlama Giriş Java Programlama Giriş 2013-2014 Bahar Dönemi Mehmet Akif Ersoy Üniversitesi Teknik Bilimler Meslek Yüksekokulu Burdur 2014 Muhammer İLKUÇAR 1 Neden Java Programlama Platformdan bağımsızdır

Detaylı

Klavyeden Basit Giriş/Çıkış İşlemleri

Klavyeden Basit Giriş/Çıkış İşlemleri Klavyeden Basit Giriş/Çıkış İşlemleri Klavyeden veri girilmesi, girilen verilere çeşitli işlemler uygulandıktan sonra ekrana yazdırılması ya da herhangi bir yazıcıdan çıktı alınması gibi işlemlerdir. Javada

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ı

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ı