BİLGİSAYAR PROGRAMLAMA I (Java)

advertisement
BİLGİSAYAR
PROGRAMLAMA I (Java)
(BİL-141)
© 2015 - TOBB ETÜ
Ders Hakkında Genel Bilgi
• 
DERSİN AMACI
–  Java dilini kullanarak, programlama temel mantığını kavramak ve
programlamada kullanılan çeşitli yöntemleri ve algoritmaları anlayabilmek
• 
DERS KİTABI
–  Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu, M. Özbayoğlu, M.
Erten, O. Ergin
–  Yardımcı Kaynak
• 
DERS ASİSTANI
–  Salih Arda BÖLÜK (ardaboluk2@gmail.com)
Teknoloji Merkezi No:204 (Lab Saatleri Duyurulacak)
• 
DERS ZAMANI (6 hafta 2+2 saat, 6 hafta 2+1 saat)
–  Pazartesi Günleri: 12:30-14:20 (2 Saat) Amfi 2
–  Cuma Günleri: 08:30-10:20 (2 Saat) Amfi 3
–  Özel Durumlarda (Salı 12:30-14:20) Amfi 3
• 
DERS WEB SAYFASI
–  https://piazza.com da haftaya açılacak.
Bilgisayar IProgramlama I (Java)
–  Java: An Introduction to Problem Solving & Programming, W. Savitch, 6th Ed.
2
1. 
Programlamaya Giriş
2. 
Veri Türleri
3. 
Program Akış Denetimi
4. 
Sınıflar ve Metotlar
5. 
Nesneler ve Metotlar
6. 
Diziler
7. 
Kalıtım
8. 
Kural Dışı Durum Çözme (İstisnalar)
9. 
Metin Dosyaları ile Giriş Çıkış İşlemleri
10. 
Özyineleme
Bilgisayar Programlama I
Ders İçeriği
3
• 
Ara Sınav
: %20
• 
Lab Sınav
: %25
• 
Ödevler
: %15
• 
Final Sınavı
: %40
Bilgisayar Programlama I
NOTLANDIRMA
4
DERS 1
Bilgisayar ve
Programlamaya Giriş
Bilgisayar Programlama I (Java)
(BİL-141)
© 2015 - TOBB ETU
• 
Donanım ve yazılım hakkında genel bilgi sahibi olmak
• 
Programlama dilleri ve derleyiciler hakkında bilgi sahibi olmak
• 
Java programlama dili hakkında genel bilgi sahibi olmak
• 
Algoritma ve Akış Şeması tasarımını öğrenmek
Bilgisayar Programlama I
Hedeflenen Çıktılar
6
• 
Donanım: Bilgisayarın fiziksel tüm ekipmanları kısacası bilgisayarın
fiziksel kısmına donanım denir.
• 
Yazılım: Bilgisayar için hazırlanmış komutlar kümesine program.
Bilgisayarın çalışması için gerekli programlara ve bilgisayarlarda çalışan
uygulama programlarının tümüne ise yazılım denir.
Bilgisayar Programlama I
Bilgisayar Temelleri
7
Bilgisayar Donanımı (Computer
Hardware)
MİB
(Merkezi İşlem Birimi)
(MİKROİŞLEMCİ)
Çıkış Birimi
DEB
AMB
Ana Bellek
Yardımcı
Bellek
Bilgisayar Programlama I
Giriş Birimi
8
Donanımın (Hardware) Temel
Elemanları
• 
Merkezi İşlemci Birimi – MİB (CPU-Central Processing Unit): Bilgisayar
içerisindeki yazılım komutlarını işleyen aygıttır. Ör: Intel Core i7 vb.
• 
Ana Bellek (Main Memory): O an çalıştırılacak programları ve verileri
tutan bellek çeşididir (RAM). Yazılımlar tasarlanırken ana belleğin
özellikleri dikkate alınır.
• 
Yardımcı Bellek (Auxiliary – Secondary Memory): Disk sürücüleri,
disketler, CD/DVD vb. uzun süreli veri depolayan aygıtların tümü yardımcı
bellektir.
Bilgisayar Programlama I
–  Denetleme Birimi (DEB): Komutların işlenmesini denetler.
–  Aritmetik Mantık Birimi (AMB): Aritmetik ve Mantıksal işlemleri yerine getirir.
9
• 
Bit sadece 0 ve 1 değerini alabilen en küçük
birimdir.
• 
1 Bayt = 8 Bit
• 
1 KB = 1024 Bayt
• 
1 MB = 1024 KB
• 
1 GB = 1024 MB
Birim
Eşitlik
1 Bit
Binary Digit (0 veya 1)
8 Bits
1 Byte
1024 Bytes
1 Kilobyte
1024 Kilobytes
1 Megabyte
1024 Megabytes
1 Gigabyte
1024 Gigabytes
1 Terabyte
1024 Terabytes
1 Petabyte
1024 Petabytes
1 Exabyte 1024 Exabytes
1 Zettabyte
1024 Zettabytes
1 Yottabyte
1024 Yottabytes
1 Brontobyte
Bilgisayar Programlama I
Bit – Bayt Kavramları
10
• 
Her biri 1 bayt veri tutabilen sıralı
adresleri bulunan alanlardan
oluşmuştur.
• 
Bilgisayar herhangi bir veriye o
verinin adresini kullanarak ulaşır.
• 
Eğer bir veri 1 bayttan daha fazla
yer kaplıyorsa ardışık adreslerde
saklanır.
• 
Bu şekilde değişik veri şekilleri
(karakterler, numaralar, vb.)
birden fazla bayt alanında
saklanabilir.
Bilgisayar Programlama I
Ana Bellek
11
• 
Sistem Yazılımları: İşletim sistemi gibi bilgisayarların donanımına ait
yazılımlar
• 
Uygulama Yazılımlar: Kullanıcılara yönelik yazılımlar
Bilgisayar Programlama I
Yazılım (Software)
12
• 
Bilgisayar donanımının doğrudan denetimi ve yönetiminden, temel sistem
işlemlerinden ve uygulama programlarını çalıştırmaktan sorumlu olan
sistem yazılımıdır.
• 
Bilgisayarın bütün işlevlerinin çalışmasını sağlayan üst düzey bir
yazılımdır.
• 
Herhangi bir uygulamayı çalıştırmak istediğimizde öncelikle işletim sistemi
ile bağlantı kurar ve hangi programı çalıştıracağını ona tıklama, bir menü
öğesi seçme veya klavyeden bir komut girme gibi farklı yöntemlerle
bildiririz. İşletim sistemi bizim adımıza o uygulamanın çalışması ile ilgili
bütün hazırlıkları yaparak, uygulamayı çalıştırır.
• 
En bilindik işletim sistemleri, Microsoft Windows, Apple MAC OS, Linux ve
Unix gibi işletim sistemleridir.
Bilgisayar Programlama I
İşletim Sistemi
13
• 
Üst-Düzey Diller: Kullanıcıların kolaylıkla anlayıp kullanacağı dillerdir.
Ör: Java, Pascal, Fortan, C, C++, Basic, Visual Basic, vb.
• 
Alt-Düzey Diller: Bilgisayarın doğrudan anladığı ve kullandığı dildir. Bu
dillere genelde makine dilleri ya da çevirici (assembler) denir.
• 
Bilgisayar üst-düzey dilleri doğrudan anlayamaz. Üst-düzey bir dil ile
yazılmış bir programın bilgisayarın anlayacağı alt-düzey bir dile çevrilmesi
gerekmektedir. Bu çevrim işlemini derleyici (compiler) adı verilen bir
program gerçekleştirir.
• 
Üst düzey dilde yazılmış programa kaynak kodu (source code), bunun alt
düzeye çevrilmiş haline ise nesne kodu (object code) denir.
• 
Üst-düzey bir dilden makine diline çevrim için bilgisayarın donanımına özel
bir derleyici kullanmak gerekir. Her mikroişlemci ve işletim sistemi için ayrı
bir derleyici gerekir.
Bilgisayar Programlama I
Programlama Dilleri ve Derleyiciler
14
• 
Java’da makine diline doğrudan çevrilmez. Java derleyicisi Java Bayt Kodu
adı verilen bir program oluşturur.
• 
Java Virtual Machine (JVM) adı verilen bir hayali bilgisayarın makine kodu
oluşturulur.
• 
JVM tüm bilgisayarları temsil eder. JVM’de oluşturulan bayt kod herhangi
bir bilgisayarın makine diline çok rahat çevrilebilmektedir.
• 
Bu nedenle Java’nın en büyük avantajlarından birisi her ortama
taşınabilirliğidir (portability). JVM ile yorumlanan bir kod herhangi bir
derlemeye gerek duymadan bütün bilgisayarlarda çalışabilecek durumdadır.
Bu da Java’nın internet uygulamaları için iyi bir seçim olmasını
sağlamaktadır.
• 
Taşınabilirliğin başka bir avantajı da, herhangi bir üretici firmanın yeni
çıkan bir bilgisayarı için JVM’de herhangi bir değişiklik yapmaya gerek
yoktur.
• 
Java Bayt Kodundan makine diline çevrim yapan programa Yorumlayıcı
(Interpreter) denir.
Bilgisayar Programlama I
Java Bayt Kodu (bytecode)
15
Bağlama (Linking)
• 
Java uygulamasının yaratılması esnasında iki komut kullanılır.
• 
Java programları genellikle tek parça bulunmaz. Farklı farklı parçacıklar
halinde yazılmış kodlar bayt koda çevrildikten sonra, bağlayıcı (linker) adı
verilen bir program yardımıyla bir bütün haline getirilir. Bu işleme
bağlama (linking) denir.
Bilgisayar Programlama I
–  JAVAC : Yazılan Java kaynak kodunu Java bayt koduna çevirir.
–  JAVA: Oluşan bayt kodu çalıştırır.
16
• 
İlk çalışmalar 1991 yılında James Gosling ve Sun Microsystems’deki ekibi
tarafından başlatıldı.
• 
İlk çalışmaların amacı tost makinesi, TV, video oyantıcısı, müzik seti gibi ev
aygıtlarını kontrol edecek bir programlama dili oluşturmaktı.
• 
Yalnız bu programlama dilinin değişik işlemcilerde çalışabilmesi
gerekiyordu.
• 
Fakat ev aygıları ucuz cihazlar olduğu için, üreticiler aygıt uygulama
yazılımlarını, işlemcinin anlayacağı dile çevirme noktasında zaman ve
finansal kaynak ayırmak istemiyorlardı.
• 
Bu nedenle James ve ekibi bir uygulama yazılımlarını bütün cihazların
anlayabileceği bir ara dile çevirecek bir kod parçası ürettiler.
• 
Böylelikle çok zaman ve finansal kaynak gerektirmeden oluşturulacak
küçük kod parçacıkları bu ara dilden makine diline çeviri yapabileceklerdi.
• 
Bu ara dil bayt kod olarak adlandırıldı.
• 
1994’de Gosling ve ekibi oluşturdukları bu programlama dilinin (İlk ismi
Oak, sonra Java) )internetteki web browserlar için çok uygun olduğunu
düşündüler.
• 
Önce WebRunner, daha sonra Hot Java ismini alan browserlar yapıldı.
• 
1995’te ise Netscape firması ile yapılan anlaşmada, üretilen web browserlar
java çalıştıracak hale getirildi. Bu şekilde başlayarak gelişen java dili
günümüze bu şekilde geldi.
Bilgisayar Programlama I
Java’nın Tarihçesi
17
• 
Problemi anlama (Analiz)
• 
İhtiyaçları belirleme (Analiz)
• 
İhtiyaçlara göre problemi çözecek çözümü geliştirme (Tasarım)
• 
Çözümü program olarak kodlama (Kodlama)
• 
Programı test etme (Test)
• 
Programı uygulamaya alma (Uygulamaya Alma)
Bilgisayar Programlama I
Program Geliştirme
18
• 
Adım 1: Problemin anlaşılması, programın girişlerinin ve çıkışlarının
belirlenmesi.
• 
Adım 2: Problemin çözümü için gerekli bileşenlerin belirlenmesi.
• 
Adım 3: Programın anahtar özelliklerinin belirlenmesi, akış diyagramının ve
algoritmanın oluşturulması
• 
Adım 4: Programın test edilmesinde her bir parçanın belirlenmesi ve test
edilmesi.
• 
Adım 5: Sonraki versiyonlardaki gereksinimlerin belirlenmesi ve önceki
adımların tüm versiyonlar için tekrarlanması.
Bilgisayar Programlama I
Başarılı Bir Programlama İçin
19
• 
Sözdizim yanlışları (Syntax Error): Programın yazımı esnasında yapılan
gramer yanlışlardır. Bunları düzeltmeden program çalışmaz. Derleyici bu
yanlışları programcıya belirtir.
• 
Çalıştırma zamanı yanlışları (Run-Time Error): Sözdizim yanlışları
düzeltildikten sonra program çalıştırılır. Programın çalışması esnasında
görülebilen, bir sayıyı sıfıra bölme gibi yanlışlara «çalıştırma zamanı
yanlışları» adı verilir. JVM yanlışın nerede olduğu konusunda kullanıcıya
bilgi verir.
• 
Mantık yanlışları (Logical Error): Program çalıştırılır. Bilgisayar hiçbir
yanlış mesajı vermez, fakat program istenilen sonucu vermemektedir. Bu
durumda programda bir mantık hatası oluşmuş demektir.
Bilgisayar Programlama I
Programlama Yanlışları
20
Algoritma
• 
Algoritma: Bir problemin çözümü için tasarlanan işlemler ve komutlar bütünüdür.
• 
Günlük hayatta gerçekleştirdiğimiz bir çok faaliyette algoritma kullanırız. Yol tarifi,
araba sürme, yemek pişirme vb.
• 
İyi bir algoritmanın özellikleri şunlardır:
Başlangıcı olmalı
Basit olmalı
Problemin çözümünü, mümkün olan en az adım ile en kısa sürede gerçekleştirmeli
Sonu olmalı
Problem
(İLK DURUM)
ALGORİTMA
Çözüm
(SON DURUM)
Bilgisayar Programlama I
– 
– 
– 
– 
21
Akış Şeması (Flow Chart)
Bir algoritmanın adımlarının mantıksal
sırasını, adımların birbiri ile bağlantısını,
bir işlemden diğerine nasıl gidileceğini
belirten kontrol mekanizmalarını, özel şekil
ve sembollerle anlatan bir ifade biçimidir.
Bilgisayar Programlama I
• 
22
• 
Sıralı Akış
• 
Şartlı Akış
• 
Tekrarlı Akış
Bilgisayar Programlama I
Akış Şemaları
23
• 
Yapılacak işlerin (komutların) ard arda mantıksal bir sıra
ile dizilmesidir.
• 
Karşılaştırma yapmak veya önceki işlemlere geri dönmek
bu akışta mümkün değildir.
S1
S2
Bilgisayar Programlama I
Sıralı Akış
24
Örnek
Başla
• 
Oku X, Y
Klavyeden girilen iki sayıyı (X ve Y) çarparak sonucu (X) ekrana
yazan bir algoritma ve akış şemasını
ALGORİTMA
Z=X*Y
1- Başla
2- X ve Y sayılarını oku
Yaz Z
4- Z’yi ekrana Yaz
5- Dur
Dur
Bilgisayar Programlama I
3- X ve Y sayılarını çarparak sonucunu Z’ye ata
25
Evet
K
P
• 
Programda karşı karşıya gelinen
seçeneklerden birini seçme durumunun yer
aldığı akış türüdür.
• 
Şekilde K olarak gösterilen karar noktasında
karar sorusunun cevabı evet ise P işlemi
yönünde bir akış izleneceği, cevap hayırsa Q
işlemi yönünde bir akış izleneceği
belirtilmiştir.
Hayır
Q
Bilgisayar Programlama I
Şartlı Akış
26
Şartlı Akış - Örnek
Başla
• 
Klavyeden girilen bir sayının değeri 5’den
küçük ise ekrana 5’den küçük, 5’den büyük
ise 5’den büyük yazdıran algoritma
Oku X
ALGORİTMA
Evet
X>5
Hayır
1- Başla
2- X sayısını oku
Yaz
«X 5’den büyük»
Yaz
«X 5’den küçük»
4- Yaz X > 5 Git 6
5- Yaz X < 5
6- Dur
Dur
Bilgisayar Programlama I
3- Eğer X > 5 ise Git 4 Değilse Git 5
27
Tekrarlı Akış (Döngüler)
• 
Aynı işlemlerin birden çok defa tekrar ettiği akış şemalarıdır.
P
Evet
K
Hayır
Önce-SınaDoğruysa-Yinele
Döngüsü
K
Hayır
Evet
Yinele-SonraYanlışı-Sına
Bilgisayar Programlama I
P
28
Tekrarlı Akış – Örnek
Başla
(Önce Sına Doğruysa Yinele)
Sayacı 1’e
eşitle
Sayaç = 1
• 
1’den 50’ye kadar olan sayıları yazdıran akış
şeması ve algoritması
ALGORİTMA
1- Başla
Evet
3- Eger Sayac <= 50 ise Git 4 Değilse Git 7
Hayır
Yaz
Sayaç
Sayacı bir arttır
Sayac = Sayac +1
Dur
2- Sayaç = 1
4- Yaz Sayac
5- Sayac = sayaç + 1
6- Git 3
7- Dur
Bilgisayar Programlama I
Sayac
<= 50
29
Tekrarlı Akış – Örnek
Başla
(Yinele Sonra Yanlışı Sına)
Sayacı 1’e
eşitle
Sayaç = 1
• 
1’den 50’ye kadar olan sayıları yazdıran akış
şeması ve algoritması
Yaz
Sayaç
ALGORİTMA
1- Başla
3- Yaz Sayac
4- Sayac = sayaç + 1
Sayac
<= 51
Hayır
Dur
Evet
5- Eğer Sayaç <= 51 ise Git 3 Değilse Git 6
6- Dur
Bilgisayar Programlama I
2- Sayaç = 1
Sayacı bir arttır
Sayac = Sayac +1
30
Döngüye Özel Akış Şeması
P
I
Bilgisayar Programlama I
I: Başlangıç
Değeri, Şart,
Sayaç durumu
31
Döngüye Özel Akış Şeması – Örnek
Başla
• 
1’den 50’ye kadar olan sayıları yazdıran akış
şeması ve algoritması
I=1, I<=50 ,I=I
+1
ALGORİTMA
1- Başla
2- Döngü I=1, I<=50, I=I+1
3- Yaz Sayac
I
Dur
4-Döngü Sonu
5- Dur
Bilgisayar Programlama I
Yaz
I
32
ALGORİTMA ve AKIŞ ŞEMALARI
Bilgisayar Programlama I
ÖRNEKLER
33
Örnek 1
Bilgisayar Programlama I
Bir dikdörtgenin alanını ve
çevresini bulan bir algoritma ve
akış şeması oluşturunuz
34
Çözüm 1
Başla
Oku En,
Boy
ALGORİTMA
1- Başla
2- Oku En, Boy
Alan = En * Boy
3- Alan = En * Boy
4- Çevre = 2 * (En + Boy)
5- Yaz Alan, Çevre
6- Dur
Yaz
Alan, Çevre
Dur
Bilgisayar Programlama I
Çevre = 2*(En +
Boy)
35
Bir sınıfta yer alan 30
öğrencinin aldığı notların
ortalamasını bulan algoritma ve
akış şemasını hazırlayınız.
Bilgisayar Programlama I
Örnek 2
36
Başla
Çözüm 2
Sayaç = 1
ALGORİTMA
Toplam = 0
1- Başla
2- Sayaç ← 1
Hayır
Ort= Toplam/
30
4- Eger Sayac <= 30 ise Git 5 Değilse Git 9
Sıradaki
Öğrencinin
Notu (Not)
Toplam =
Toplam + Not
Yaz Ort
6- Toplam ← Toplam + Not
7- Sayac ← Sayac + 1
8- Git 4
9- Ort ← Toplam / 30
Sayac = Sayac
+1
Dur
5- Oku(Not)
10- Yaz(Ort)
11- Dur
Bilgisayar Programlama I
Sayac <=
30
3- Toplam ← 0
Evet
37
Örnek 3
Bilgisayar Programlama I
Klavyeden girilen n sayının
faktöriyelini alan algoritma ve
akış şemasını hazırlayınız.
38
Çözüm 3
ALGORİTMA
1- Başla
2- Oku(N)
3- Faktör ← 1
4- S ← 1
6- Eğer S <= N ise S ← S + 1 Git 5
7- Yaz(Faktör)
8- Dur
Bilgisayar Programlama I
5- Faktör ← Faktör * S
39
• 
Nesne Tabanlı Programlama, gerçek dünyadaki somut nesnelerden yola
çıkarak, bir yazılım programında bunları temsil eden soyut nesnelerin
oluşturulması ve bu nesnelerin birbirleri ile etkileşimini içeren bir
programalama şeklidir.
• 
Klasik yapısal programlamada verilerimiz ve fonksiyonlarımız vardı. Yani
her şey veri ve bu veriyi işleyen metotlar etrafında dönüyordu.
• 
Fakat gerçek hayata baktığımızda ise herşeyin nesnelerden oluştuğu, bu
nesnelerin bir takım özellikleri (veri) ve davranışları (metot) olduğu
görülmüştür.
• 
Dolayısıyla Nesne Tabanlı Programlama gerçek hayatı örnek alarak temele
nesneleri yerleştirmiş ve yazılım dünyasında bir devrim yaratmıştır.
Bilgisayar Programlama I
Nesne Tabanlı Programlama
(OOP-Object Oriented Programming)
40
• 
Problemlerin çözümüne nesnesel bakmayı yani insan anlayışı bakışı
getirmiştir. Bu sayede yazılıma aktarılacak konuların daha basit ve anlaşılır
modellenmesi sağlanabilmiştir.
• 
Hatalar daha kolay tespit edilebilmiş ve daha hızlı onarım yapılabilmiştir.
• 
Bu sayede yazılım geliştirme ve bakım maliyetlerinde önemli düşüşler tespit
edilmiştir.
• 
Gerçek dünyada varolan sistemler çok hızlı bir şekilde yazılım dünyasına
entegre edilebilmiştir.
• 
Modülerlik, Esneklik, tekrar kullanılabilirlik, güvenilirlik artmıştır.
Bilgisayar Programlama I
Nesne Tabanlı Programlamanın
Avantajları
41
• 
Herşey bir nesnedir (object).
• 
Her nesne bir sınıfın (class) örneğidir.
• 
Sınıf, aynı yapıdaki nesnelerin sahip olduğu ortak durum
(state) ve davranışların (behaviour) yer aldığı bir modeldir.
• 
Programlama dillerinde durum, özellik (property) veya alan
(field) dediğimiz yapılarla, davranış ise metot (method) veya
fonksiyon (function) dediğimiz yapılarla ifade edilir.
Bilgisayar Programlama I
Sınıf ve Nesne Kavramı (Class and Object)
42
• 
Soyutlama (Abstraction): Önemli
özelliklere odaklanabilmek için ayrıntıları göz
ardı etme sürecidir.
• 
Prosedürel Soyutlama: Programlarda
kişiselleştirilmiş kod kullanmak yerine, belirli
görevleri gerçekleştirmek için standart
fonksiyonların oluşturulması bir prosedürel
soyutlamadır.
• 
Veri Soyutlaması: Bir veri tipinin nasıl
yapılandığının ayrıntılarını göz ardı etmemize
izin veren soyutlama tarzına denir.
Bilgisayar Programlama I
Soyutlama (Abstraction)
43
• 
Kuşatma (Encapsulation): Soyutlamayı desteklemek için nesneye ait
özelliklerin, metotların ve nesne içi etkileşimin gerekmediği sürece
nesnenin dışına çıkmamasıdır. Bu şekilde nesnenin iç yapısı dış
dünyadan korunmuş (kuşatılmış) olur. Ör: Otomobilin iç işleyişinden
haberdar olmadan sürebilmek.
• 
Çokbiçimlilik (Polymorphism): Bir işlevin, işlemin, metodun değişik
nesneler tarafından aynı ya da değişik biçimlerde kullanılabilir
olmasıdır. Ör: «Fren Yap» metodunun kullanımı ve iç dinamikleri,
otomobil, bisiklet veya tren gibi nesneler için tek bir isim altında fakat
farklı yapısal biçimde kullanılması.
• 
Kalıtsallık (Inheritance): Bir sınıfa ait özellikler ve işlemlerin yeni bir
sınıfa (çocuk sınıf) birebir aktarılmasıdır. Yeni sınıf eski sınıfın
özellikleri ve işlemlerine sahip olmasına ek olarak kendisi de özellikler
ve işlemler tanımlayabilir. Ör: Taşıt sınıfının Araba, Motorsiklet,
Otobüs gibi alt sınıfları, Araba’nın da Aile Arabası, Spor Arabası gibi alt
sınıfları
Bilgisayar Programlama I
Nesne Tabanlı Programlama’da
3 Önemli Özellik
44
Java’ya Giriş
• 
Bir programın temel yapısı
• 
Bir java programının çalışabilmesi için main() metodu isminde özel bir metot
bulunmalıdır.
• 
JVM’nin programı çalıştırabilmesi için main() metodu aşağıdaki şekilde yazılmak
zorundadır.
public static void main(String[] args) {
}
• 
Main metodu sınıf tanımının içerisinde bulunur.
Bilgisayar Programlama I
–  Sınıf tanımı
–  Özellik tanımı
–  Metot Tanımı
45
Java’ya Giriş
System.out.println("Java Programlama")
Sınıflar
•  Çıktı
Metot
Metodun alacağı girdi
Bilgisayar Programlama I
•  Kod
46
• 
java program_adi.java
• 
javac class_adi
Bilgisayar Programlama I
Java Programını Derlemek ve Çalıştırmak
47
Açıklamalar
• 
Açıklama satırları program hakkında bilgiler vermek için kullanılır.
• 
Compiler açıklama satırlarını gözardı eder.
• 
Java içindeki açıklama yazmanın iki yolu vardır.
–  Çok Satırlık Açıklamalar
/* Açılama yazmanın diğer bir yoludur. Compiler slaş yıldız ile yıldız slaş
arasındaki herşeyi gözardı eder. */
Bilgisayar Programlama I
–  Tek Satırlık Açıklamalar
// Açıklamalar bu satıra yazılabilir.
// Compiler iki slaş işaretinden satır sonuna
// kadar herşeyi gözardı eder .
48
Önişlemci direktifleri
• 
Önişlemci direktifleri compiler’a komutlar gönderir.
• 
java.util bir kütüphanedir. Klavyeden okuma ve ekrana yazman için gerekli
deyimleri bulundurur.
• 
import deyimi ile compiler’a java.util araçlarının kullanılacağı bildirilmiştir.
• 
Java çok sayıda kütüphaneye ve araca sahiptir.
• 
Java fonksiyonları kullanılacağı zaman uygun kütüphanenin programa
import edilmesi gerekir.
Bilgisayar Programlama I
import java.util.*; ön işlemci direktifidir.
49
Fonksiyonlar (Metotlar)
• 
Fonksiyon başlık satırı her fonksiyonda olur. Fonksiyonun adını ve giriş/
çıkış parametrelerini tanımlar.
• 
Genel yazımı
return_type function_name(input parameters)
{
şeklindedir.
• 
return_type, fonksiyonu çağıran yere döndürülecek değer tünü belirler.
• 
Fonksiyon blokları { ve } parantezleri ile oluşturulur.
Bilgisayar Programlama I
}
50
Java Deyimleri
• 
Java deyimleri çalıştırılacak komutları ifade eder.
• 
Java’daki çoğu deyim noktalı virgülle sonlandırılır.
• 
Merhaba dünya! programı bir deyime sahiptir.
• 
out çıkışı yönlendirir.
• 
println ile string konsol ekranına gönderilir ve yeni satıra geçilir.
Bilgisayar Programlama I
–  System.out.println("Merhaba dünya!");
51
• 
Boşluk karakterleri (Whitespaces) programın okunabilirliğini arttırır.
• 
Enter, tab ve space ile oluşturulur.
• 
Compiler gözardı eder.
• 
Merhaba dünya! programı aşağıdaki gibi yazılırsa yine çalışır:
public class MerhabaDunya { public static void main (String [] args)
{ System.out.println(“Merhaba dünya!”); }}
Bilgisayar Programlama I
Boşluk karakterleri ve Java ile esnek
yazım
52
• 
Syntax programın yazım kurallarını ifade eder.
• 
Önişlemci yazım hatası bulursa anlamlı bir mesajla programcıya bilgi verir.
• 
Programdaki az sayıda hata, çok sayıdaki hata, çok sayıda compiler hatası
üretebilir.
Bilgisayar Programlama I
Syntax
53
• 
Java ile yazılan programın kolay okunabilir olması gerekir.
• 
Tanımlayıcı açıklamaların yapılması gerekir.
• 
Anlamlı ve uygun uzunlukta değişken isimlendirme yapılması gerekir.
• 
Programdaki blokların hizalandırılması gerekir.
• 
Balangıçta okunabilirlik için harcanan zaman, compiler hatalarının
düzeltilmesi ve programın update edilmesi sırasında çok zaman kazandırır.
Bilgisayar Programlama I
Java'da İyi Program Yazım Şekli
54
TEŞEKKÜRLER
Dr. Yusuf UZUNAY
yuzunay(at)gmail(dot)com
© 2015 - TOBB ETÜ
Download