JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç...

65
1 Nesneye Ynelik Programlama-JAVA, Ders sorumlusu Yrd.Do.Dr.Hilmi KU˙U JAVA PROGRAMLAMA DL Java, Sun Microsystems tarafndan gelitirilen nesne ynelimli bir programlama dilidir. A (network) ortam düünülerek ve yazlmn platform bamsz olarak almas (deiik bilgisayar türlerinde ve deiik iletim sistemlerinde almas) düünülerek gelitirilmitir. Bu nedenle, dier dillerden farkl olarak, ayn zamanda kendisi de bir platformdur. Java teknolojisi, C++n dezavantajl olan yanlarnn Smalltalk, Eiffel, Objective C gibi dillerle desteklenmesi sonucu, ilk olarak 1995 ylnda ortaya kt. lk olarak 1.0 sürümükartld. Ardndan srasyla 1.1 ve 1.2 sürümleri kartld ve 1.2 sürümüyle birlikte gelen ciddi deiikler, bu dilin Java 2 olarak anlmaya balamasna neden oldu. u anda yaygn kullanlan sürümün Java 1.4.2 olmasnn yannda Java 5.0 da karlmdurumda ve yeni sürümleri kmaya devam etmektedir. Java uygulamalarnz yazmak iin, Notepad gibi bir program dnda zel olarak gelitirilmigrsel arayüze sahip olan programlar da vardr. Bu tür programlarda, kodlar hem yazar, hem derler hem de altrabilirsiniz. rnek: Eclipse Platform (free platform), Java Builder (BORLAND), Net Bean (SUN), Visual Age (IBM), vb.

Transcript of JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç...

Page 1: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

1

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

JAVA PROGRAMLAMA DÝLÝJava, Sun Microsystems tarafýndan geliºtirilen nesne yönelimli bir programlama dilidir. Að (network) ortamý düºünülerek ve yazýlýmýn platform baðýmsýz olarak çalýºmasý (deðiºik bilgisayar türlerinde ve deðiºik iºletim sistemlerinde çalýºmasý) düºünülerek geliºtirilmiºtir. Bu nedenle, diðer dillerden farklý olarak, ayný zamanda kendisi de bir platformdur.

Java teknolojisi, C++�ýn dezavantajlý olan yanlarýnýn Smalltalk, Eiffel, Objective C gibi dillerle desteklenmesi sonucu, ilk olarak 1995 yýlýnda ortaya çýktý. Ýlk olarak 1.0 sürümü çýkartýldý. Ardýndan sýrasýyla 1.1 ve 1.2 sürümleri çýkartýldý ve 1.2 sürümüyle birlikte gelen ciddi deðiºikler, bu dilin Java 2 olarak anýlmaya baºlamasýna neden oldu. ªu anda yaygýn kullanýlan sürümün Java 1.4.2 olmasýnýn yanýnda Java 5.0 da çýkarýlmýº durumda ve yeni sürümleri çýkmaya devam etmektedir.

Java uygulamalarýnýzý yazmak için, Notepad gibi bir program dýºýnda özel olarak geliºtirilmiº görsel arayüze sahip olan programlar da vardýr. Bu tür programlarda, kodlarý hem yazar, hem derler hem de çalýºtýrabilirsiniz. örnek: Eclipse Platform (freeplatform), Java Builder (BORLAND), Net Bean (SUN), Visual Age (IBM), vb.

Page 2: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

2

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Java diliyle birçok uygulama geliºtirmek mümkündür: Grafiksel Kullanýcý Arayüzü (Graphical User Interface: GUI) uygulamalarý,Applet�ler,Daðýtýlmýº bileºenler (EJB, RMI, CORBA, vb.), Web tabanlý uygulamalar (Servlet, JSP, vb.),Veritabaný eriºimli uygulamalar,Cep telefonu, Akýllý kart uygulamalarý.

Java platformlarý: Standart Java Enterprise Java Gömülü cihazlar (embedded devices) için Java

Page 3: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

3

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

JAVA NASIL ÇALIªIR?Java kodlarý, Notepad gibi basit bir kelime iºlemci programý ile yazýlýr. Yazýlan kodlar, .java uzantýsýyla kaydedilir. Bu haliyle kodlar metin halindedir. Bu kodlarýn çalýºmasýiçin önce derlenmeleri gerekir. Derlemek için, bir derleyici gerekir. Bunun için J2SE -SDK (Java 2 Platform Standart Edition � Software Development Kit) yüklenmiº olmasýgerekir. J2SE�de derlenen kodlar, .class uzantýlý hale gelir. Bu haliyle kodlar ikili kod (binary code) ºeklindedir. Derlenen kodlar, çalýºtýrýlmak için Java Virtual Machine(JVM) adý verilen ortama yüklenir. JVM, J2SE�nin içinde bulunmaktadýr. Derlenen dosya çalýºtýrýldýðýnda, kodlardan istenilen iºlemler gerçekleºtirilir; uygulama çalýºmýºolur.

Derleme için yazýlan kod: Çalýºtýrma için yazýlan kod:javac *.java java *

Derlenen kodlar çalýºtýrýlmak üzere JVM�e yüklenirken; sýnýflar yüklenir, bytekodlarýn kontrolü yapýlýr ve yorumlama baºlar.

Page 4: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

4

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

JVM, Java dilinin iºletim sistemi tarafýndan anlaºýlmasýný saðlar. Bu sayede, Java ile yazýlan bir program herhangi bir iºletim sisteminde çalýºýr hale gelir. JVM, bir anlamda sanal bir iºletim sistemi gibi düºünülebilir. JVM yüklü olmayan iºletim sistemlerinde, Java kodlarý çalýºmaz. Bu nedenle, Flash programýnda hazýrlanan .swf dosyalarýnýn çalýºmasý için Flash oynatýcýsýnýn gerekmesi gibi, Java uygulamalarýnýn çalýºmasý için de sisteme JVM yüklenmesi gerekir. Günümüzde bazý tarayýcýlar JVM destekli olarak geliºtirilmiºtir. ݺletim sistemine göre, kullanýlan JVM türü de deðiºebilir.

KAYNAK ÖNERÝLERÝ:�Java ile Temel Programlama�, Bora Güngören, Seçkin Yayýncýlýk�Java Uygulamalarý�, David Flanagan, Pusula Yayýncýlýk�Just Java�, Peter van der Linden, Prentice Hall�Java in a Nutshell�, David Flanagan, O�Reillyhttp://tr.sun.com/training/courses

Page 5: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

5

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

JAVA UYGULAMALARINDAN BÝR ÖRNEK: APPLET UYGULAMALARIApplet�ler, Java�nýn ilk uygulamalarýndandýr. Applet�ler, tarayýcýlarda çalýºtýrýlan mini programlardýr. HTML ile bir arada kullanýlýrlar. Ancak, günümüzde applet ile birlikte farklý script dilleri de kullanýlmaktadýr: JavaScript, VBScript vb.

PROGRAMLAMA DÝLLERÝJava, nesne yönelimli bir programlama dilidir. Java�nýn özelliklerini incelemeden önce, nesne yönelimli olma kavramýný programlama dillerinin tarihine bakarak incelemek yerinde olur.

Geliºtirilen yüksek seviyeli ilk programlama dili, 1956 yýlýnda IBM tarafýndan geliºtirilmiº olan FORTRAN dilidir. Fortran�ý 1958 yýlýnda ALGOL ve COBOL dilleri izler. 1960�lý yýllarda CPL, BCPL, Simula gibi çeºitli diller de tasarlanmýºtýr. 1970 yýlýnda, C programlama dili ve 1972 yýlýnda PASCAL programlama dili tasarlanmýºtýr. Bu diller, yapýsal diller olarak adlandýrýlýr. Bu dillerdeki algýsal karmaºýklýðý ortadan kaldýrmak amacýyla, 1980 yýlýndan itibaren nesne yönelimli programlama geliºtirilmeye baºlanmýºtýr. C++, 1980�li yýllarýn ilk yarýsýnda tasarlanmýºtýr. Nesne yönelimli ilk programlama dili olduðu söylenebilir. Java ise, C++�ýn dezavantajlý olan yanlarýnýn Smalltalk, Eiffel, Objective C gibi dillerle desteklenmesi sonucu, ilk olarak 1995 yýlýnda ortaya çýktý.

Page 6: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

6

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Yapýsal programlama dillerinde, veriler ve metotlar ayrý ayrý tutulur. Veriler veri yapýlarýna gönderilir; kod bloklarý metotlara ve/veya fonksiyonlara gönderilir. Dolayýsýyla, yapýsal programlama geliºtirmede, fonksiyonlara baðýmlýlýk ve kodlarýtakip etme zorluðu gibi dezavantajlar ortaya çýkar.

Yapýsal programlama geliºtirme sürecinde:�fonksiyonlar belirlenir�fonksiyonlar arasýndaki iliºkiler belirlenir�fonksiyonlarýn özellikleri belirlenir

Page 7: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

7

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Önceki slayttaki örnekte, çok bilinen bir oyun olan tuðla oyununa ait yazýlýmýn yapýsal bir dille geliºtirilmesi için tasarlama sürecine ait plan yer almaktadýr. Her kutu, belli bir fonksiyonu iºaret eder. Kutular arasý oklar, fonksiyonlar arasýndaki iliºkileri temsil eder. Fonksiyonlar, özellikleri belirlenmiº olan iºlemlerdir.

Nesne yönelimli programlama geliºtirmenin en önemli özelliði, nesnelerin kullanýmýdýr. Görselleºtirilebilen, kavramsallaºtýrýlabilen veya modellenebilen her ºey nesne olabilir.

örnek:müºteri bilgileri, müºteriler, hesaplar, para, vb.öðrenciler, notlar, dersler, vb.ürünler, ürün bilgileri, stok bilgileri, marketler, vb.Nesneler, gerçekleºtirilecek olan iºlem kendisine bildirildiðinde tepki verirler ve bir cevap döndürürler. Gerçekleºtirilecek iºlemi mesaj; mesajý alan nesneyi de alýcýolarak adlandýrabiliriz. Mesaj alýcýya gönderilir ve alýcý mesaja tepki verir. ݺlem bu ºekilde gerçekleºtirilir.

örnek:ilkAraba.renkVer();(ilkAraba nesnesine, renkVer iºlemi bildirilir.)

Page 8: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

8

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Nesneler, veri ve metotlar içerir. Veri, bir sýnýfýn sahip olduðu özelliklerdir. Metot ise, bir sýnýfýn sahip olduðu iºlemlerdir.

örnek: ilkAraba.renkVer(); (ilkAraba nesnesi, bir araba olduðu için tekerlek, direksiyon, renk vb. verilerine sahiptir. renkVer metodu ilkAraba nesnesi için tanýmlý olduðundan, ilkAraba nesnesi renkVer metoduna sahiptir.)

Nesneler belirli özellikler taºýrlar ve ortak özelliklerine göre sýnýflandýrýlýrlar. Sýnýflandýrýlmýº bir nesne grubunun özelliklerini taºýyan nesne ºablonuna �sýnýf�denir. Baºka bir deyiºle sýnýf, belirli özelliklere sahip olan nesneler için bir ºablondur. Her sýnýf, kendisine ait olan verileri ve metotlarý tanýmlar.

Bir sýnýfa ait olan özellikleri taºýyan belirli tipte bir nesnesi, o sýnýfýn bir �örneði�olarak adlandýrýlýr.

örnek:�Araba� bir sýnýfsa:ilkAraba, bir örnektir.ilkAraba�nýn renk özelliði, bir veridir.renkVer, ilkAraba�nýn rengini belirleyen bir metottur.

Page 9: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

9

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Bu örnek üzerinden gidersek, bir araba renk, direksiyon, kapý, tekerlek, vb. gibi özelliklere ve ileri gitme, geri gitme, durma, silecek çalýºtýrma, vb. gibi iºlemlere sahiptir.

Dolayýsýyla bu özelliklere ve iºlemlere sahip olan bir sýnýf tanýmlar ve adýnýda �Araba� koyarsak, tüm bu özellikler �Araba� sýnýfýnýn birer verisi; tüm iºlemler de birer metodu olur. Bu sýnýfa ait bir örnek tanýmlar ve adýna da �ilkAraba� dersek, bu örnek de ait olduðu sýnýfýn tüm verilerine ve metotlarýna sahip olacaktýr.

Burada önemli olan, bir sýnýfý tanýmlarken o sýnýfýn verilerini ve metotlarýnýdoðru ve eksiksiz tanýmlamaktýr.

Nesne yönelimli programlama geliºtirme sürecinde:

nesneler belirlenirnesneler arasýndaki iliºkiler belirlenirnesnelerin özellikleri belirlenir

Page 10: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

10

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Yukarýdaki örnekte, yine tuðla oyununa ait yazýlýmýn bu kez nesne yönelimli bir dille geliºtirilmesi için tasarlama sürecine ait plan yer almaktadýr. Her elips, belli bir nesneyi iºaret eder. Elipsler arasý oklar, nesneler arasýndaki iliºkileri temsil eder. Nesneler, özellikleri belirlenmiº sýnýflara ait olan örneklerdir.

Page 11: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

11

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

JAVA�NIN YAPISINESNE YÖNELÝMLÝDÝR

Gerçek hayattaki nesneler, Java�da temsil edilebilir. örnek: öðrenci, ders, öðretmen, not Java�nýn sözdizimi C++�ýn sözdizimine benzer; ama nesneye dayalý bir programlama dilidir. Nesneye dayalý tasarým ve mimarisi; Smalltalk, Eiffel, Objective C gibi nesne yönelimli dillerden türetilmiºtir.

SÖZDÝZÝMÝ

Sözdizimi, C ve C++�ýnkine benzer.C++�ýn aºaðýdaki özellikleri Java�da yoktur:ݺaretçi (pointer) aritmetiðiOtomatik tip deðiºtirmeTypedefs, Defines, Pre-processor, EnumsStructures, UnionsFonksiyonlarÇoklu kalýtýmKullanýcýnýn tanýmladýðý Overloading Operatörler

Page 12: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

12

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

PLATFORM BAÐIMSIZDIR (MÝMARÝ OLARAK NÖTRDÜR)

�Java programlarý platformdan baðýmsýzdýr.�Java derleyicisi, kaynak kodu byte kod komutlarýna çevirir.�Byte kod komutlarý, Java Virtual Machine (JVM) tarafýndan yürütülür. JVM, özel bir yazýlýmdýr. Bilgisayarýn iºletim sistemi ile kendi üzerinde çalýºan Java uygulamasý arasýnda bir katman olarak yerini alýr. Bu ºekilde, iºletim sisteminin hafýzasýný iºgal etmez.

TAªINABÝLÝRDÝR

�Java, �Bir kere yaz, her yerde çalýºtýr.� ilkesine %100 uyar. Java�nýn iºletim sistemine baðýmlý deðildir:�Java, bir tamsayýnýn boyut ve aritmetik davranýºýný kendisi belirler; bu iºi çalýºtýðýmakineye/iºletim sistemine býrakmaz.

DAÐITIKTIR

�Java TCP/IP að yeteneklerine sahiptir. örnek: HTTP, soket, vb.�RMI (Remote Method Invocation) ve EJBs (Enterprise Java Beans) kullanarak, bir JVM�deki nesneler, diðer bir JVM�deki nesnelerle haberleºebilir.�CORBA kullanarak, Java nesneleri baºka nesnelerle haberleºebilir.

Page 13: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

13

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 14: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

14

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 15: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

15

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Java platformu kurduktan sonra, C:\ deki bir dizininde Java klasörü ve bu klasörün altýnda da Java kaynak kodlarýnýz için derleme ve çalýºtýrma yapmanýzý saðlayan .exe dosyalarý yer alacaktýr.Java kaynak kodlarýný Notepad�de (ya da bir kelime-iºlemci program) yazacaksýnýz.

Java yorumlayýcýsý, main(�) metodunu çalýºtýrýr. Dolayýsýyla çalýºtýrmak istediðiniz Java uygulamanýzda bir main(�) metodunuz olmalýdýr. main(�) metodu aºaðýdaki gibi tanýmlanýr:

public static void main(String[ ] args){// kodlar buraya yazýlýr

}

Java kaynak kodlarý, .java uzantýlý olarak kaydedilir. Eðer Notepad dýºýnda bir kelime-iºlemci kullanýyorsanýz, dosyanýzý �salt metin (text only)� seçeneði ile kaydetmeniz gerekir. Java kaynak kodlarýný derlemek ve çalýºtýrmak için DOS (Windows iºletim sistemi üzerinde MS-DOS) ortamýnda çalýºacaksýnýz. Java kaynak kodlarýný derlemek için, bu kodlar için Java derleyicisini çalýºtýrmanýz gerekir:

Page 16: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

16

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

javac Beykent.java(Beykent adlý dosyanýz için derleme kod satýrý)Derleme sonunda (eðer herhangi bir sözdizimi hatasý olmazsa) .class uzantýlý bir byte kod dosyasý yaratýlýr. Bu kodlarý çalýºtýrmak için Java yorumlayýcýsýnýçalýºtýrmanýz gerekir:java Beykent(Yine Beykent adlý dosyanýz için çalýºtýrma kod satýrý)Çalýºtýrma sonucunda, kodlarýnýzda belirttiðiniz iºlemin sonucu ekrana getirilir.

KOD YAZMA, DERLEME VE ÇLAIªTIRMA SÜREÇLERÝNDE DÝKKAT EDÝLMESÝGEREKENLER:

1. Tüm Java kaynak kodlarý .java uzantýlý olarak kaydedilmelidir. 2. Eðer Notepad dýºýnda bir kelime-iºlemci kullanýyorsanýz, dosyanýzý �salt metin

(text only)� seçeneði ile kaydetmeniz gerekir.3. Her kaynak kod dosyasý için sadece bir �public� sýnýf olmalýdýr. Dosyanýza

vereceðiniz isim, bu sýnýftan sonra yazýlmalýdýr. 4. Eðer derleme sýrasýnda �error: cannot read *.java (hata: *.java dosyasý

okunamýyor)� hata mesajýný alýrsanýz, derleme kodunu Java kaynak kodu dosyanýzýn olduðu dizinde çalýºtýrdýðýnýzý kontrol edin.

Page 17: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

17

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

5. Eðer derleme sýrasýnda �Java cannot find the class or package, � (Java bu sýnýfý ya da paketi bulamadý, �)� hata mesajýný alýrsanýz, CLASSPATH�in (sýnýfyolu) doðru tanýmlandýðýný kontrol edin. CLASSPATH, bilgisayarýnýzýn sistem yolunda (systempath) aºaðýdaki gibi tanýmlanmýº olmalýdýr:

6. Baºlat (Start) > Kontrol Panel (Control Panel) > Sistem (System) > Geliºmiº(Advanced) > Çevre Deðiºkenleri (Environment Variables) > Yol (Path) > Deðiºken Deðeri: (Variable Value:) �;dizininiz

7. [varsayýlan deðiºken deðerinin sonuna �;� iºareti koyduktan sonra Java derleyici dosyanýzýn (javac.exe) olduðu dizini yazýn.]

8. Eðer derleme sýrasýnda �The name specified is not recognized � (Belirtilen isim, �olarak tanýnmadý.)� hata mesajýný alýrsanýz, Java derleyici dosyasý (javac.exe) iºletim sisteminizde yüklü deðildir. J2SE platformunun kurulu olduðunu/doðru kurulu olduðunu kontrol edin.

9. Derlenen kodlarýnýzý çalýºtýrýrken .class uzantýsý yazýlmaz.10.Sadece bir main(�) metodu olan sýnýflar çalýºtýrýlabilir. 11.Kaynak kodunuzda birden fazla metot tanýmlýysa, baºlangýç kodunuzu main(�)

metodunun olduðu sýnýfýn içine yazmalýsýnýz. Java yorumlayýcýsý bu main(�) metodunu çalýºtýrýr.

Page 18: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

18

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 19: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

19

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Örnek:Java kaynak kodu (Beykent.java):

public class Beykent{public static void main(String[] args){System.out.println(�Beykent MYO, Bilgisayar Programý��);}}

VERI TIPLERI Java dilinde kullanýlan veri tipleri, sözdiziminin ve genel yapýsýnýn çoðunu aldýðý C++ dilinden gelir. C++�ta ve dolayýsýyla Java�da, temel veri tipleri ve sýnýflar (referans/nesne veri tipleri) birbirinden ayrýlmýºtýr. Temel veri tipleri operatörler tarafýndan yönetilir. Nesneler ise gönderilen mesajlar tarafýndan yönetilir. Gerçi operatörlerden birkaçý nesneleri de yönetir. Temel veri tiplerinin nesne olmadýðý ve mesaj gönderemediði unutulmamalýdýr. Ancak, temel veri tipleri nesneler içinde yer alabilir.

Page 20: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

20

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 21: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

21

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 22: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

22

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 23: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

23

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 24: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

24

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 25: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

25

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 26: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

26

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 27: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

27

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 28: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

28

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 29: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

29

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 30: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

30

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 31: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

31

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 32: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

32

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 33: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

33

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 34: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

34

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 35: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

35

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 36: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

36

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 37: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

37

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 38: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

38

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 39: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

39

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 40: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

40

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 41: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

41

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 42: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

42

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 43: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

43

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 44: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

44

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 45: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

45

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 46: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

46

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 47: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

47

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 48: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

48

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 49: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

49

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 50: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

50

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 51: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

51

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 52: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

52

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 53: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

53

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 54: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

54

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 55: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

55

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 56: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

56

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 57: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

57

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 58: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

58

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 59: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

59

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 60: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

60

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 61: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

61

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 62: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

62

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 63: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

63

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 64: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

64

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU

Page 65: JAVA PROGRAMLAMA D ý ð ý ü ý ç ý ð ü ð ü ð ý ð ý ü çý ç ýhilmi.kulubevet.com/ders_notlari/Java/Java_sunumum_1.pdf · Nesneye Yönelik Programlama-JAVA, Ders sorumlusu

65

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KUªÇU