Nesne Yönelimli Programlama

Benzer belgeler
ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

BİL-142 Bilgisayar Programlama II

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

PROGRAMLAMAYA GİRİŞ DERS 2

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

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

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

Nesne Yönelimli Programlama

Programlama Dillerinde Kullanılan Veri Tipleri

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

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

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

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

J A V A D A P R O G R A M D E N E T İ M İ V E O P E R A T Ö R L E R

Java da İşleçler, Ders #3 (4 Kasım 2009)

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

BİL-141 Bilgisayar Programlama I (Java)

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

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

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

EMT2226 Nesne Yönelimli Programlamaya Giriş

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

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

Internet Programming II

HSancak Nesne Tabanlı Programlama I Ders Notları

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

Temel Veri Türü İşlemleri

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

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

C PROGRAMLAMA DİLİNE GİRİŞ

BİL-141 Bilgisayar Programlama I (Java)

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

Algoritma ve Akış Diyagramları

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya

Bölüm 2 - C ile Programlamaya Giriş

Genel Programlama II

BİLGİSAYAR PROGRAMLAMA DERSİ

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

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

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

/*int sayi1, sayi2,toplam=0;

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü

BİLGİSAYAR PROGRAMLAMA I (Java)

Fonksiyonlar (Altprogram)

C PROGRAMLAMA D İ L İ

Hafta 13 Fonksiyonlar

BİL1001 Bilgisayar Bilimlerine Giriş 1

Lambda İfadeleri (Lambda Expressions)

BİL-142 Bilgisayar Programlama II

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

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

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

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

C Programlama Dilininin Basit Yapıları

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

JAVADA DİZİ İŞLEMLERİ

Dr. Fatih AY Tel: fatihay@fatihay.net

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

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

HSancak Nesne Tabanlı Programlama I Ders Notları

4. Bölüm Programlamaya Giriş

Hafta 8 C Dilinde Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

ALGORİTMA VE PROGRAMLAMA I

enum bolumler{elektronik, insaat, bilgisayar, makine, gida};

HSancak Nesne Tabanlı Programlama I Ders Notları

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

Bigisayar Programlama

// hataları işaret eden referans

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

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0

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

Nesne Yönelimli Programlama

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

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA

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

PASCAL PROGRAMLAMA DİLİ YAPISI

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

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

Algoritma ve Programlama: Karar Yapıları ve Döngüler

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

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

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

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

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

Temel Bilgisayar Programlama

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

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

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

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

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

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

Transkript:

1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Genel Bilgiler Ders konuları 1. Programlamaya Giriş 2. Program Denetimi ve Operatörler 3. Nesnelerin Başlangıç Durumu ve Temizlik 4. Paketlere Erişim 5. Kompozisyon ve Kalıtım ile Sınıfların Tekrar Kullanımı 6. Çok Biçimlilik 7. Arayüzler ve Dahili Sınıflar 8. İstisnalar 9. Giriş/Çıkış İşlemleri 10. Nesneler için Torbalar 2

2 Programlamanın temelleri Problemin veya amacın anlaşılması ve gerçekleştirmek için planlama yapılması gerekir. Algoritma tasarımı Algoritma, problemin çözümü için takip edilen adımlar, kurallar kümesi veya süreçtir. Programın kodlanmasından önce problemin çözümü için adımların oluşturulması gerekir. 3 Programlamanın temelleri Başarılı bir programlama için aşağıdaki adımlar izlenmelidir: 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 ve pseudo kodun 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ı. 4

3 Terminoloji 5 Terminoloji 6

4 Java programının temel formatı Java case sensitive programlama dilidir. "toplam", "Toplam" ve "TOPLAM" birbirinden ayrıdır. Java programları fonksiyonlar (yordamlar) halinde yazılır Tüm fonksiyonlar, bir isme, veri gönderme ve veri döndürme özelliklerine sahiptir. Fonksiyonlar programın işlevlerini gerçekleştirir. Java programlarının başlangıç noktası main() fonksiyonudur. 7 Merhaba dünya! programı // Merhaba dünya! programı. // 18.09.2017 import java.util.*; public class MerhabaDunya { public static void main (String [] args) { System.out.println("Merhaba dünya!"); } } 8

5 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çinde açıklama yazmanın iki yolu vardır 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 Çok satırlık açıklamalar /* Açıklama yazmanın diğer bir yoludur. Compiler slaş yıldız ile yıldız slaş arasındaki her şeyi gözardı eder. */ 9 Önişlemci direktifleri import java.util.*; ön işlemci direktifidir. Önişlemci direktifleri compiler a komutlar gönderir. java.util bir kütüphanedir. Klavyeden okuma ve ekrana yazma 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. 10

6 main() fonksiyonu public static void main(string [] args) {... } Java programının başlangıç noktasıdır. Java programları bir main() fonksiyonuna sahiptir. 11 Fonksiyon başlık satırı 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ğerin türünü belirler. Fonksiyonlar { ve } parantezleriyle oluşturulur. 12

7 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. System.out.println( Merhaba dünya! ); out çıkışı yönlendirir. println ile string ekrana gönderilir ve yeni satıra geçilir. 13 Boşluk karakterleri ve Java ile esnek yazım Boşluk karakterleri (whitespaces) programın okunabilirliğini artı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. import java.util.*; public class MerhabaDunya { public static void main (String [] args) { System.out.println( Merhaba dünya! ); }} 14

8 Syntax 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ıdaki hata, çok sayıda compiler hatası üretebilir. 15 İyi program yazım şekli 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. Başlangıçta okunabilirlik için harcanan zaman, compiler hatalarının düzeltilmesi veya programın update edilmesi sırasında çok zaman kazandırır. 16

9 Programlama Dillerindeki Data türleri Bir veri türü programda kullanılacak değeri belirler. Her değer için bir tür belirlenmelidir. 17 Programlama Dillerindeki Data türleri Bir veri türü, veri saklama alanını ifade eder. Bir değişken, veri saklama alanının adını gösterir. Her veri türü, saklama alanının boyutunu belirler. 18

10 Programlama Dillerindeki Data türleri 19 Data türleri Veri türü tanımlama formatı data_type variable_name; şeklindedir. Örnek veri türü tanımlamaları: double balance; double deposit; double withdraw; int transaction_count; int check_number; 20

11 Data türleri Değişkenlere değer atanması double deger; int num = 5; deger = 35.29; double money, speed; money = speed = 0.0; 21 İsimlendirme kuralları Değişkenlere isim belirlenmesinde uyulacak kurallar: İsimler A-Z, a-z, 0-9 veya _ karakterlerinden oluşur. İlk karakter harf veya _ olmalıdır. İsimlerde ~! @ # $ % ^ & * ( ) + = \, sembolleri ve boşluk karakteri kulanılamaz. Programlama dilindeki anahtar kelimeler değişken ismi olarak kullanılamaz. 22

12 İsimlendirme kuralları Örnek değişken isimleri: 23 Değişken tanımlama Değişkenler fonksiyon içinde, dışında veya başlık satırında tanımlanabilir. Bir değişken kullanılmadan önce tanımlanmalıdır. Bir değişkene tanımlandığı yerden ulaşılır (scope). 24

13 Java da operatörler Java da operatörler belirli bir işlemi ifade eder. F_temp = 9.0/5.0 * C_temp + 32.0; Operatörler eşitliğin sağ tarafında kullanılırlar. 25 Atama operatörü Atama operatörü (=) sağ taraftaki değeri sol taraftaki değişkene aktarır. miktar = 1534.34; islemsirasi = 8; x = y; Birden fazla değişkene bir ifadeyle değer atanabilir. a = b = c = 0; 26

14 İşlem öncelikleri İşlem öncelikleri deyimlerin çalışma şeklini (operatörlerin işlem sırasını) gösterir. 27 İşlem öncelikleri F_temp = 9.0/5.0 * C_temp + 32.0; Yukarıda dört operatör var (=, /, *, +). Çarpma (*) ve bölme (/) en yüksek önceliğe sahiptir. Sonra toplama (+) ve en son atama (=) işlemi yapılır. Atama hariç işlemlerin tamamı soldan sağa önceliklendirmeyle yapılır. Önce 9.0/5.0 bölme işlemi yapılır. Hesaplanan değer C_temp değişkeniyle çarpılır. Sonra toplama işlemi yapılır. En son atama operatörüyle hesaplana değer F_temp değişkenine aktarılır. 28

15 İşlem öncelikleri 29 Veri türleri ve saklanan değerler Veri türü hafızaya saklanacak değeri belirler. double x = 15; // x değeri 15.0000000000000 olur Bir integer değişkene değer atandığında tam kısmı saklanır. Ondalıklı kısmı yuvarlanmaz truncate (atılır) yapılır. int miktar = 435.83; // miktar değeri 435 olur Programcı truncate yapılacak bir değer atadığında compiler uyarı mesajı üretir. 30

16 Veri türleri ve saklanan değerler Aşağıdaki iki değişkenin değeri truncate yapılır. float pi = 3.141592653589793; // pi değişkeninin değeri // 3.141593 olur. short int toplam = 56332; // short int limit 32.767 olur. 31 lvalue ve rvalue lvalue atama operatörünün sol tarafına, rvalue sağ tarafına denir. Sağ taraf hesaplanan bir değer, sol taraf değişken olabilir. Yanlış atamalar double x, sqrootx; 5.2 = x; // can t assign from right to left sqrt(x) = sqrootx; // can t call sqrt on left of = //sign Doğru atamalar double x, sqrootx; x = 5.2; //assign number from right to left sqrootx = sqrt(x); //calculate on right, assign to left 32

17 Veri türleri ve aritmetik işlem sonuçları Integer ve floating-point bölme işlemlerinin sonuçları 33 Cebirsel eşitlikler ve Java ifadeleri 34

18 Artırma ve azaltma operatörleri ++ ve -- operatörleri değişkenin değerini 1 artırır veya azaltır. ++i; veya i++; aşağıdakine eşittir i = i + 1; 35 Artırma ve azaltma operatörleri Toplama işlemi olarak postfix ve prefix arasında fark yoktur. ++i; i++; //prefix operator ++ değişkenden önce gelir //postfix operator ++ değişkenden sonra gelir Prefix operatör önce artırır/azaltır, sonra işlem (varsa) yapar. Postfix operatör önce işlem (varsa) yapar, sonra artırır/azaltır. 36

19 Artırma ve azaltma operatörleri i değişkeninin başlangıç değeri 5 tir. 37 Accumulation operatörleri Accumulation operatörleri (+=, =, *=, /=) atama işlemlerini kısa bir şekilde ifade etmek için kullanılır. toplam = toplam + x; toplam += x; fark = fark - x; fark -= x; 38