7/21/2019 web java sunumu tez.pdf
1/213
T.C.
SAKARYA NVERSTESFEN BLMLERENSTTS
JAVA PROGRAMLAMA DLNN WEB
ZERNDEN SUNUMU
YKSEK LSANS TEZ
Ayhan KRAZ
Eyll 2006
Enstit Anabilim Dal
Tez Danman
:
:
Elektronik ve Bilgisayar Eitimi
Yrd. D. Dr. Ali Fuat BOZ
7/21/2019 web java sunumu tez.pdf
2/213
T.C.
SAKARYA NVERSTESFEN BLMLERENSTTS
JAVA PROGRAMLAMA DLNN WEBZERNDEN SUNUMU
YKSEK LSANS TEZAyhan KRAZ
Bu tez 15/09/2006 tarihinde aadaki jri tarafndan oybirlii ile kabuledilmitir.
Enstit Anabilim Dal : Elektronik ve Bilgisayar Eitimi
Yrd. Do. Dr. Ali Fuat BOZ Prof. Dr. Abdullah FERKOLU Yrd. Do. Dr. Rait KKERJri Bakan ye ye
7/21/2019 web java sunumu tez.pdf
3/213
ii
TEEKKR
Tezin hazrlanaamasnda bana her trl destei veren danman hocam Sayn Yrd.
Do. Dr. Ali Fuat BOZa, uygulamann yapm aamasnda bana yardmlarn
esirgemeyen iarkadalarma ve almalarm esnasnda srekli yanmda olan sevgili
eime sonsuz teekkrlerimi sunarm.
Eyll 2006
Ayhan KRAZ
7/21/2019 web java sunumu tez.pdf
4/213
iii
NDEK
LER
TEEKKR.ii
NDEKLER........iii
SMGELER VE KISALTMALAR LSTES..ix
EKLLER LSTES....x
TABLOLAR LSTESxii
ZET.xiii
SUMMARY.......xiv
BLM 1.
GR1
1.1. nternet Nedir?.....................................................................................1
1.2. nternet ve Eitim.1
1.3. nternet Tabanl Uzaktan Eitim..3
1.4. nternet Ortamnda Eitim...3
1.5. Sanal retimin Avantajlar ve Dezavantajlar...4
1.6. Eitimde nternet Uygulamalarn Kullanmann Faydalar.5
1.7. Java Dilinin nemi..5
BLM 2.
JAVA'NIN GENEL YAPISI....82.1. Javann Tarihi.8
2.2. Java Dilinin Temelleri11
2.3. Hogeldin Java Uygulamas...12
2.3.1. Standart java...14
2.3.2. Enterprise java ......14
2.3.3. Java micro edition..15
2.4. Java Programlama Dili Temel Deiken Trleri...15
7/21/2019 web java sunumu tez.pdf
5/213
iv
2.4.1. Booelan deiken tr....16
2.4.2. Char deiken tr.17
2.4.4.Tam say deiken trleri18
2.4.5. Gerek say deiken trleri...19
2.4.6. String nesne tipi deikeni.19
2.4.7. Integer nesne tipi deikeni...20
2.4.8. Double nesne tipi deikeni...21
2.4.9. Dier nesne temelli deiken trleri ..22
2.4.10. Final terimi ve sabitler.22
2.4.11. Primitive tipler.23
2.5. Nesneler ve Atamalar.23
2.6. Java Operatrleri25
2.6.1. Aritmetik operatrler.26
2.6.2. likisel operatrler30
2.6.3. Mantksal operatrler.33
2.6.4. Bit dzeyinde(Bitwise) operatrler35
2.6.4.1. Ve(and) operatr...36
2.6.4.2. Veya(or) operatr..372.6.4.3. Yada(Exclusive or) operatr.38
2.6.4.4. Tmleme(Not) operatr38
2.6.5. teleme(Shift) operatrleri39
2.6.6. Atama operatrleri.41
2.6.7. String operatr.43
2.7. Dntrme(Casting) lemi .44
2.8. Bir Artrma ve Azaltma.452.9. Nesnelerin Karlatrlmas...47
BLM 3.
KONTROL FADELER49
3.1. Karlatrma Deyimleri.49
3.1.1. If yaps..49
3.1.2. If-else yaps...51
3.1.3. Switch ifadesi.57
7/21/2019 web java sunumu tez.pdf
6/213
7/21/2019 web java sunumu tez.pdf
7/213
vi
BLM 6.
APPLETLAR108
6.1. Applet Nedir?...................................................................................108
6.2. Appleti Web Sayfasna Gmme...111
6.3. Applet Etiketi ve Applet Parametreleri114
6.4. Graphics ve Paint Metotlar.117
6.5. Rastgele ekil izimi...118
6.6. Mouse Appleti120
6.7. Grafik Appleti.122
6.8. Hesap Makinesi Appleti.125
6.9. Blok Oyunu Appleti126
6.10. Rasgele izim Appleti..126
6.11. Tetris Oyunu Appleti127
6.12. Ufo Oyunu Appleti...128
BLM 7.
LAYOUT MANAGER.129
7.1. Borderlayout1297.2. Gridlayout130
7.3. Flowlayout...132
7.4. Cardlayout133
7.5. Gridbaglayout..135
7.6. Boxlayout.137
7.7. Verticalflowlayout...139
BLM 8.
PROGRAM HATALARINI YAKALAMA.141
8.1. Szdizimi Yanllar.141
8.2. Mantksal Yanllar..141
8.3. alma Zaman Yanllar..141
8.4. Hatann Yakalanmas...143
8.5. Hata Yakalama.145
8.5.1. Try-catch..145
7/21/2019 web java sunumu tez.pdf
8/213
vii
8.5.2. oklu hata yakalama(multiple catch)..149
8.5.3. Throw...152
8.5.4. Throws.153
8.5.5. Finally..155
BLM 9.
JAVA PAKETLER..158
9.1. Java.Lang Paketi..159
9.2. Java.Io Paketi...160
9.3. Java.Util Paketi161
9.4. Java.Net Paketi.161
9.5. Java.Awt Paketi161
9.6. Java.Awt.Image Paketi.162
9.7. Java.Awt.Peer Paketi...162
9.8. Java.Applet Paketi163
BLM 10.
AWT.164
10.1. AWT Bileenleri164
10.2. UI Bileenlerini Kullanmak...165
10.3. Buton.165
10.4. Checkbox...167
10.5. Checkboxgroup..170
10.6. Label..172
10.7. Textfield.174
10.8. Choice176
10.9. Menubar.178
10.10. Popupmenu..182
10.11. Scrollbar...182
10.12. Textarea184
10.13. Panel.185
BLM 11.KULLANILAN PROGRAMLAR187
7/21/2019 web java sunumu tez.pdf
9/213
viii
11.1. Html Nedir? ...187
11.2. Xara Webstyle187
11.3. Macromedia Dreamweaver 188
11.4. Microsoft Frontpage...191
BLM 12.
SONU VE NERLER..194
KAYNAKLAR.196
ZGEM..198
7/21/2019 web java sunumu tez.pdf
10/213
ix
SMGELER VE KISALTMALAR LSTES
TCP/IP : GeiKontrol Protokol Internet Protokol(Transmission ControlProtokol/Internet Protokol)
PDA : Kiisel Dijital Yardmc(Personal Digital Assistant)
CPU : Merkezi lem Birimi(Central Processing unit)
HTML : Text aretleme Dili(Hypertext Markup Language)
USB : Universal Seri Yol(Universal Serial Bus)
ISO : Uluslararas Standart Organizasyonu(International Standards
Organization)
GUI : Grafiksel Kullanc Arayz(Graphical User Interface)
I/O : Girik(Input Output)
UDP : Kullanc Datagram Protokol(User Datagram Protocol)
AWT : Genel Windows Aralar(Abstract Windows Toolkit)
UI : Kullanc Ara yz(User interface)
FTP : Dosya Transfer Protokol(File Transfer Protocol)
7/21/2019 web java sunumu tez.pdf
11/213
x
EKLLER LSTES
ekil 2.1. Tipik Java Evreleri..13
ekil 3.1. If yapsnn algoritmas...50
ekil 3.2. If yaps...51
ekil 3.3. If-Else yaps...52
ekil 3.4. Switch rnei..63ekil 3.5. For dngsnn algoritmas...64
ekil 3.6. For dngs ekran kts69
ekil 3.7. While Dngsnn yaps...69
ekil 3.8. Do-While applet rnei .75
ekil 4.1. Farkl elemana sahip ok boyutlu dizi91
ekil 5.1. Snf deikenleri rnei..104
ekil 6.1. Merhaba dnya appleti110
ekil 6.2. Renk deitirme appleti...114
ekil 6.3. Rasgele izim appleti...120
ekil 6.4. Mouse appleti122
ekil 6.5. Grafik appleti...125
ekil 6.6. Hesap makinesi appleti125
ekil 6.7. Blok oyunu appleti..126
ekil 6.8. izim appleti...127
ekil 6.9. Tetris oyunu appleti.127
ekil 6.10.UFO oyunu appleti.128
ekil 7.1. Borderlayout rnei..130
ekil 7.2. GridLayout rnei132
ekil 7.3. FlowLayout rnei133
ekil 7.4. Cardlayout rnei135
ekil 7.5. GridBagLayout rnei..137
ekil 7.6. BoxLayout rnei.139
7/21/2019 web java sunumu tez.pdf
12/213
xi
ekil 7.7. VerticalFlowLayout rnei......140
ekil 9.1. Baz Java paketleri...159
ekil 9.2. Java.Applet paketi163
ekil 10.1. Buton applet rnei.167
ekil 10.2. Checkbox bileeni rnei...169
ekil 10.3. CheckboxGroup bileeni171
ekil 10.4. Label rnei174
ekil 10.5. TextField bileeni...176
ekil 10.6. Choice bileeni178
ekil 10.7. Menubar rnei...181
ekil 10.8. Scrollbars rnei.184
ekil 10.9. TextArea bileeni185
ekil 10.10. Panel Bileeni...186
ekil 11.1. Xara Webstyle ile buton yapm.188
ekil 11.2. Dreamweaver programnda buton ayarlar.190
ekil 11.3. Dreamweaver programnda tablo ayarlar..191
ekil 11.4. Frontpage programnda ereve sayfas oluturma....192
ekil 11.5. Frontpage programnda ereve sayfas.....192ekil 11.6. Frontpage programnda ereve sayfas rnei..193
7/21/2019 web java sunumu tez.pdf
13/213
xii
TABLOLAR LSTES
Tablo 2.1. Java temel deiken trleri..... 16
Tablo 2.2. Hexadecimal(onaltl), onlu ve ikili say sistemleri eitlikleri.... 17
Tablo 2.3. Java dilindeki primitive tipler..... 23
Tablo 2.4. Javada aritmetik operatrler...... 26
Tablo 2.5. Operatrlerin veri tipini etkilemesi..... 29Tablo 2.6. Toplama ve kartma operatrlerinin tip etkilemesi... 29
Tablo 2.7. likisel operatrler...... 31
Tablo 2.8. Mantksal operatrlerin kullanm... 34
Tablo 2.9. Bit dzeyinde operatrler... 36
Tablo 2.10. VE(AND) ilemi doruluk tablosu. 37
Tablo 2.11. VEYA(OR) ilemi doruluk tablosu.. 37
Tablo 2.12. Dlayan YA DA ilemi doruluk tablosu.. 38
Tablo 2.13. Javadaki bitiik atama operatrleri 43
Tablo 2.14. Arttrma ve azaltma 45
Tablo 6.1. Applet metotlar.109
7/21/2019 web java sunumu tez.pdf
14/213
xiii
ZET
Anahtar Kelimeler: Java, nternet Destekli Eitim, Web sitesi
Yaadmz biliim anda teknolojinin ilerlemesi zaman zaman takipedilemeyecek kadar hzl olmaktadr. zellikle bilgisayar ve iletiim alanndakigelimeler, dier alanlar da etkilemi, dolays ile teknoloji yaadmz zamanadeta kontrol eder hale gelmitir. Bu alanlarda yaanlan gelimeler, yeni bir an
balangc olmutur.
Bu gelimelerin en ok etkiledii alan internet olmutur. Dnya apnda birbirinebal milyonlarca bilgisayardan oluan bu dev network a, bilgi alverii ve uluslararas haberleme iin byk kolaylklar beraberinde getirmitir. nternetinhayatmzda ok fazla yaylmas beraberinde internet zerinden eitimi ortayakarmtr. Bu sayede herkes istedii yerde, istedii bilgiye grsel vemultimedia(oklu ortam) destekli bir ekilde ulaabilmektedir. Bu alma ierisindegnmzde yaygnlamaya balayan Java programlama dilinin internet zerindenanlatm yaplmtr. Bu almann amac kiilerin Java dilini en kolay bir ekilde veistedii her mekanda rahatlkla renebilmesidir. nternet zerinde Java ile ilgili
Trke kaynaklar ok az bulunmaktadr. Olan bilgilerde ya ok ar ya da gerektiikadar ak deildir. almada Microsoft Frontpage, Macromedia Dreamveawer,Xara webstyle gibi programlar kullanlmtr. Bu programlar kullanarak kolay, hzlve anlalr bir ekilde Java ile ilgili bir web sitesi yaplmtr. Bu web sitesi Javaprogramlama dilini basit ve elenceli bir ekilde anlatmaktadr. Web sitesi dokuzblmden olumaktadr. Her blm kendi arasnda bamszdr. Bu ekilde istenilenkonular kolaylkla seilebilmektedir. Her blmde konular sol taraftan seilmekte veilgili konu sa tarafta almaktadr. Alan konu tek sayfadan fazlaysa sayfazerindeki ileri geri butonlaryla dier sayfalara gei salanmaktadr. Bu ekildebilgiye hzl bir ekilde ulalabilmektedir.
Tezin ilk blmnde giri, ikinci blmnde Javann genel yaps, ncblmnde kontrol ifadeleri, drdnc blmnde diziler, beinci blmnde classyaps, altnc blmnde appletler, yedinci blmnde yerletirme biimleri,sekizinci blmnde program hatalar, dokuzuncu blmnde Java paketleri, onuncublmnde awt aralar, onbirinci blmnde sonu ve son blmnde de kullanlanprogramlar anlatlmtr.
7/21/2019 web java sunumu tez.pdf
15/213
xiv
JAVA PROGRAMMING LANGUAGES PRESENTATION OVER
WEB
SUMMARY
Key words: Java, Internet Supported Education, Web Site,
Progress of technology in the information age is extremely fast. Especially
developments about computer and communication effected other areas. So
technology controls our age. Developments in this areas has become beginning of a
new age.
Internet effected these developments. This large network network that originated
millions computers all around the world, simplfied information relations and
international communication, because many people use internet, anda re exposed
internet education. Thus everybody can reach information that he/she wants. In this
application, Java programming language that begins to develop was explained up tointernet. Aim of this application to teach Java programming language easily in all
places. There is no enough Turkish source about Java. They are very difficult. In this
application, Microsoft Frontpage, Macromedia Dreamweaver and Xara Webstyle
programs were used. This website explain Java programming language simply and
amusingly. Website is composed of 9 sections. Every section is independent. Thus
subjects can be selected easily. In all sections, subjects are chosen from left side and
opened right side. If subject are more than one page, you must press next button.
The first section contains introduction, second section Javas general structure, third
section control statements, fourth section series, fifth section class structure, sixthsection applets, seventh section layout managers, eighth section program errors, ninth
section Java packages, tenth section awt, eleventh section conclusion and the last
section contains programs that were used.
7/21/2019 web java sunumu tez.pdf
16/213
BLM 1. GR
1.1. nternet Nedir?
nternet szc international Network szcnden olumu uluslararas a
anlamna gelen bir terimdir. nternet milyonlarca alt adan oluan ve alar ierisinde
aktif olarak bulunan insanlarn tmn yazl, grsel ve iitsel olarak bir araya getiripetkileim halinde bulunmasn salayan bir aprotokoldr.
nternet birok bilgisayar sistemini TCP/IP(Transmission Control Protokol/Internet
Protokol) protokol ile birbirine balayan dnya apnda yaygn olan ve srekli
byyen bir iletiim adr. nternet, tm dnyay kapsayan, ou lkeye dalmve
iki milyondan fazla bilgisayar birbirine balayan bilgisayar ann toplamdr.
Ksaca internet, birbiriyle tm dnya zerinde yaylm bilgisayar alarnn
birleiminden oluan bir bilgisayar adr. [1]
1.2. nternet ve Eitim
Etkileim zellii sayesinde internet, renmeye katk getirmekte ve dorudan
derslerde kullanlacak hemen her konu alanna ynelik kaynak ve materyaller
salanmaktadr. Bylelikle renme ortamlarnn grnm ve deerlendirme
yntemleri kkten deimektedir.
nternet kara tahta, tebeir ve sralara alternatif bir yol olarak dnlebilir. Bu
balamda, ABDdeki tm okul ve ktphanelerin internete balanma ilemleri byk
bir hzla tamamlanmaktadr.
Bir bilgi kayna olarak internetin kullanlmas, geleneksel olarak tek bilgi kayna
grlen retmenin rolnn bu konuda gnmze kadar geerli olan geleneksel
7/21/2019 web java sunumu tez.pdf
17/213
2
fikrin deimesine yol amtr. Bylece, renen merkezli renme ortamlar arlk
kazanmtr.
nterneti kullanma, rencilerin aktif katlmclar haline gelmesini salamakta, kendi
geleceklerini planlamakta ve rendikleri disiplinlerin uygulamalar iine
girmelerinde yardmc olmaktadr. Hem rencilerin hem de retim elemanlarnn
teknoloji ve bilgi okur-yazarln gelitirmelerini salamaktadr. Hem balang hem
de ileri dzeyde olanlar, teknolojik aralar kullanmalar konusunda da
cesaretlendirmektedir. Akademik aratrmalara duyulan ilgi artmakta, hem
akademisyenlerin hem de rencilerin aratrma yapmalar web tarafndan
desteklenmektedir. Bilginin nemli olduu kadar, onu kullanma srelerinin de eit
nemde olduu bir aa doru ilerlenmektedir. nternet bunlarn her ikisini de
desteklemektedir. [2]
nternet tabanl eitim gelien bilgisayar ve nternet teknolojisiyle birlikte hzla art
gstermi ve ok kullanlan bir eitim ortam haline gelmitir. Bir yandan eitim
kurumlar, dier yandan irketler kendi internet tabanl eitim modellerini
gelitirmektedirler. nk hzla artan dnya nfusunun eitimi, iki ylda biryarlanan teknolojinin takip edilmesi ancak internet tabanl eitimin kullanlmasyla
mmkn grnmektedir. [3]
nternet tabanl eitim modellerinde kullanlan etkileimli sayfalar, eitim verilen
dersin ileniini kolaylatrmakta, dersin eitim ynnden kalitesini arttrmaktadr.
[4]
Dersi etkileimli sayfalardan izleyen renciler gerek hayatta gzle
gremeyecekleri birok olay deneyerek grebilmekte ve konuyu daha kolay
anlayabilmektedir. nternet tabanl eitim iin etkileim, web sayfalarndaki gerekli
yerlere canlandrma(animasyon), benzetim(simlasyon), ses, grnt ve film
yerletirme ile salanabilir. Canlandrma(animasyon) ile ders ieriine ait bir olayn
nasl olduu canlandrlabilir. Simlasyonlar(benzetim) ile gerek hayatta gzle
grlemeyecek olaylar, tehlikeli deneyler veya pahal ara gere gerektiren
laboratuar uygulamalar gerekletirilebilir.
7/21/2019 web java sunumu tez.pdf
18/213
3
1.3. nternet Tabanl Uzaktan Eitim
Uzaktan eitim, renci ile eitici arasnda, basl ve dier teknolojik aralar da
kullanan bamsz bir eitim eklidir. Eitsel kaynaklar renenle birletiren eitsel
sisteme uzaktan renme denir. Uzaktan renme, renenlerin eitim kurumlarna
yazlmadan eitime girilerini salamaktadr. Uzaktan eitime geiteki en nemli
sorulardan biri niin uzaktan eitim sorusudur. Bu soruya verilecek cevaplar
aada listelenmitir.
Genibir renen kitlesine ulamak.
Konferans eklinde farkl konumaclarla renme ortam oluturmak.
Monolog ortamlara hapis olmamak
Derslere devam edemeyen ve zr bulunan rencilere ulamak.
Farkl kltrlerden rencilerle farkl konulara hakim alanlarda tanmak
1.4. nternet Ortamnda Eitim
nternet Tabanl Eitim: renen ve retenin zaman ve mekan olarak birbirlerinden
farkl durumlarda bulunduu, altyap olarak internet tabanl yerlerin kullanld
gerek zamanl istendik davranlar gelitirme srecidir. amzn en yaygn arac
olarak kullanlmakta olan internet eitiminde de yaygn olarak kullanlmaktadr.
Web Tabanl Eitim: Trkiyede internetin kullanm her geen gn belirli oranlarda
artmaktadr. 1995 ylndaki tahminlere gre %6dan %20ye periyodik oranlarda
art meydana gelmitir. 1995li yllardan sonra bu oran %100lere varan bir artgstermekte buda insanolunun internete olan ihtiya talebini gstermektedir. Bu
ekilde artan kullanc younluuna ek olarak web zerinden yaplan projelerin
gelitirilmesi, web sunucularn yaplandrlmas, ana sayfalar ve dijital kaynaklar ile
ilgili yaplandrlmalar en st dzeye karlmtr.
Posta Yoluyla Eitim: Gerek yurtd, gerek yurtii retmen kanalyla eitli ya
gruplarnda posta grubu oluturulabilmektedir. renciler derslerini, birbirlerinin
deneyimlerini, becerilerini paylaarak alabilmekte, eksiklerini
7/21/2019 web java sunumu tez.pdf
19/213
4
tamamlayabilmektedirler. Posta yoluyla eitim, web tabanl eitimde olduu gibi
iitsel ve grsel olanaklar salamamakta, sadece metin(text) tabanl bir etkileim
ortam oluturulmaktadr. [5]
1.5. Sanal retimin Avantajlar ve Dezavantajlar
Uzaktan eitim sisteminde yaanlan aksaklklar ve bunun yannda zel avantajlar da
bulunmaktadr. retimin, retmen ve rencinin renme-retme yeteneini belli
dzeylere ayrmak mmkndr. renci ders materyalini kendi istedii zamanda ve
meknda izleyebilmektedir. renci anlamakta glk ektii noktalar tekrar
gzden geirebilir. Bylece snf iindeki tm rencilerin ayn zek ve istek
dzeyinde kabul edildii yz yze retim ortamndaki skntlar alabilmektedir.
Sanal retimde ders materyali hzla gncelletirilebilir. Basl materyal datm
hzl bir ekilde aktarlabilir. rencinin, retmen ve dier renci arkadalar ile
hzl bir etkileim ierisinde olmas salanr. Sanal retim sistemleri ile datlan
bilgi sreklilik ve gncellik arz ettiinden yaam boyu renme imkan salar.
Bu avantajlarn yannda dezavantajlarda mevcuttur. Bunlardan biri hi phesiz
rgn retim sisteminde olduu gibi renciler arasnda birliktelik, grup bilinci
geliimi ve kltrel etkileim gibi baz psikolojik ve sosyolojik unsurlar
salayamamasdr.
Sanal retimde karlalan en nemli sorunlardan biri de ders materyali hazrlama
ve datmdr. nk retmen ve rencilerin belirli seviyede internet
teknolojilerini tanmas gerekmektedir. Ayn zamanda yz yze eitimde, konu
anlatm srasnda rencilerin herhangi bir konu ile ilgili problemleri olduunda
bunu rahatlkla retmenlerine sorabilirler, fakat sanal retimde byle bir anslar
yoktur.
7/21/2019 web java sunumu tez.pdf
20/213
5
1.6. Eitimde nternet Uygulamalarn Kullanmann Faydalar
retimin dzenlenmesine ve sunumuna yeni bak as getiren internet,
eitimcilere birok olanak sunmaktadr. Web sayfalar, haber ve tartma gruplarna,
Telnet sistemine, gopherlara ve dier web sayfalarna kolaylkla balanabilmektedir.
Bu ekilde hazrlanan sayfalar her alana geniletmek mmkndr. Fakat bu avantaj,
kontroln azalmasna yol aarak dezavantaja da dnebilmektedir, birok balant
ierisinde, renen kii kaybolabilmektedir. Bu nedenle internet kullanlmal ama
snrlar da bilinmelidir. rnein deiiklik, gncelleme ihtiyacnn youn olduu
konu alanlarnda ve corafi olarak ok geni boyutlu bir katlmc ile retimi
gerekletirmek gerektiinde web kullanlabilir, ancak okul ncesinde ok snrl
olarak yararlanlabilir. Eitimde internetin snrllklarn sralayacak olursak;
Teknolojinin srekli ve ok hzl geliiyor olmasna karn snrl band
aral ve ses, video ve grafik iletiminde sorun karan yavamodellerin
varl.
renen kiinin insiyatifine dayal olmasyla daha yaplandrlmve
aamal bir dzen isteyenler iin uygun olmamas.
Belli bir dzeyde bilgisayar ve teknik becerileri gerektirmesi.
Gereinden fazla bilgi yk olmas; okunacak ve zerinde dnlecek
yzlerce e-posta bulunmaktadr, bunlar yantlamak da ayrca zaman
istemektedir, veri tabanlar ve Web sitelerindeki bilgilere ulama iin,
bilgi ynetimi becerileri gerekmektedir.
Krsal blgelerden internete girebilmenin hala bir sorun olmas.
Sosyal adan izolasyon yaratmas ve szel olmayan ipularn eksiklii ile
iletiim sorunlarna yol amas. Aktif renmeyi desteklemesine karn, televizyonda olduu gibi pasif
olarak izlemeye neden olabilmesi.
Aile yaantsn olumsuz etkileyebilme. [6]
1.7. Java Dilinin nemi
Web tabanl eitim sayfalarnda kullanlan canlandrma(animasyon) vebenzetimlerin(simlasyonlarn) Java programlama dili ile tasarlanmasnn baz
7/21/2019 web java sunumu tez.pdf
21/213
6
nedenleri vardr. Java dili bilgisayar alar zerindeki farkl bilgisayar
platformlarnda kullanlacak yazlmlar gelitirmek amacyla gelitirilmitir. [7]
Java programlama dili bilgisayar ortamnda kullanlabilecek en gvenli yazlmdr.
Girilen web sayfasnda bulunan Java appletinin bilgisayara virs bulatrmasn veya
baka bir istenmeyen ilem yapmasn nlemek iin ierisinde bir dizi mekanizma
oluturulmutur. Java gvenlik mekanizmas Java appletinin kullanld
makinedeki veya nternet zerindeki bir baka makinedeki dosya sistemini
okumasna veya bu dosya sistemine bir ey yazmasna, sunucu makinenin dndaki
bir makineye balanmasna ya da bunlarn dndaki tehlikeli ilemlere izin vermez.
nternet ortamnda bir web sayfasndaki appleti altrmak gvenlik asndan sonderece zararszdr. Dier taraftan C++, Delphi gibi programlarn zel ktphaneler
kullanarak yaptklar ailemlerini Java programlama dili rahatlkla yapabilmektedir.
Java dili gn getike hzla kendini gelitirmektedir ve gelecein belki de en gzde
dili olmaya adaydr. [8]
Bu tezde gnmzde en ok kullanlan ve yeni yeni gelimeye balayan Java dili
incelenecektir. Trkiyeye baktmzda Java dili ile yeterli Trke kaynakolmadnn farkna vardk. Bu tezde rencilerin, zellikle Java dilini hi bilmeyen,
fakat renmek isteyen rencilere internet zerinden hzl ve kolay bir ekilde
anlatmay ve retmeyi hedefledik. Tez ierisinde Java dilini 10 ayr blmde
inceleyeceiz.
kinci blmde Java dilinin genel yaps, Javann tarihi, Javada kullanlan deiken
tipleri ve kullanm biimleri ve Java operatrleri hakknda bilgiler verilmitir.
nc blmde ise Javada kullanlan kontrol ifadeleri anlatlmtr. Bu blmde if
yaps, switch yaps, for dngs, while dngs, do-while dngs ve dallanma
ifadeleri hakknda bilgiler verilmitir.
Drdnc blmde Java dilindeki dizilerden bahsedilmitir. Bu blmde dizi
deikenleri, dizi elemanlarna eriim, dizi sralama ve kopyalama ve ok boyutlu
dizilerden bahsedilmitir.
7/21/2019 web java sunumu tez.pdf
22/213
7
Beinci blmde Java dilindeki snf(class) yapsndan bahsedilmitir. Bu blmde
snf oluturma, metot oluturma, this anahtar, snf metotlar, snfn gizlenmesi,
isim ve argman oluturma, yap metotlarndan bahsedilmitir.
Altnc blmde Java dilindeki applet yapsndan bahsedilmitir. Bu blmde appleti
web sayfasna ekleme, applet etiketi ve parametreleri, graphics ve paint komutlar,
Mouse appleti, grafik appleti, hesap makinesi, blok oyunu, Mouse izimi, tetris
oyunu, ufo oyunu konularndan bahsedilmitir.
Yedinci blmde Java dilindeki layout(yerletirme) yapsndan bahsedilmitir. Bu
blmde borderlayout, gridlayout, flowlayout, cardlayout, gridbaglayout, boxlayout,verticalflowlayout konularndan bahsedilmitir.
Sekizinci blmde Java dilindeki program hatalarndan bahsedilmitir. Bu blmde
program hatalarn yakalama, hatann yakalanmas, try-catch, oklu hata yakalama,
throw ve throws deyimleri ve finaly konularndan bahsedilmitir.
Dokuzuncu blmde Java paketlerinden bahsedilmitir. Bu blmde Java paketleri,Java.lang, Java.io, Java.util, Java.net, Java.awt, Java.awt.image ve Java.awt.peer
konularndan bahsedilmitir.
Onuncu blmde Java dilindeki awt paketlerinden bahsedilmitir. Bu blmde awt,
buton, checkbox, checkboxgroup, label, textfield, choice, menu, popupmenu,
scrollbar, textarea ve panel konularndan bahsedilmitir.
Onbirinci blmde uygulamay hazrlarken kullanlan programlar anlatlmtr.
7/21/2019 web java sunumu tez.pdf
23/213
8
BLM 2. JAVANIN GENEL YAPISI
2.1. Javann Tarihi
Belki de mikroilemci devriminin en nemli taraf dnya genelinde yz milyonlarca
sayya ulaan kiisel bilgisayarlarn yaplmasdr. Kiisel bilgisayarlar insanlarn
yaamnda derin bir etki brakmtr ve ilerini yapmada kolaylk salamtr. [9]
Java programlama dili u anda dnyadaki en popler programlama dillerinden biri
haline gelmitir. Java, SUN bilgisayar irketince elektrikli ev aralarnn birbirleriyle
haberlemesini amalayan bir proje ierisinde 1991 ylnda gelitirilmeye baland.
Orijinal ad dilin yaratclar James Gosling, Patrick Nauoght,Chis Wardh, ED Frank
ve Mike Sheridian tarafndan OAK olarak konulan programlama dili, daha sonra bu
isimde baka bir programlama dili olduu anlalnca kahve markasndan esinlenerek
Java olarak deitirildi. Akll elektronik ev paralar pazar, SUN grubunun
tahminlerinden ok daha yavabir gelime gsteriyordu. Bu yzden Java dili projesi,
ticari bir gelitirme projesi olarak byk olaslkla iptal edilecekti. 1993 ylnda
internetin tm dnyada yaygnlamaya balamas ve Javann byk bir atlm
gstererek web sitelerinde kullanlmas Javann nemini artrd. Javann dinamik
web sayfalar hazrlamadaki byk baarsn gren SUN irketi projeyi bu tarafa
ynlendirdi.
Mays 1995de SUN, Javay byk bir konferansta tantt. Program, i dnyas
tarafndan byk bir ilgiyle karlat. Java internet web sunucularnn
fonksiyonlarn oaltmak ve cep telefonu, sayfalayclar, PDA gibi birok cihaz iin
program gelitirmek iin alabilmekteydi; ayrca modern bilgisayar dnyasnn ses,
grafik ilem, haberleme gibi ihtiyalarna cevap verebilen ve ticari gayeler iin
hazrlanana bir programlama dili olarak daha nceki bilgisayar dillerinin hi birinin
kapsayamad zellikleri iermekteydi.
7/21/2019 web java sunumu tez.pdf
24/213
9
Bunun yan sra Java dilinin komut yaps olarak C++ diline ok yakn olmas,
renilmesini kolaylatryordu. SUN, Javay internette kullanmak isteyen herkese
cretsiz olarak sundu. Javann internette yaynlanmasnn ardndan ok byk bir
patlama yaand. 1997ye gelindiinde dnyadaki btn okullarda temel bilgisayar
dili olarak gsterilmeye baland. Dnyada uanda en ok kullanlan bilgisayar dili
olan C++ dilinin, yaplan hatalar tam olarak denetlenememesi, program alma
hzn arttrma ynnde iyi bir zellik olsa da, profesyonel programclar dnda
kullanlmasn snrlandrc bir etki yapyordu. Java ise btn hatalar bildiren yaps
ve modern bilgisayarn btn fonksiyonlarna ulaabilen ktphaneleriyle
programclarn ok daha kolaylkla renebilecei bir dildir.
Javann dier nemli bir temel zellii, nesne temelli(object oriented) bir dil
olmasdr. Nesne temelli diller; nesneleri, gerek dnyadakine daha benzer yapda
tanmlayarak anlalmalarn kolaylatrrlar. Nesneleri gerek dnyadaki gibi; masa,
sandalye, bilgisayar, gerek gaz gibi tanmlayarak programlamak insan beyninin
anlamas asndan ok daha kolaydr. Bundan nceki nesne temelli programlama
dilerinden hibiri ok yaygnlk kazanmamt. Bu tr dillere Smaltalku rnek
verebiliriz. C++ nesne temelli programlama yaplabilen bir dildir. Fakatyapsal(structural) bir programlama dili olan C dilinin bir uzants olarak
gelitirildiinden, tam anlamyla nesne temelli bir dil olduu sylenemez.[10]
Java dilini gelecein dili yapan dier bir zellii de, ok kullanml(multi tasking) ve
paralel kullanml(multi threading) bir dil olmasdr. ok kullanmllk birden fazla
ilemin ayn anda yaplabilmesinin tanmdr. Paralel kullanmllk ise birden fazla
programn ayn anda hafzay beraber kullanlabilmesidir. rnek olarak Word veExcel programlarnn Windows XP ortamnda ayn anda kullanlmasdr. Baz eski
programlama dillerinde ok kullanmllk programlanabiliyordu. Paralel kullanm
olanaklarn sunan ilk bilgisayar dili ise Javadr. Paralel kullanm paralel
programlama kavramndan ayrdr ve kartrlmamaldr. Paralel programlamada
birden fazla merkezi ilem birimine (CPU), ayr programlar veya bir programn ayr
paralar gnderilir. Paralel kullanmda ise bir CPUnun kullanm zaman kk
paralara ayrlarak, deiik program veya program paracklar bu zaman
paketiklerini paylaarak kullanrlar.
7/21/2019 web java sunumu tez.pdf
25/213
10
Javay nemli bir program dili haline getiren en nemli zellii ise, kullanlan
bilgisayardan bamsz olmasdr. Javada yazlan bir program Unix, Macintosh,
Windows 98, Windows XP veya herhangi bir makinede hi deitirilmeden
kullanlabilir. Java programlarnn grafikleri, internet sayfalarnn programlama dili
olan HTML(Hypertext Markup Language) ile aktarlr. Bu yzden HTML ve Java
programlarn birlikte kullanmak ve Java programlarn gerek zamanda internet
sayfalarnda gstermek mmkndr. [9]
Javann HTML diliyle kullanlabilmesi, baz kiilerde HTMLnin bir paras olduu
gibi bir kavram gelimesine yol amtr. Programlamaya yeni balayanlar sk sk
HTML ile Javay birbirine kartrrlar veya Javann, HTMLnin bir uzantsolduunu dnrler. Bu temelde olduka yanl bir varsaymdr. HTML, internet
belgelerini birbirine balamak amacyla gelitirilmibir belge ilem sistemidir ve bir
programlama dili deildir. HTML ile Javann tek gerek ilgisi HTMLdeki applet
komutudur. Bu komut yardmyla, Java dilinde yazlm programlarn sonular
HTML ortamna dinamik olarak aktarlabilir. [11]
Java programlama dili zaman getike hatalarn dzeltmeye devam etmitir. Java1.0, 1.1, 1.2, 1.3,1.4 ve son olarak 1.5 versiyonuyla devam etmitir. Java 1.2 srm
ile birlikte yaplan ciddi deiikliklerle Java 2 adn almtr.
zellikle Java 1.3 ve 1.4 ile gelen baz ilerlemeler Java uygulamalarnn daha hzl
almasn salad iin Java son birka yl ierisinde daha da popler hale
gelmitir.
Bir bilgisayar program, genel olarak belirlenen bir bilgisayar platformunda (letim
sistemi) alan 1 ve 0lardan olumaktadr. Bu yaplar insanlarn anlayabilecei
ekilde deillerdir. Bu durumda programlama dilleri devreye girer. Bu dillerde
yazlan programlar baka programlar tarafndan eitli ilemlerden geirilir ve 1 ve 0
haline getirilir. Tpk doal diller gibi, programlama dillerinin de bir yaps ve sz
dizimi vardr. Bir programlama dilini renmek de ilk olarak bu yapy anlamak ve
szdizimi hatas yapmadan komutlar yazabilmekle balar.
7/21/2019 web java sunumu tez.pdf
26/213
11
Java, internet tabanl ve veritabanlarna balantlar ieren, stelik taraycdan
kullanlan bir grsel arabirim gerektiren uygulamalar yazmak iin dier dillerden
daha gelimi zelliklere sahiptir. Servlet, JSP, JDBC, EJB, JMX gibi Java
teknolojileri bu tarz uygulamalar yazarken ciddi kolaylklar salamaktadr. [11]
2.2. Java Dilinin Temelleri
Java program normalde 5 blmde altrlr. Bunlar Edit, Compile, Load, Verify
ve Executedur. Java programlarn altrabilmek iin Java 2 Software
Development Kit (J2SDK) versiyon 1.5.0 kurulmaldr.
Birinci blmde bir dosyann dzenleme ilemi yaplmaktadr. Bu ilem bir editr
program ile yaplr. Programc Java programn editr kullanarak yazar ve gerekli
olduunda dzeltmelerini yapar. Program yazdktan sonra, program editr program
sayesinde diske kaydeder(Harddisk, Disket, USB Disk vb.). Java program dosyalar
kaydedildiklerinde Java uzantsn alrlar. Java isimli uzantlar bu dosyann Java
programlama dilinin kaynak kodu olduunu gsterir.
kinci blmde programc program derlemek iin JAVAC komutunu kullanr. Java
derleyicisi, Java programn Bytecode yapsna dntrr. Eer program doru bir
ekilde derlenmise, derleyici Welcome.class isminde bir dosya oluturur. Bu dosya
ierisinde komutlarn Bytecode hali bulunmaktadr.
nc blm ykleme diye adlandrlr. Program altrlmadan nce ilk olarak
hafzaya yerletirilmelidir. Bu ilem Bytecodelar ieren snf(class) dosyalarn alanClass Loader ile yaplr ve onlar hafzaya aktarr. .Class dosyalar sistemdeki hard
disk ten veya bir azerinden yklenebilir.
Drdnc blmde yklenen snf(class) dosyalarnn bytecodelar Bytecode
Verifier sayesinde dorulanr. Bu dorulama ilemi snf(class) Bytecodelarnn
geerli olduunu kesinletirir ve Javann gvenlik snrlamalarn bozmaz. Java
kuvvetli bir gvenlik iermektedir. nk Java programlar a zerinden dosyalara
7/21/2019 web java sunumu tez.pdf
27/213
12
ve sisteme zarar vermemelidir. Bytecode dorulamas, ayn zamanda a zerinden
yklenen uygulamalarda da olur.
Son olarak beinci blmde, iletim sisteminin kontrolndeki yap program bir
Bytecodea evirir. Bylece program tarafndan belirtilen ilemler gsterilir. Bu
ilemin olmas iin iki tr program vardr. Bunlar uygulamalar ve appletlerdir.
Uygulama dediimiz yapya, kelime ilemci program, izim program veya bir mail
program rnek gsterilebilir. Bu tr programlar kullancn kendi bilgisayarnda
depolanr ve altrlr. Applet ise internet tarayclarna bal uzak bilgisayarlarda
depolanan kk programlara denir. Buradaki uzak bilgisayarlar web sunuculardr.
Appletler uzaktaki web sunucu bilgisayarnda yklenir, taraycda altrlr ve
altrma ilemi bittii zaman bilgisayardan boaltlr. Uygulamalar hafzayayklenir ve Java derleyicisindeki Java komutu ile altrlr.
2.3. Hogeldin Java Uygulamas
Java Hogeldin program altrld zaman hogeldin uygulamas iin derleyici
alr ve hogeldin programnda kullanlan bilgiler Class Loader ile yklenir. ekil
2.1de Java programnn alma evreleri grnmektedir.
7/21/2019 web java sunumu tez.pdf
28/213
13
ekil 2.1. Tipik Java evreleri [12]
Java platformu ana gruba ayrlr.
Standart Java
Enterprise Java
Tketici iin ve gml cihazlar iin Java (embedded devices)
7/21/2019 web java sunumu tez.pdf
29/213
14
Yukardaki kategoriler alacak olursa 3 gruba ayrlr.
2.3.1. Standart java
Java 2 SDK (J2SE)
Java 2 Runtime Environment
Java Plug-in
Java Web Start
Java HotSpot Server Virtual Machine
Collections Framework
Java Foundation Classes (JFC) Swing Components
Pluggable Look & Feel
Accessibility
Drag and Drop
Security
Java IDL
JDBC Java Beans
Remote Method Invocation (RMI)
Java 2D
2.3.2. Enterprise java
Enterprise Java Beans (EJB) Architecture Java Server Pages (JSP)
Java Servlet
Java Naming and Directory Interface (JNDI)
Java IDL
JDBC
Java Message Service (JMS)
Java Transaction (JTA)
Java Transaction Service (JTS)
7/21/2019 web java sunumu tez.pdf
30/213
15
Java Mail
RMI-IIOP
Software Development Kit & Application Model
Java 2 SDK, Enterprise Edition (J2EE)
Sun BluePrints Design Guidelines for J2EE
2.3.3. Java micro edition
Java 2 Platform, Micro Edition (J2ME technology)
Connected Device Configuration (CDC)
Connected Limited Device Configuration (CLDC) C Virtual Machine (CVM)
K Virtual Machine (KVM)
Personal Java
Java Card
Java Phone API
Java TV API
Jini Network Technology Mobile Information Device Profile (MIDP) [12]
2.4. Java Programlama Dili Temel Deiken Trleri
Programlama dillerinde rakamlar bilgisayar belleinin temel depolama birimlerine
yazlrlar. Temel bilgisayar bellek birimi bit olarak adlandrlr. Bir bilgisayar
belleindeki tek bir transistrden olumutur. Bu transistrden akm geiyorsatansistrn veya bitin bellek deeri 1 veya true(doru) olarak alnr. Eer akm
gemiyor veya dk dzeyde bir akm geiyorsa transistrn bellek deeri 0 veya
false(yanl) olarak alnr. Bilgisayar bit birimleri bir araya gelerek, bilgisayar temel
deiken trlerinin yazlabilecei bir sistem oluturur. Deiken tr bilgisayar
tarafndan bilinmelidir, nk ayn bit topluluu bir harfi simgeleyebilecei gibi bir
rakam da simgeleyebilir. Java dilinde temel deiken trleri mevcuttur. Aada bu
temel deikenler anlatlmtr.
7/21/2019 web java sunumu tez.pdf
31/213
16
2.4.1. Booelan deiken tr
Boolean deiken tr mantk ilemlerinde kullanlr. Sadece true(doru) veya (false)
deerleri alr. True doru false yanlanlam tar. Mantk deikenlerine dorudan
true(doru) veya false(yanl) deerleri yklenebilecei gibi dier deikenleri
mantk ilemlerini kullanarak ve karlatrarak ta deerler programlarn iinde
hesaplanabilir. Tablo 2.1de temel deikenler verilmitir.
Tablo 2.1. Java Temel Deiken trleri
Deiken Tr Trke karl Bit bykl Snr Deerleri
Boolean Mantk deikeni 1 true(doru) , false(yanl)
Char Harf deikeni 16 '\u0000' den '\uFFFF'
Byte Tam say deikeni 8 -128 den 127 e kadar
Short Tam say deikeni 16 -32768 den 32767 e kadar
Int Tam say deikeni 32 -2157483648 den 2147483647 e
kadar
Long Tam say deikeni 64 -9223372036854775808 den
9223372036854775808 e kadar
Float Gerek say deikeni 32 -3.40292347e+38 den
3.40292347e+38 e kadar
Double Gerek say deikeni 64 -1.7976931348623157e+308 den
1.7976931348623157e+308 e
kadar
Aadaki kk program paras mantk deikeni ilk mantk deikeninitanmlamakta ve true(doru) deerini bu deikene yklemektedir.
boolean ilkmantkdegiskeni;
ilkmantikdegiskeni=true;
7/21/2019 web java sunumu tez.pdf
32/213
17
2.4.2. Char deiken tr
Char deiken tr karakterlerin tanmlanmasnda kullanlr. Karakterler Java dilinde
ISO Unicode kodu ile bilgisayara aktarlr. Unicode 4 hexadecimal (16 tabanl)
saynn bir araya gelmesiyle oluur. Hexadecimal say sisteminin onlu ve ikili say
sistemiyle eitlii aadaki tabloda gsterilmitir. Tablo 2.2de hexadecimal, onlu ve
ikili say sistemleri listeleri verilmitir.
Tablo 2.2. Hexadecimal(onaltl), onlu ve ikili say sistemleri eitlikleri
ISO Unicode da tanmlanan '\u0041' kodu 'A' harfi anlamna gelir. Veya '\u03E1'
kodu '' karakterini tanmlar. ISO Unicode karakter setinin ilk iki rakam sfr
Hexadecimal Onlu kili0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
A 10 1010
B 11 1011
C 12 1100
D 13 1101
E 14 1110
F 15 1111
7/21/2019 web java sunumu tez.pdf
33/213
18
olduunda ASCII karakter kodunu tanmlar. Aadaki rnekte char tipi A1, A2 ve
alpha1,alpha2 deikenlerine A ve a harflerini yklemektedir.
char A1,A2;
char alpha1,alpha2;
A1='\u0041';
A2='A';
alpha1='\u03E1';
alpha2='';
2.4.4. Tam say deiken trleri
Tam say deikenler hafzada igal ettikleri yere gre byte(8 bit), short(16 bit),
int(32 bit) ve long(64 bit) adn alrlar. Bir bitlik hafzaya sadece iki rakamn (0 veya
1) yazlabilecei gz nne alnrsa rnein sekiz bitlik byte tr tamsay
deikenine 256 say (ikili say eiti 11111111) yazlabilecei ortaya kar. Bitlerden
biri + veya - iareti iin kullanldndan byte deikeninin snr deerleri -128den
127 e kadardr. Eer bir tamsay deikenin sadece art deerleri kullanlmakistenilirse unsigned terimi kullanlr. rnein unsigned byte tipi tamsay deikenin
snr deerleri 0 dan 256 ya kadardr. Tamsay deiken trleri iinde en fazla
kullanlan int trdr. Aadaki rnekte int tr ilktamsayi deikenine 32 rakam
yklenmektedir.
int ilktamsayi;
ilktamsayi=32;
bu iki satrlk rnek tek bir satr olarak
int ilktamsayi=32;
eklinde de yazlabilir.
7/21/2019 web java sunumu tez.pdf
34/213
19
Javadaki tamsay deiken trleri + ve deeri alabilen trlerdir. rnein byte
deiken trnde 128 den +127 e kadar toplam 256 say kullanlabilir. Eer blge
kullanlmayacaksa tamsay deikenlerin kullanm blgesini unsigned deyimini
kullanarak tamamen art blgeye ekilebilir. Aada bunla ilgili bir rnek
bulunmaktadr.
unsigned byte artibolgetamsayisi;
Yukardaki rnekte tanmlanan artibolgetamsayisi deikeni 0 ile 256 arasnda
deerler alabilir.
2.4.5. Gerek say deiken trleri
Gerek say sistemleri de 0 ve 1 bitleri kullanlarak oluturulabilir. Gerek saylarn
tamsaydan kk ksmlar ikilli tabanda eksi stler kabul edilerek oluturulur.
Gerek say deikende yeterli hassasiyeti salayabilmek iin genelde 64 bit
uzunluundaki double deiken tr kullanlr. Javadaki Matematik ktphaneleride double deiken tr iin tanmlanmtr. Aadaki rnekte double tr
ilkgercekdegisken deikenine 22.625e-7 says yklenmektedir.
double ilkgerekdegisken;
ilkgerceldegisken=22.625e-7;
Eer double say hassasl yetmezse long doublekullanlabilir. Bu deiken tr128 bit boyutundadr.
2.4.6. String nesne tipi deikeni
String deikeni yaz yazdrma ileri iin kullanlr. Nesne tr deikendir. Java
dilinde char deiken tr kullanlarak tanmlanm bir nesne tipi deikendir.
Aadaki rnekte bu deiken trnn kullanl grlmektedir.
7/21/2019 web java sunumu tez.pdf
35/213
20
String a="ali";
String c="veli";
String d;
d=a+b; // d nin kdeeri "ali veli"
System.out.println(d); // bu satr ali veli kts veri
String tr sabitler her zaman " " iaretleri arasna yazlrlar ve + iaretiyle bir araya
getirilebilirler. Aadaki rnekte bu deiken trnn kullanl grlmektedir.
String a=new String("ali");
String c=new String("veli");String d=new String();
d=a+b; // d nin deeri "ali veli"
System.out.println(d); // bu satr ali veli kts verir
2.4.7. Integer nesne tipi deikeni
Integer, tam say ilemlerinde kullanlan bir deiken trdr. Integer deikeni
Integer i;
i=new Integer(3);
veya
Integer i=new Integer(3);
eklinde tanmlanabilir. Integer tanm String deikeni zerinden de tanmlanabilir.
Aadaki rnekte bu yapnn kullanl grlmektedir.
String s=15;
Integer i=new Integer(s);
Yukarda 15 deeri s deikenine yklenir. Integer deeri int deerine evrilebilir.
7/21/2019 web java sunumu tez.pdf
36/213
21
int x;
Integer y=new Integer(3);
x=Integer.IntegerValue(y);
String deerini int deerine dorudan evirmek iinse
String s=15;
Int x=Integer.parseInt(s);
kullanlr.
int tipi deikeni String deikenine dntrmek iin
int x=3;
String s=Integer.toString(x);
Komutlar kullanlr.
2.4.8. Double nesne tipi deikeni
Double deikeni kullanm olarak Integer deikeninden bir fark yoktur. Ayn
tanmlamalar Integer yerine Double kullanlarak yaplabilir. Deikenler
Double x;
X=new Double(3.66e5); Veya
Double x=new Double(3.66e5);
eklinde tanmlanabilir.
String deerini double (temel deiken) deerine dorudan evirmek iinse
String s=15;
Int x=Double.parseDouble(s);
7/21/2019 web java sunumu tez.pdf
37/213
22
lemi kullanlabilir.
Double tipi (temel) deikeni String deikenine deitirmek iin
Double x=3.75;
String s=Double.toString(x);
kullanlr.
2.4.9. Dier nesne temelli deiken trleri
Object, Long, Float, Boolean, Character, Vector gibi dier nesne tipi deiken trleri
de mevcuttur. Object nesne tipi tm bu deiken nesne tiplerini iinde barndran
genel bir tiptir. Tm nesne tipi deikenlerin bizim iin temel avantaj, alt metotlarn
kullanarak ilemler gerekletirme ihtimalidir. Fakat bu tr deikenler temel
deiken trlerine gre daha ok hafza yeri igal ettiklerinden mecbur kalnmadka
da kullanlmamaldrlar. Ayrca nesne tipi BigDecimal ve BigInteger trleri dehassasiyeti kullanc tarafndan belirlenen nesne tipi deikenler olarak
kullanlabilirler.
2.4.10. Final terimi ve sabitler
Java dilinde deiken yerine sabit deer kullanlmak istenilirse tanmn bana final
szc getirilir. Final olarak tanmlanan sabitlerin bir kere deerleri verildiktensonra deitirilemez. Aadaki rnekte bu deiken trnn kullanl
grlmektedir.
final double pi=3.14159;
Yukardaki rnekte kullanlan yap Pi sabitini tanmlar.
7/21/2019 web java sunumu tez.pdf
38/213
23
2.4.11. Primitive tipler
Tablo 2.3de Java dilindeki 8 tane primitive tip listelenmektedir. nceki C ve C++
dillerinde olduu gibi, Java dili de tm deikenlerin bir tipi olmasn istemektedir.
Bu dnce nda Java kuvvetli tipli dilleri kapsamaktadr.
C ve C++ dillerinde, programclar sk sk deiik bilgisayar sistemlerini destekleyen
programlarn ayr versiyonlarn yazmak zorunda kalrlar. nk primitive tiplerin
bilgisayardan bilgisayara ayn olduu garanti edilemez. rnein bir makinedeki
tamsay deeri hafzann 32 biti ile temsil edilirken, baka bir makinede hafzann 16biti ile temsil edilebilir. Javada ise tamsay deerler daima 32 bittir.
Tablo 2.3. Java dilindeki primitive tipler
2.5. Nesneler ve Atamalar
Nesneler iin atama ilemleri, temel tiplere gre biraz daha karmaktr. Nesneleri
ynetmek iin referanslar kullanlr; eer, nesneler iin bir atama ilemi sz konusu
ise, akla gelmesi gereken ilk ey, bu nesnelere bal olan referansn gsterdii
hedeflerde bir deiiklik olacadr. Aada bu zellik ile ilgili rnek bir program
bulunmaktadr.
OPERATRLER ARIIMI TP
++ -- Sadan sola Unary Postfix
++ -- + - Sadan sola Unary
* / % Soldan saa arpml
+ - Soldan saa Katkl
< >= Soldan saa Balantl
== != Soldan saa Eitlik
?: Sadan sola Durumsal
= += -= *= /=
%=
Sadan sola Atama
7/21/2019 web java sunumu tez.pdf
39/213
24
class Sayi {
int i;
}
public class NesnelerdeAtamaislemi {
public static void main(String[] args)
{
Sayi s1 = new Sayi();
Sayi s2 = new Sayi();
s1.i = 9;
s2.i = 47;
System.out.println("1: s1.i: " + s1.i +", s2.i: " + s2.i);s1 = s2; // referanslar kopyalaniyor.
System.out.println("2: s1.i: " + s1.i +", s2.i: " + s2.i);
s1.i = 27;
System.out.println("3: s1.i: " + s1.i +", s2.i: " + s2.i);
}
}
Program 2.1. Nesnelerde atama rnei
Yukarda verilen uygulama u ekilde almaktadr. nce 2 adet Sayi nesnesi
oluturulmaktadr. Bunlar Sayi tipindeki referanslara bal olan s1 ve s2dir. Bu
referanslar artk 2 ayr Sayi nesnesini gstermektedirler. Daha sonra s1 referansnn
iaret ettii Sayi nesnesinin i alanna 9 says atanmaktadr. Benzer ekilde s2
referansnn iaret ettii Sayi nesnesinin ialanna da 47 says atanmaktadr. Yaplan
ilemlerin dzgn olup olmadklarnn grlebilmesi iin ekrana yazdrldnda
aadaki sonu ile karlalr.
1: s1.i: 9, s2.i: 47
7/21/2019 web java sunumu tez.pdf
40/213
25
2.6. Java Operatrleri
Operatrler programlama dillerinin en temel ilem yapma yeteneine sahip simgesel
isimlerdir. Tm programlama dillerinde nemli bir yere sahip olup, bir ilem
operatr ile gerekletirilebiliyorsa en hzl ve verimli ancak bu ekilde yaplr
denilebilir. Yalnzca bir operatr ile gerekletirilemeyen ilemler, ya bir grup
operatrn bir araya getirilmesiyle ya da o ilemi gerekletirecek bir metot
yazlmasyla salanr. Java dili olduka zengin ve esnek operatr kmesine sahiptir.
rnein matematiksel, mantksal, koulsal, bit dzeyinde gibi birok operatr
kmesi vardr ve bunlar ierisinde eitli operatrler bulunmaktadr. Aada
operatr eitleri gsterilmitir. Aritmetik Operatr
likisel Operatr
Mantksal Operatrler
Bit dzeyinde Operatrler
Operatrler, genel olarak, zerinde ilem yapt deiken/sabit saysna gre tekli
operatr veya ikili operatr olarak snflanmaktadr. 3 adet deiken/sabite ihtiyaduyan operatrlere de l operatr denilir. Tekli operatrler hem nek(prefix) hem
de sonek(postfix) ilemlerini desteklerler. nekten kastedilen anlam operatrn
deikenden nce gelmesi, sonekte operatrden sonra gelmesidir.
operatr deiken //nek ifadesi
Sonek ilemlerine rnek olarak,
deiken operatr// sonek ifadesi
kili operatrlerde operatr simgesi ara ek(infix) olarak iki deikenin ortasnda
bulunur.
deiken1 operatr deiken2 //ara ek
l operatrlerde ara ek(infix) ilemlerde kullanlr. Javada l operatr bir tanedir.
7/21/2019 web java sunumu tez.pdf
41/213
26
deiken1 ? deiken2 :deiken3 //ara ek
2.6.1. Aritmetik operatrler
Java programlama dili kayan noktal(floating-point) ve tamsaylar iin birok
aritmetik ilemi destekleyen eitli operatrlere sahiptir. Bu ilemler toplama
operatr(+), kartma operatr(-), arpma operatr(*), blme operatr (/) ve son
olarak da artk blme(%) operatrdr. Tablo 2.4de aritmetik operatrler verilmitir.
Tablo 2.4. Javada aritmetik operatrler
Operatr Kullanl Aklama
+ deiken1 + deiken2 deiken1 ile deiken2yi toplar
- deiken1 - deiken2 deiken1 ile deiken2yi karr
* deiken1 * deiken2 deiken1 ile deiken2yi arpar
/ deiken1 / deiken2deiken1, deiken2 tarafndan
blnr
% deiken1 % deiken2deiken1in deiken2 tarafndan
blmnden kalan hesaplanr.
Verilenler bir Java uygulamasnda aadaki gibi gsterilebilir.
public class AritmetikOrnek
{
public static void main(String[] args)
{ // Deikenler atanan deerler
int a = 57, b = 42;
double c = 27.475, d = 7.22;
System.out.println(Deiken Deerleri...);
System.out.println( a = + a);
System.out.println( b = + b);
7/21/2019 web java sunumu tez.pdf
42/213
27
System.out.println( c = + c);
System.out.println( d = + d);
// Saylar toplanyor
System.out.println(Toplama...);
System.out.println( a + b = + (a + b));
System.out.println( c + d = + (c + d));
// Saylar karlyor
System.out.println(kartma...);
System.out.println( a - b = + (a - b));
System.out.println( c - d = + (c - d));
// Saylar arplyor
System.out.println(arpma...);
System.out.println( a * b = + (a * b));
System.out.println( c * d = + (c * d));
// Saylar blnyor
System.out.println(Blme...);
System.out.println( a / b = + (a / b));System.out.println( c / d = + (c / d));
// Blme ilemlerinden kalan say hesaplanyor
System.out.println(Kalan sayy hesaplama...);
System.out.println( a % b = + (a % b));
System.out.println( c % d = + (c % d));
// double ve int tipleri kark ekilde kullanlyor.
System.out.println(Kark tipler...);
System.out.println( b + d = + (b + d));
System.out.println( a * c = + (a * c));
}
}
Program 2.2. Aritmetik ilemler
Uygulamann sonucu aadaki gibi olur.
7/21/2019 web java sunumu tez.pdf
43/213
28
Deiken Deerleri...
a = 57
b = 42
c = 27.475
d = 7.22
Toplama...
a + b = 99
c + d = 34.695
kartma...
a - b = 15c - d = 20.255000000000003
arpma...
a * b = 2394
c * d = 198.36950000000002
Blme...
a / b = 1
c / d = 3.805401662049862Kalan sayy hesaplama...
a % b = 15
c % d = 5.815000000000002
Kark tipler...
b + d = 49.22
a * c = 1566.075
Verilen rnek dikkatlice incelenirse, tamsay ile kayan noktal saylar bir operatrn
deikenleri olursa sonu kayan noktal say olmaktadr. Bu ilemde tamsay,
kendiliinden kayan noktal sayya evrilir. Tablo 2.5te dntrme ileminde
izlenen yol verilmitir.
7/21/2019 web java sunumu tez.pdf
44/213
29
Tablo 2.5. Operatrlerin veri tipini etkilemesi
Sonu Veri Tipi Deikenlerin Veri Tipleri
longDeikelerin float veya double tipinden farkl olmas
ve en az bir deikenin long tipinde olmas
intDeikelerin float veya double tipinden farkl olmas
ve deikenlerin long tipinden farkl olmas
double En az bir deikenin double tipinde olmas
floatDeikenlerin hibirinin double tipinde olmamas ve
deikenlerden en az birinin float tipinde olmas
+ ve operatrlerinin, ayn zamanda, karakter tipindeki verileri saysal tipe
dntrme grevleri de vardr. Tablo 2.6da bu operatrler verilmitir.
Tablo 2.6. Toplama ve kartma operatrlerinin tip etkilemesi
Operatr Kullanlekli Aklama
+ + deikenEer deiken char, byte veya short tipinde
ise int tipine dntrr
- - deikenDeikenin deerini eksi yapar (-1 ile
arpar).
Aada bu zelliin daha rahat anlalabilmesi iin rnek bir programbulunmaktadr.
public class OperatorTest
{
public static void main(String args[] )
{
char kr = 'a' ;int b = +kr ; // otomatik olarak int temel tipine evrildi
7/21/2019 web java sunumu tez.pdf
45/213
30
int c = -b ; // deeri eksi yapt
System.out.println("kr = " + kr );
System.out.println("b = " + b );
System.out.println("c = " + c );
}
}
Program 2.3. Operatr test rnei
Char temel(primitive) bir tiptir ve bu tiplere deer atanrken veri tek trnak ierisinde
verilmelidir. Bu rnekte girilen deer a harfidir. Daha sonra + operatr kullanlarakchar deerini int tipine dntrlyor ve son olarak ta bu int deeri -operatryle
eksi hale getiriliyor. Uygulamann sonucu aadaki gibi olur.
kr = a
b = 97
c = -97
2.6.2. likisel operatrler
likisel operatrler iki deeri karlatrarak bunlar arasndaki mantksal ilikiyi
belirlemeye yararlar. rnein iki deer birbirine eit deilse, ==operatryle bu
iliki sonucu yanl(false) olur. Tablo 2.7de ilikisel operatrler ve anlamlar
verilmitir.
7/21/2019 web java sunumu tez.pdf
46/213
31
Tablo 2.7. likisel operatrler
Operatr Kullanlekli True deeri dner eer ki........
> deiken1 > deiken2 deiken1, deiken2den bykse
>= deiken1 >= deiken2deiken1, deiken2den bykse
veya eitse
i = + (j > i)); //true - j, i den Byktr
System.out.println( k > j = + (k > j)); //false - k, j ye eit//Byktr veya eittir
7/21/2019 web java sunumu tez.pdf
47/213
32
System.out.println(Byktr veya eittir...);
System.out.println( i >= j = + (i >= j)); //false - i, j den kktr
System.out.println( j >= i = + (j >= i)); //true - j, i den byktr
System.out.println( k >= j = + (k >= j)); //true - k, jye eit
//Kktr
System.out.println(Kktr...);
System.out.println( i < j = + (i < j)); //true - i, jden kktr
System.out.println( j < i = + (j < i)); //false - j, i den byktr
System.out.println( k < j = + (k < j)); //false - k, jye eit
//Kktr veya eittir
System.out.println(Kktr veya eittir...);System.out.println( i
7/21/2019 web java sunumu tez.pdf
48/213
33
i > j = false
j > i = true
k > j = false
Byktr veya eittir...
i >= j = false
j >= i = true
k >= j = true
Kktr...
i < j = true
j < i = false
k < j = falseKktr veya eittir...
i
7/21/2019 web java sunumu tez.pdf
49/213
34
Tablo 2.8. Mantksal operatrlerin kullanm
Aada birden ok ilikisel karlatrmann mantksal operatrler birletirilmesi
iin rnekler verilmitir. Buradaki m,r,z,a,b isimleri deikenlerdir.
m>10 && m0 && r10 && b
7/21/2019 web java sunumu tez.pdf
50/213
35
int d = 1 ;
/* (a < b) = bu ifadenin doru (true) olduu bilinmektedir
(c < d) = bu ifadenin yanl(false) olduu bilinmektedir */
System.out.println( (a
7/21/2019 web java sunumu tez.pdf
51/213
36
Tablo 2.9. Bit dzeyinde operatrler
Operatr Kullanlekli Aklama
& deiken1 & deiken2 bit dzeyinde VE
| deiken1 | deiken2 bit dzeyinde VEYA
^ deiken1 ^ deiken2 bit dzeyinde YA DA
~ ~deiken bit dzeyinde tmleme
>> deiken1 >> deiken2 bit dzeyinde saa teleme
> deiken1 >>> deiken2 bit dzeyinde saa teleme
2.6.4.1. Ve(and) operatr
VE ileminde her iki taraf ta doru(true) ise sonu doru dier durumlarda sonu
yanl(false) olur. VE ilemi doruluk tablosu Tablo 2.10da verilmitir. Bit
dzeyinde VE ileminde operatrn hemen sa ve sol yannda bulunanparametrelerin ikili karlklar bit bit VE ilemine sokulur. lem en sadaki bitten
balatlr. rnein 10 ve 9 saylarnn ikili karlklar srasyla 1010 ve 1011dir. Her
ikisi bit dzeyinde VE ilemine sokulursa, sonu 1000 kar. Aada bu rnein
almas grnmektedir.
1010 10
& 1001 9---------
1000
7/21/2019 web java sunumu tez.pdf
52/213
37
Tablo 2.10. VE(AND) ilemi doruluk tablosu
deiken1 deiken2 Sonu
0 0 0
0 1 0
1 0 0
1 1 1
2.6.4.2. Veya(or) operatr
VEYA ileminde her iki taraftan birinin doru(true) olmas sonucun doru kmas
iin yeterlidir. VEYA ilemi doruluk tablosu Tablo 2.11de verilmitir. Bit
dzeyinde VEYA ileminde operatrn hemen sa ve sol yannda bulunan
parametrelerin ikili karlklar bit bit VEYA ilemine sokulur. lem en sadaki
bitten balatlr. rnein 10 ve 9 saylarnn ikili karlklar srasyla 1010 ve
1011dir. Her ikisi bit dzeyinde VE ilemine sokulursa, sonu 1011 kar. Aada
bu rnein almas grnmektedir.
1010 10
1001 9
--------- 1011
Tablo 2.11. VEYA(OR) ilemi doruluk tablosu
deiken1 deiken2 Sonu
0 0 0
0 1 1
1 0 1
1 1 1
7/21/2019 web java sunumu tez.pdf
53/213
38
2.6.4.3. Yada(Exclusive or) operatr
YADA ileminde her iki taraftan yalnzca birinin doru(true) olmas sonucu doru
yapar. Her iki tarafn ayn olmas durumunda sonu yanl(false) kar. YADA
ileminin doruluk tablosu Tablo 2.12de verilmitir.
Tablo 2.12. Dlayan YADA ilemi doruluk tablosu
Deiken1 deiken2 Sonu
0 0 0
0 1 1
1 0 1
1 1 0
VE ve VEYA ilemlerinde kullanlan rnek saylar YADA iin de gsterilirse,
sonu aadaki gibi olur.
1010 10
^ 1001 9
---------
0011
2.6.4.4. Tmleme(Not) operatr
a bir deiken ad ise ~a ifadesi alm : ~a = (-a) - 1, yani, ~10= (-10) -1 = -11
sonucunu verir. Aada tmleme operatr ile ilgili bir rnek bulunmaktadr.
public class BitwiseOrnek2 {
public static void main( String args[] )
{
int a = 10, b = 9, c = 8 ;
7/21/2019 web java sunumu tez.pdf
54/213
39
System.out.println( (a & b) --> + (a & b) );
System.out.println( (a | b) --> + (a | b ) );
System.out.println( (a ^ b) --> + (a ^ b) );
System.out.println( ( ~a ) --> + ( ~a ) );
System.out.println( ( ~b ) --> + ( ~b ) );
System.out.println( ( ~c ) --> + ( ~c ) );
}
}
Program 2.6. Bitwise rnei
Uygulamann sonucu aadaki gibi olur.
(a & b) --> 8
(a | b) --> 11
(a ^ b) --> 3
( ~a ) --> -11
( ~b ) --> -10( ~c ) --> -9
VE, VEYA ve YADA(Exclusive Or) operatrleri birden ok mantksal sonu ieren
ifadelerde kullanlabilir.
2.6.5. teleme(Shift) operatrleri
Bit dzeyinde ilem yapan bir grup operatrn ad teleme operatrleri olarak
adlandrlrlar. Bunlar >>, >> ve >>> simgeleriyle gsterilmektedir. teleme
operatrleri veri zerindeki bitlerin saa veya sola kaydrlmas iin kullanlr.
Aadaki rnekte bu operatrlerin Java uygulamalarnda nasl kullanlacaklar
grlebilir.
public class Bitwise {
public static void main( String args[] ) {
7/21/2019 web java sunumu tez.pdf
55/213
40
int a = 9 ;
System.out.println( (a >> 1) --> + (a >> 1) );
System.out.println( (a >> 2) --> + (a >> 2) );
System.out.println( (a + (a > 2) --> + (a >>> 2) );
}
}
Program 2.7. teleme operatrleri rnei
Verilen rnekte a deikenine 9 says atanmtr; bu saynn ikili karl aadaki
gibi bulunur.
Yani, 910 saysnn ikili tabandaki karl 1001 olmaktadr. Buna gre a deikeni
zerinde teleme operatrnn etkisi aada akland gibi olur.
(a >> 1) eklinde ifade ile, 9 saysnn ikilik karl olan 1001 bitleri saa doru 1
basamak kaydrlr. Boalan yere 0 yerletirildiinde sonu elde edilir; dolaysyla
0100 elde edilir ve bunun ondalk karl 4 kar.
(a >> 2) eklinde ifade ile 9 saysnn ikilik karl olan 1001 bitlerini saa doru 2
basamak kaydrlr; __10, boalan yerlere 0 yerletirildiinde sonu elde edilir.Dolaysyla 0010 elde edilir ve bunun ondalk karl 2 kar.
(a
7/21/2019 web java sunumu tez.pdf
56/213
41
(a >> 2) eklinde verilen ifadenin (a >> 2) ile arasnda sonu olarak bir fark yoktur.
Yine 2 elde edilir. Arasndaki fark >>> operatr iaretsiz (unsigned) saa doru
kaydrma yapar.
Eer char, byte, veya short tiplerinde kaydrma ilemi yaplacaksa bu tipler ilk nce
int tipine dntrlrler. Eer long tipinde kaydrma ilemi yaplyorsa o zaman
yine long tipinde bir sonu elde edilir.
Uygulamann sonucu aadaki gibi olur.
(a >> 1) -->4
(a >> 2) -->2
(a 18
(a 36
(a >>> 2) -->2
2.6.6. Atama operatrleri
Atama operatr en temel operatrdr. Atama ilemi, bir deeri veya deikenin
ieriini bir baka deikene yerletirmektir. Hemen hem tm programlama
dillerinde atama operatr olarak = simgesi kullanlr. Yalnzca Pascal ve benzeri
dillerde := karakter ifti kullanlr. Aada atama operatrleri ile ilgili bir rnekprogram bulunmaktadr.
public class EnBuyukSayilar {
public static void ekranaBas(String deger) {
System.out.println(deger);
}
public static void main( String args[] ) {
// tamsaylar
7/21/2019 web java sunumu tez.pdf
57/213
42
byte enbuyukByte = Byte.MAX_VALUE;
short enbuyukShort = Short.MAX_VALUE;
int enbuyukInteger = Integer.MAX_VALUE;
long enbuyukLong = Long.MAX_VALUE;
ekranaBas("enbuyukByte-->" + enbuyukByte );
ekranaBas("enbuyukShort-->" + enbuyukShort );
ekranaBas("enbuyukInteger-->" + enbuyukInteger );
ekranaBas("enbuyukLong-->" + enbuyukLong );
ekranaBas("");
// gerek saylar
float enbuyukFloat = Float.MAX_VALUE;double enbuyukDouble = Double.MAX_VALUE;
ekranaBas("enbuyukFloat-->" + enbuyukFloat );
ekranaBas("enbuyukDouble-->" + enbuyukDouble );
ekranaBas("");
// dier temel (primitive) tipler
char birChar = 'S';
boolean birBoolean = true;ekranaBas("birChar-->" + birChar );
ekranaBas("birBoolean-->" + birBoolean );
}
}
Program 2.8. Deikenlere deer atama
Javada C dilinde olduu gibi bitiik atama operatrleri de vardr. Bunlar atama
operatryle dier operatrlerden birinin birletirilmesinden oluurlar. Bylece ksa
bir yazlmla hem aritmetik, teleme gibi ilemler yaptrlr hem de atama yaplr.
rnein, int tipinde olan toplam deikeninin deeri 1 arttrmak iin aada gibi bir
ifade kullanlabilir.
toplam = toplam + 1;
7/21/2019 web java sunumu tez.pdf
58/213
43
Bu ifade bitiik atama operatryle aadaki gibi yazlabilir. Grld gibi
deiken ad yukardaki yazmda 2, aada yazmda ise 1 kez yazlmtr.[5]
toplam += 1;
Tablo 2.13de bitiik atama operatrlerinin listesi verilmitir. Bu operatr, zellikle,
uzun deiken kullanld durumlarda yazm kolayl salar.
Tablo 2.13. Javadaki bitiik atama operatrleri
Operatr Kullanlekli Eittir
+= deiken1 += deiken2 deiken1 = deiken1 + deiken2
-= deiken1-= deiken2 deiken1 = deiken1 deiken2
*= deiken1*= deiken2 deiken1 = deiken1 * deiken2
/= deiken1/= deiken2 deiken1 = deiken1 / deiken2
%= deiken1%= deiken2 deiken1 = deiken1 % deiken2
&= deiken1&= deiken2 deiken1 = deiken1 & deiken2
|= deiken1|= deiken2 deiken1 = deiken1 | deiken2
^= deiken1^= deiken2 deiken1 = deiken1 ^ deiken2> deiken2
>>>= deiken1>>>= deiken2 deiken1 = deiken1 >>> deiken2
2.6.7. String operatr
+ operatr String verilerde birletirme grevi grr. Eer ifade String ile balarsa,onu izleyen veri tipleri de kendiliinden Stringe dntrlr. Aada string
operatr ile ilgili rnek bir program bulunmaktadr.
public class OtomatikCevirim
{
public static void main(String args[ ])
{
int x = 0, y = 1, z = 2;
7/21/2019 web java sunumu tez.pdf
59/213
44
System.out.println(Sonu = + x + y + z);
}
}
Program 2.9. Otomatik stringe evirme
Uygulamann sonucu aadaki gibi olur.
Sonu =012
Grld gibi String bir ifadeden sonra gelen tamsaylar toplanmad. DorudanString nesnesine evrilip ekrana kt olarak gnderildiler.[13]
2.7. Dntrme(Casting) lemi
Temel bir veri tipi dier bir temel tipe dntrebilir; fakat oluacak deer
kayplarndan programc sorumlu olacaktr. Aada deiken dntrme ile ilgili
rnek bir program bulunmaktadr.
public class IlkelDonusum {
public static void main(String args[]) {
int a = 5;
double b = (double) a;
double x = 4.15;
int y = (int) x;
long z = (long) y;
System.out.println(b = + b + y = + y + z = + z);
}
}
Program 2.10. Deiken dntrme
7/21/2019 web java sunumu tez.pdf
60/213
45
Uygulamann sonucu aadaki gibi olur.
b = 5.0 y = 4 z = 4
2.8. Bir Artrma ve Azaltma
Java dilinde, ayn C dilinde olduu gibi, birok ksaltmalar vardr. En ok kullanlan
ksaltmalardan iki tanesi arttrma ve azaltma operatrleridir; bu operatrler
deikenin ieriini bir arttrmak veya azaltmak iin kullanlr.
Arttrma ve azaltma operatrleri iki farkl konumda kullanlabilirler. Birincisinektir ve bu -- veya ++ operatrnn kullanlan deikenin nne gelmesi
anlamn tar. Dieri ise sonektir. Bu ekte -- veya ++ operatrnn deikenin
sonuna gelmesi anlamna gelir. Aada bu operatrleri gsteren tablo
bulunmaktadr. [13]
Tablo 2.14. Arttrma ve azaltma
Operatr Kullanlekli Aklama
++ deiken++nce deikenin deerini hesaplar sonra
deikenin deerini bir arttrr.
++ ++deikennce deikenin deerini arttrr sonra
deikenin deerini hesaplar.
-- deiken--nce deikenin deerini hesaplar sonra
deikenin deerini bir azaltr.
-- --deikennce deikenin deerini azaltr sonra
deikenin deerini hesaplar.
rnein ++a veya --a eklinde verilmesinde, nce matematiksel toplama/kartma
ilemi gerekleir; daha sonra deer retilir. Ancak, a++ veya a-- eklinde verilmesi
durumunda ise, nce deer retilir, daha sonra matematiksel toplama/kartma ilemigerekleir. Aada verilen ksa program bunu gzel bir ekilde ifade etmektedir.
7/21/2019 web java sunumu tez.pdf
61/213
46
public class OtomatikArtveAz
{
static void ekranaYaz(String s)
{
System.out.println(s);
}
public static void main(String[] args) {
int i = 1;
ekranaYaz("i : " + i);
ekranaYaz("++i : " + ++i); // nek artrm
ekranaYaz("i++ : " + i++); // sonek artrmekranaYaz("i : " + i);
ekranaYaz("--i : " + --i); // nek azaltma
ekranaYaz("i-- : " + i--); // sonek azaltma
ekranaYaz("i : " + i);
}
}
Program 2.11. Otomatik artrma rnei
Uygulamann sonucu aadaki gibi olur.
i : 1
++i : 2
i++ : 2
i : 3
--i : 2
i-- : 2
i : 1
7/21/2019 web java sunumu tez.pdf
62/213
47
2.9. Nesnelerin Karlatrlmas
Nesnelerin eit olup olmad = = veya ! = operatrleriyle belirlenebilir. Aada
nesnelerin karlatrmas ile ilgili bir rnek bulunmaktadr.
public class Denklik {
public static void main(String[ ] args) {
Integer a1 = new Integer(47);
Integer a2 = new Integer(47);
System.out.println(a1 == a2);
System.out.println(a1 != a2); }}
Program 2.12. Nesnelerin karlatrlmas rnei_1
nce Integer snf tipinde olan n1 ve n2 referanslar, ilerinde 47 saysn tutan
Integer nesnelerine bal durumdadrlar. Uygulamann sonucu aadaki gibi
olacaktr.
True
False
Ancak ne yazk ki, sonu yukardaki gibi deildir! Nedeni ise, elimizde iki adet farkl
Integer nesnesi bulunmaktadr. Bu nesnelerin tadklar deerler birbirlerine eittir;
ancak, a1==a2 ifadesinin kullanlmas u anlama gelir. a1 ve a2 referanslarnn
iaret etmi olduklar nesneler ayn m?. Yant tahmin edilebilecei gibi hayrdr.
Yani, falsedur. a1 ve a2 ayr Integer nesnelerini iaret etmektedirler. Eit olan tek
ey, bu iki ayr nesnenin tuttuklar deerin 47 olmasdr. Programn kts aadaki
gibidir.
False
True
7/21/2019 web java sunumu tez.pdf
63/213
48
Verilen rnekteki Integer nesneleri yerine temel tip olan int tipi kullanlsayd sonu
farkl olurdu. Aada bununla ilgili rnek bir program bulunmaktadr.
public class IntIcinDenklik {
public static void main(String[] args) {
int s1 = 47;
int s2 = 47;
System.out.println(s1 == s2);
System.out.println(s1 != s2);
}
}
Program 2.13 Nesnelerin karlatrlmas rnei_2
Bu uygulamann sonucu aadaki gibi olur.
True
False
Temel(primitive) tipler deerleri dorudan kendi zerlerinde tadklar iin ==
operatryle s1 ve s2 deikeleri deerleri karlatrld ve doru(true) yant
dndrld. Benzer ekilde != operatr de s1 ve s2 deikenleri deerlerini
karlatrd ve yanl(false) dndrld. [13]
7/21/2019 web java sunumu tez.pdf
64/213
49
BLM 3. KONTROL FADELER
3.1. Karlatrma Deyimleri
Kullancdan alnan girdilere gre, baz ilemlerin daha nceden belirlenmiartlara
gre yaplmas istenebilir. rnek olarak gelire gre vergi hesaplayan uygulama
yazlm olabilir. 06 bin YTL aras gelir diliminden %15
612 bin YTL aras gelir diliminden %20
1218 bin YTL aras gelir diliminden %15
18 bin YTL zerindeki gelir diliminden %20
orannda vergi alnacaktr. Bu durumda yazlan uygulama, kullancdan o yl iin
vergilendirilecek geliri soracak ve daha sonra ne kadar vergi demesi gerektiiniekranda gsterecektir. te bu tr bir uygulamann yaplabilmesi iin baz yaplarn
kullanlmas gerekir. Bu yaplara kontrol deyimleri denir. Kontrol deyimleri
kullanmadan bir program yazmak hibir programlama dilinde mmkn olmad gibi
Java dilinde de mmkn deildir. Aada Java dilinde kullanlan kontrol ifadeleri
bulunmaktadr.
3.1.1. If yaps
Programclar program yazarken ounlukla art yaplarn kullanlrlar. Bunlarn
ierisinde ise en yaygn olan da if yapsdr. If yapsnn genel yazlm u ekildedir.
if (koul) {
koul doru(true) olduunda almas istenen kod blou
} else
{ Koul yanl(false) olduunda almas istenen kod blou }
7/21/2019 web java sunumu tez.pdf
65/213
50
ekil 3.1de if yapsnn algoritma mant grnmektedir.
ekil 3.1. If yapsnn algoritmas [13]
Programlar, birden fazla art ierisinden bazlarn semek iin seme yaplarkullanrlar. Bu yap bir rnekle aklanabilir. Bir rencinin snav geme notu 50
olarak dnlrse aadaki mant kullanmak gerekir.
Eer rencinin notu 50e eit veya fazlaysa
Yaz Geti
Yukardaki ifade rencinin notunun 50 veya st olup olmadn belirlemek iinyazlmbir ifadedir. Bu ifadede eer sonu true(doru) ise Geti ifadesini ekrana
yazacaktr. Sonu false(yanl) ise, yaz ifadesinin bulunduu satr ileme
konulmayacak ve bundan sonraki var olan satrlar ilenecektir. Yukardaki ifadenin
Java dilinde yazm aadaki gibidir.
If (ogrencinot>=50)
System.out.println(Geti);
Aadaki ekilde bu basit rnein tek if yaps gsterilmektedir. If yaps tek girive
tek kl bir kontrol yapsdr. ekil 3.2de if yaps baz geometrik ekillerle
ayrntl olarak ifade edilmektedir. Burada if yapsnn kullanm daha rahat bir
ekilde anlalmaktadr.
7/21/2019 web java sunumu tez.pdf
66/213
51
ekil 3.2. If yaps [13]
3.1.2. If-else yaps
Tek if yapsnda sonu true(doru) ise komutlar ilenir, false(yanl) ise komutlar
ileme sokulmaz program dier satrlar ileme sokar. If..Else yapsnda ise sonu
true(doru) ise komutlar ilenir, false(yanl) ise else ifadesinden sonraki komutlar
ilenir. Aada bununla ilgili bir rnek bulunmaktadr. [13]
Eer rencinin notu 50e eit veya fazlaysaYaz Geti
Deilse
Yaz Kald
Yukardaki rnekte rencinin notu 50 ve styse ekrana Geti, 50nin altnda ise
ekrana Kald ifadesini yazacaktr. Yukardaki ifadenin Java dilindeki karl ise
u ekildedir.
If (ogrencinot>=50)
System.out.println(Geti);
Else System.out.println(Kald);
ekil 3.3de IfElse yaps grnmektedir.
7/21/2019 web java sunumu tez.pdf
67/213
52
ekil 3.3. If-Else yaps [13]
Aada if-else yaps ile ilgili bir rnek bulunmaktadr.
public class IfElseTest {
public static void main(String[ ] args) {
int puan = 76;
char sonuc;
if (puan >= 90)
{
sonuc = 'A';
} else if (puan >= 80)
{
sonuc = 'B';
} else if (puan >= 70)
{
sonuc = 'C';
} else if (puan >= 60) {
sonuc = 'D';
} else {
sonuc = 'F';
}
System.out.println("Sonuc = " + sonuc);
}
}
Program 3.1. if-Else rnei_1
7/21/2019 web java sunumu tez.pdf
68/213
53
Yukardaki rnekte else if yaps kullanlmtr. Bu programda puan deikenine
tamsay 76 says yklenmitir. Programn dier satrlarnda puan deikenindeki
say ile ilgili if yaplar bulunmaktadr. Bu programda puan 90 ve styse sonu
deikenine A karakteri yklenecektir. Puan 80 ve styse sonu deikenine B
karakteri yklenecektir. Puan 70 ve styse sonu deikenine C karakteri
yklenecektir. Puan deikeninde 76 says olduundan sonu deikenine C
karakteri yklenecektir. Dier satrlar art salanmadndan dolay ileme
konulmayacaktr. Aada if-else yaps ile ilgili rnek bir program bulunmaktadr.
public class Kestirme {
public static boolean hesaplaBir(int a) {System.out.println("hesaplaBir snfna girildi");
return a > 1;
}
public static boolean hesaplaIki(int a) {
System.out.println("hesaplaIki snfna girildi");
return a > 2;
}public static void main(String[] args) {
System.out.println("Balang");
//hesaplaBir(0) --> false deger doner
//hesaplaIki(3) --> true deger doner
System.out.println("hesaplaBir(0) && hesaplaIki(3)");
if ( hesaplaBir(0) && hesaplaIki(3) ) {
System.out.println(" 1 -true ");} else {
System.out.println(" 1 -false ");
}
System.out.println("--------");
System.out.println("hesaplaBir(0) || hesaplaIki(3)");
if (hesaplaBir(0) || hesaplaIki(3)) {
System.out.println(" 2 -true ");
} else {
7/21/2019 web java sunumu tez.pdf
69/213
54
System.out.println(" 2 -false "); }
System.out.println("--------");
System.out.println("hesaplaBir(0) & hesaplaIki(3)");
if (hesaplaBir(0) & hesaplaIki(3)) {
System.out.println(" 3 -true ");
} else {
System.out.println(" 3 -false "); }
System.out.println("--------");
System.out.println("hesaplaBir(0) | hesaplaIki(3)");
if (hesaplaBir(0) | hesaplaIki(3)) {
System.out.println(" 4 -true "); }else {
System.out.println(" 4 -false "); }
System.out.println("--------");
System.out.println("hesaplaBir(0) ^ hesaplaIki(3)");
if (hesaplaBir(0) ^ hesaplaIki(3)) {
System.out.println(" 5 -true ");
} else {System.out.println(" 5 -true ");
}
System.out.println("Son..");
}
}
Program 3.2. if-Else rnei_2
Bu uygulamada hesaplaBir() ve hesaplaiki() adnda iki adet snf bulunmaktadr.
Bunlar int tipinde parametre kabul edip mantksal sonu dndrmektedirler. Bu
snflara girildii zaman ekrana kendilerini tantan mesaj kmaktadr.
HesaplaBir() snf kendisine gelen int tipindeki parametreyi alp 1den byk veya
kk olduunu kontrol etmektedir. Burada hesaplaBir() snfna parametre olarak
sfr says gnderildiinden dnecek deerin olumsuz olaca bilinmektedir.
7/21/2019 web java sunumu tez.pdf
70/213
55
HesaplaIki() snfna da ayn ekilde 3 says gnderilerek bunun olumlu bir yant
vermesi beklenir.
ncelikle, snflardan geri dnen deerler ve ilemine tabii tutulur. Burada yalnzca
hesaplaBir() snfna girilmektedir. nk hesaplaBir() snfndan olumsuz deer
dnmektedir. Ve ileminde olumlu deer dnebilmesi iin iki deerinde olumlu
olmas gerektiinden, hesaplaIki() snf arlmayarak kestirme zellii
kullanlmtr.
Daha sonra gelen deerler veya ilemine tabii tutulmaktadr. Hem hesaplaBir() hem
de hesaplaIki() snflar beraber arlmaktadr. Veya ilemine gre, sonucunolumsuz olmas iin iki deerinde olumsuz olmas gerekmektedir. Burada ilk
deerden olumsuz deer dnmtr; ancak, ikinci deerin de hesaplanmas
gerekmektedir. Aksi durumda sonucun renilmesi imkansz olur. Bu nedenden
dolay, burada kestirme ilemi gereklememitir. Ancak, ilk deer olumlu
dnseydi, o zaman, ikinci snf olan hesaplaIki() hi arlmayacakt. nk veya
ilemleri sonucunun olumlu olabilmesi iin parametrelerden birisinin olumlu olmas
gereklidir.
Bir sonraki aamada, deerler yine ve ilemine tabii tutulmaktadr. Ancak, burada &
operatr kullanld iin kestirme ilemi ortadan kalkmaktadr.
Bir sonraki aamada, deerler veya ilemine tutulmaktadr. Son olarak, deerler ya
da (Exclusive Or) ilemine tutulmaktadr. Bu ilemde kesinlikle iki deere de
baklma zorunluluu olduundan kestirme ilemi sz konusu olmaz.
Uygulamann sonucu aadaki gibi olur.
Balang
hesaplaBir(0) && hesaplaIki(3)
hesaplaBir snfna girildi
1 -false
--------
7/21/2019 web java sunumu tez.pdf
71/213
56
hesaplaBir(0) || hesaplaIki(3)
hesaplaBir snfna girildi
hesaplaIki snfna girildi
2 -true
--------
hesaplaBir(0) & hesaplaIki(3)
hesaplaBir snfna girildi
hesaplaIki snfna girildi
3 -false
--------
hesaplaBir(0) | hesaplaIki(3)hesaplaBir snfna girildi
hesaplaIki snfna girildi
4 -true
--------
hesaplaBir(0) ^ hesaplaIki(3)
hesaplaBir snfna girildi
hesaplaIki snfna girildi5 -true
Son..
Aada if yaps ile ilgili baka bir rnek program bulunmaktadr.
import java.io.*; // giris ikis
class ifyapisi{
public static void main (String args[ ]) throws IOException
{
double not;
System.out.println("rencinin notunu giriniz : ");
if( not >= 90)
{ System.out.println("A"); }
else if(not >=75)
7/21/2019 web java sunumu tez.pdf
72/213
57
{ System.out.println("B"); }
else if(not >=60)
{ System.out.println("C"); }
else if(not >=50)
{ System.out.println("D"); }
else if(not >=40)
{ System.out.println("E"); }
else
{ System.out.println("F"); }
}
}
Program 3.3. if-Else rnei_3
Yukardaki rnekte girilen notun harf olarak karl ekrana yazdrlmaktr.
System.out.println komutuyla kullancya not girmesi gerektii bildirilmektedir.
Girilen bu deer double tipindeki not deikenine aktarlmaktadr. Program, kullanc
90 veya st bir not girmiise ekrana A, 75 veya st bir not girmiise ekrana B, 60veya st bir not girmi ise ekrana C, 50 veya st bir not girmiise ekrana D, 40
veya st bir not girmi ise ekrana E, bunlarn dnda bir not girmi ise ekrana F
harfini yazdrmaktadr.
3.1.3. Switch ifadesi
Tm dillerdeki genel programlama deneyimi bir deikendeki deeri bakadeerlerle test etmektir ve bunu deiik deerlerle karlatrmaktadr. Bazen
IfElse yapsn kullanmak elverili olmayabilir.
Switch deyimi tamsaylarn karlatrlmas ile doru koullarn elde edilmesini
salayan mekanizmadr. Switch deyiminin genel yazm biimi aadaki gibidir.
switch(tamsay) {Case uygun-tamsay-deger1 : almas istenen kod blou; break;
7/21/2019 web java sunumu tez.pdf
73/213
58
Case uygun-tamsay-deger2 : almas istenen kod blou; break;
Case uygun-tamsay-deger3 : almas istenen kod blou; break;
Case uygun-tamsay-deger4 : almas istenen kod blou; break;
Case uygun-tamsay-deger5 : almas istenen kod blou; break;
default: almas istenen kod blou ;
}
Switch deyimi ierisindeki tamsay ile bu tamsayya karlk gelen koul girilir ve
istenen kod blou altrlr. Kod bloklarndan sonra break ifadesini koymak gerekir.
Aksi takdirde uygun koul bulunduktan sonraki her koula girilecektir. Eer tamsay
koullardan hibirine uymuyorsa default yapsndaki kod blou altrlarak programblou tamamlanr.
Switch deyimi birok case yaplarndan ve istee bal default ifadesinden meydana
gelir. Bu yzden default yapsnn kullanlmasna gerek olmayabilir. Default yaps
kullanlmak istenmiyorsa, yani artlardan hibiri salanmad zaman switch
yapsndan klmas isteniyorsa
Default: /* do nothing */
fadesi yazlmas daha iyi olacaktr. Aada switch yaps ile ilgili rnek bir program
bulunmaktadr.
public class AylarSwitchTestNoBreak
{public static void main(String[] args)
{
int ay = 8;
switch (ay)
{
case 1: System.out.println("Ocak"); break;
case 2: System.out.println("ubat"); break;
case 3: System.out.println("Mart"); break;
7/21/2019 web java sunumu tez.pdf
74/213
59
case 4: System.out.println("Nisan"); break;
case 5: System.out.println("Mays"); break;
case 6: System.out.println("Haziran"); break;
case 7: System.out.println("Temmuz"); break;
case 8: System.out.println("Austos"); break;
case 9: System.out.println("Eyll"); break;
case 10: System.out.println("Ekim"); break;
case 11: System.out.println("Kasm"); break;
case 12: System.out.println("Aralk"); break;
}
}}
Program 3.4. Switch Yaps rnei_1
Yukardaki rnekte ay deikenindeki saysal deere gre ekrana ay ismi
yazlmaktadr. Programn balangcnda int tipindeki ay deikenine sabit 8 deeri
yklenmektedir. Girilen bu deere gre switch yaps kullanlm ve Case ifadesi1den 12ye kadar oluturulmutur. Ay deikenine 8 says yklendii iin Case 8:
System.out.println(Austos); break; satr alacaktr ve ekrana Austos mesaj
kacaktr. Dier case ifadeleri art salamad iin hibiri altrlmayacaktr.
Programn kts u ekilde olacaktr.
Austos
Aada verilen uygulama, switch deyiminde default yapsnn kullanmn
gstermektedir.
public class AylarSwitchDefaultTest {
public static void main(String[] args) {
int ay = 25;
switch (ay) {
case 1: System.out.println("Ocak"); break;
7/21/2019 web java sunumu tez.pdf
75/213
60
case 2: System.out.println("ubat"); break;
case 3: System.out.println("Mart"); break;
case 4: System.out.println("Nisan"); break;
case 5: System.out.println("Mays"); break;
case 6: System.out.println("Haziran"); break;
case 7: System.out.println("Temmuz"); break;
case 8: System.out.println("Austos"); break;
case 9: System.out.println("Eyll"); break;
case 10: System.out.println("Ekim"); break;
case 11: System.out.println("Kasm"); break;
case 12: System.out.println("Aralk"); break;default: System.out.println("Aranlan art Bulunamad!!");
}
}
}
Program 3.5. Switch Yaps rnei_2
Bu rnekte istenen durum hibir koula uymad iin default koulundaki kod
blm almaktadr.
Uygulamann sonucu aadaki gibi olur.
Aranlan art Bulunamad !!
Aada switch yaps ile ilgili baka bir rnek program bulunmaktadr.
import java.applet.Applet; // java applet sinifini cagir
import java.awt.*; // java pencere kullanma sinifini cagir
import java.awt.event.*; // java pencereyi dinleme sinifini cagir
public class switchApplet extends Applet implements ActionListener
{
//sinif degiskenleri
7/21/2019 web java sunumu tez.pdf
76/213
61
Label kutubasligi; //Label sinifi degiskeni (nesnesi) kutubasligi
TextField kutugirdisi;//Textfield sinifi degiskeni (nesnesi) kutugirdisi
char not;
int Asayisi=0,Bsayisi=0,Csayisi=0,Dsayisi=0,Esayisi=0,Fsayisi=0;
// pencereyi balatma metodu
public void init() {
kutubasligi=new Label("rencinin notunu giriniz (A B C.. : ");
add(kutubasligi);//kutu baln pencereye yaz
kutugirdisi=new TextField(5);
add(kutugirdisi);//kutuyu pencereye yerletir
// kutuya yeni ilave edilecek komutlar bekle// her yeni komutta actionPerformed metodunu altr.
kutugirdisi.addActionListener(this); }
public void paint(Graphics g) {
g.drawString("Her harf notun toplam : ",25,40);
g.drawString("A : "+Asayisi,25,55);
g.drawString("B : "+Bsayisi,25,70);
g.drawString("C : "+Csayisi,25,85);g.drawString("D : "+Dsayisi,25,100);
g.drawString("E : "+Esayisi,25,115);
g.drawString("F : "+Fsayisi,25,130); }
// girdi alanndaki olan olaylar dinleme metodu
public void actionPerformed(ActionEvent e)
{
//ogrencinin notunu pencereden okuString not1=e.getActionCommand();
not=not1.charAt(0);
showStatus(""); // sonu blgesindeki yazy sil
kutugirdisi.setText(""); //kutudaki harfi sil
switch(not)
{
case 'A': case 'a':
++Asayisi;
7/21/2019 web java sunumu tez.pdf
77/213
62
break;
case 'B': case 'b':
++Bsayisi;
break;
case 'C': case 'c':
++Csayisi;
break;
case 'D': case 'd':
++Dsayisi;
break;
case 'E': case 'e':++Esayisi;
break;
case 'F': case 'f':
++Fsayisi;
break;
default:
showStatus("yanlnot tanmland yeni bir not giriniz.");break;
} // switch deyiminin sonu
repaint();//pencereyi yeniden paint metoduna gre iz
}
}
Program 3.6. Switch Yaps rnei_3
Yukardaki programda rencini notunun A,B,C,D,E,F olarak text kutusuna girilmesi
istenilmektedir ve her entere basldnda o harfin