Java Programlama Dili

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

Download "Java Programlama Dili"

Transkript

1 Java

2 Java Programlama Dili Nesneye yönelik (object-oriented) programlama dili Üst seviye, genel amaçlı ve açık kodlu Tüm değişkenler sabit bir veri tipine sahip (statically typed) Veri tipleri: Temel veri tipleri (int, double vs.) Sınıflar İşletilen bir dil (interpreted). Derleme birimleri: Kaynak kodlar:.java dosyası Derlenen kod (bytecode):.class dosyası

3 Java Sanal Makinesi (JVM) (1)

4 Java Sanal Makinesi (JVM) (2)

5 Java Byte Kodlar Java dili komut seti, her biri 1-byte olan 256 adet komuttan oluşmaktadır. Bunlardan 51 tanesi ileriki kullanımlar için ayrılmıştır. Komutlar aşağıdaki temel kategorilere ayrılabilir: Load and store (e.g. aload_0, istore) Arithmetic and logic (e.g. ladd, fcmpl) Type conversion (e.g. i2b, d2i) Object creation and manipulation (new, putfield) Operand stack management (e.g. swap, dup2) Control transfer (e.g. ifeq, goto) Method invocation and return (e.g. invokespecial, areturn)

6 Ön/Son Ek ve İşlemci Tipi Ön/Son Ek i l s b c f d z a İşlemci Tipi int long short byte char float double boolean nesne referansı aload veya iload

7 Java Byte Kod Örnekleri Komut aload_0 aload_1 iload_0 istore_1 iadd dmul Açıklama 0. yerel değişkendeki nesne referansını yığına at 1. yerel değişkendeki nesne referansını yığına at 0. yerel değişkendeki tam sayıyı yığına at Yığının tepesindeki değeri birinci yerel değişkene at Yığının tepesindeki iki tamsayı değeri al, topla ve sonucu yığına at Yığının tepesindeki iki double değeri al, topla ve sonucu yığına at Tüm byte kodlar:

8 Java Çalıştırma Kiti (JRE).class dosyaları files Java byte kodlarını (bytecode) içerir Donanım bağımsız komut seti Java byte kodları Java Sanal Makinesi - Java Virtual Machine (JVM) tarafından yorumlanır. Byte kodları makine koduna çevirir Java Çalıştırma Kiti - Java Runtime Environment (JRE) JVM ve temel Java özelliklerini içerir (örn: java komutu) Donanım ve işletim sistemi detaylarını soyutlar Java programları için ortak API leri gerçekleştirir

9 java komutu ile Java programı çalıştırma HelloWorld.class isimli bir dosyada derlenmiş Java programınız olsun. Bu programı çalıştırmak için yandaki komut çalıştırılmalıdır: java HelloWorld java komutu JRE içerisinde yer almaktadır. Web sitelerindeki Applet ler web tarayıcısında çalışan Java programcıklarıdır. Web tarayıcısı, arka planda, java komutunu kullanarak bu appletleri çalıştırır. (JRE kurulu olmalıdır)

10 Java Geliştirme Kiti (JDK) Java programlarını geliştirmek için gereken araçları ve diğer bileşenleri içerir. Örnek araçlar: javac: java dosyalarını derleyip class dosyası haline getirir. javap: class dosyalarını okunabilir byte kod satırlarına çevirir. jdb: java programlarında hata ayıklamak için kullanılır. JDK kurulumu:

11 Javac komutu ile Java programlarının derlenmesi Javac komutu Java kaynak kodlarından (*.java), JVM de çalışabilir Java byte kodlar (*.class) oluşturmayı sağlar. HelloWorld.java isimli Java programından HelloWorld.class isimli byte kod dosyası oluşturmak için aşağıdaki komut çalıştırılmalıdır. javac HelloWorld.java

12 Eclipse IDE Java da yazılmış entegre geliştirme ortamı (IDE) Eklentiler aracılığıyla pek çok programlama dilini destekliyor Java geliştirme araçları: Kaynak kod editorü: Dil spesifik kod renklendirme Kod otomatik tamamlama Java kodlarının oluşturulması ve yeniden yapılandırılması (refactoring) için özellikler Proje oluşturma, çalıştırma ve hata ayıklama Eclipse kurulumu bim206-eclipse.zip dosyasını bilgisayarınıza açın Çalıştırılabilir dosya: eclipse.exe (Çalışması için JDK nın kurulu olması gerekli)

13 Temel veri tipleri byte: 8 bit, değer aralığı: short: 16 bit, değer aralığı: int: 32 bit, değer aralığı: long: 64 bit, değer aralığı: float: 32-bit tek duyarlıklı (single-precision) ondalıklı sayı double: 64-bit çift duyarlıklı (double-precision) ondalıklı sayı boolean: iki değer alabilen veri tipi: true ve false char: 16-bit evrensel kod (Unicode) karakter

14 Operatörler Atama: = Aritmetik: + - * / % Tek terimli: ! Eşitlik: ==!= İlişkisel: > >= < <= Koşullu: && Tip Karşılaştırma: instanceof Bitsel: ~ & ^ Bit kaydırma: << >> >>>

15 Akış Kontrolü If-then If-then-else Switch While Do-while For Branching: break, continue, return

16 Sınıflar Programcı tarafından tanımlanan veri tipleridir Nesne: sınıfın bir örneğidir Sınıf tanımı, sınıfın adında bir Java dosyası içerisinde yapılır: <SınıfAdı>.java Sınıf adları geleneksel olarak büyük harfle başlar Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi Metotlar: Java komutlarını içeren prosedürlerdir (functions?)

17 Örnek: MyClass.java class MyClass { int myvariable; int getvariable() { return myvariable; void setvariable(int value) { myvariable = value;

18 Sınıf Üyelerine Erişim Sınıfın içerisinden: Değişkenin yada metotun adı kullanılarak erişilir. Örnekler: myvariable = 0; setvariable(0); Opsiyonel olarak, this anahtar kelimesi kullanılabilir, e.g. this.myvariable Yerel değişkenler alanı gölgelediği durumda gereklidir Dışarıdaki bir sınıftan: Nesne değişkeni +. + alanın yada metotun adı Örnekler: myobject.myvariable = 0; myobject.setvariable(0);

19 Paketler (1/2) Sınıflar paketler içerisinde gruplanır Mantıksal gruplama Sınıflara ya da sınıf üyelerine erişimin düzenlenmesi Paket adları hiyerarşik yapıda tanımlanır Üst seviyeden alt seviyeye doğru Örnekler: org.organization.product com.company.division.product Kaynak kodların ve derlenen dosyaların dizin hiyerarşisi paket adlandırmasına uygun olmalıdır. Örnek: org/organization/product/myclass.java

20 Paketler (2/2) Bir paket sınıflara ya da alt paketlere sahip olabilir Örnek: «com.company.division», «com.company» paketinin alt paketidir Tam anlamıyla tanımlanmış sınıf adları (sınıfın tam adı) paket adını içerir: Örnek: org.organization paketindeki Product sınıfı: org.organization.product Farklı paketlerde aynı isimli sınıflara izin verilir Java anahtar kelimesi: package Sınıf tanımının bulunduğu dosyanın en üstünde kullanılır Örnek: package org.organization;

21 Sınıf Görünürlüğü (1/2) Normalde sınıflar sadece tanımlı olduğu paket içerisinden görülür Public sınıflar herhangi bir paketten görülebilir Örnek: public class MyClass { // Sınıf tanımı Public bir sınıfa başka bir paketten erişebilmek için: Ya sınıfın tam adı (paket adı ile birlikte sınıf adı) kullanılmalı Ya da sınıf içeri aktarılmalıdır (import): Tek bir sınıfın içeri aktarılması: import <paket_adı>.<sınıf_adı>; Bir paketteki tüm public sınıfların içeri aktarılması: import <paket_adı>.*;

22 Sınıf Görünürlüğü (2/2) Örnek: com/sirket/ilkpaket/ilksinif.java: package com.company.firstpackage; public class FirstClass { // Sınıf tanımı com/sirket/ikincipaket/ikincisinif.java: package com.company.secondpackage; import com.company.firstpackage.firstclass; class SecondClass { FirstClass firstobject; //... java.lang paketi içerisindeki sistem sınıfları içeri aktarılmadan görünür haldedir ve direk kullanılabilir

23 Standart Java Paketleri

24 Java Projesi Oluşturma (1/2) File -> New -> Java Project

25 Java Projesi Oluşturma (2/2) Proje adını girin «Finish» butonuna tıklayın

26 Java Sınıfı Oluşturma (1/2) «Package Explorer» dan projeyi seçin File -> New -> Class

27 Java Sınıfı Oluşturma(2/2) Paket adını (Package) girin Sınıf adını (Name) girin «Bitir» butonuna tıklayın

28 main() metotu Yeni oluşturulan sınıfın adında dosya (HelloWorld.java) editörde açılır main() metotunu yazın Dosyayı kaydedin:file -> Save

29 Uygulamayı Çalıştırmak «Package Explorer» dan projeyi seçin Run -> Run main() metodu çalıştırılacaktır Eclipse Console penceresinden programın çıktısı görülebilir

30 Alt Sınıflar (Subclasses) Başka bir sınıftan türetilen sınıflardır Türetildikleri sınıfa süper sınıf ya da temel sınıf (superclass or base class) denir Alt sınıf, temel sınıfın özelliklerini genişletir Temel sınıfın değişkenlerini ve metotlarını miras alır Ek değişkenler veya metotlar tanımlayabilir Kodların yeniden kullanımını kolaylaştırır Bir alt sınıf, diğer bir sınıf tarafından temel sınıf olarak kullanılabilir. Direk veya dolaylı temel sınıf alt sınıf ilişkisi Kalıtım hiyerarşisi

31 Temel Sınıf: MyClass.java class MyClass { int myvariable; int getvariable() { return myvariable; void setvariable(int value) { myvariable = value;

32 Alt Sınıf: MySubClass.java class MySubClass extends MyClass { int subclassvariable; int getvariablesum() { return myvariable + subclassvariable; void setvariables(int value) { subclassvariable = value; setvariable(value);

33 Temel Sınıf ve Alt Sınıf Nesneleri (1/2) Alt sınıf nesneleri aynı zamanda temel sınıfın nesneleridir Alt sınıf nesnesi, temel sınıf tipinde bir değişkene atanabilir Temel sınıf nesnesi bir alt sınıf nesnesi olabilir ancak olmak zorunda değildir. Temel sınıf nesnesi, alt sınıf tipindeki değişkene atanmadan önce, alt sınıf tipine çevrilmelidir: dinamik dönüşüm (dynamic cast) Örnek: SuperClass superobject; SubClass subobject; //... superobject = subobject; // Her zaman güvenli subobject = (SubClass) superobject; // Çalışma zamanı kontrolü

34 Temel Sınıf ve Alt Sınıf Nesneleri (2/2) Eğer temel sınıf nesnesi, alt sınıfın bir nesnesi değilse, dinamik dönüşüm çalışma zamanı istisnası (run-time exception) oluşturur instanceof operatörü çalışma zamanında örnek tipini kontrol etmek için kullanılabilir Örnek: if (superobject instanceof SubClass) subobject = (SubClass) superobject; // Güvenli

35 Sınıf Üyesi Görünürlüğü Bir sınıfın üyelerine diğer sınıflardan erişimi kontrol etmek için kullanılır Varsayılan durum: sadece paket içi görünüm (package-private visibility) Sınıf üyelerine sadece aynı paketteki sınıflardan erişilebilir Açık Görünürlük (public visibility): Sınıf üyelerine herhangi bir sınıf tarafından erişilebilir Korumalı Görünürlük (protected visibility): Sınıf üyelerine direk veya dolaylı alt sınıflar ve aynı paketteki sınıflar tarafından erişilebilir Gizli Görünürlük (private visibility): Sınıf üyelerine diğer sınıflardan erişilemez

36 Sınıf Üyesi Görünürlüğü Örneği (1/4) com/company/firstpackage/firstclass.java: package com.company.firstpackage; public class FirstClass { int myvariable; private int privatevariable; public void publicmethod() { protected void protectedmethod() {

37 Sınıf Üyesi Görünürlüğü Örneği (2/4) com/company/firstpackage/secondclass.java: package com.company.firstpackage; class SecondClass { FirstClass firstobject; void method() { firstobject.myvariable = 0; // Hata yok firstobject.privatevariable = 0; // Hata! firstobject.publicmethod(); // Hata yok firstobject.protectedmethod(); // Hata yok

38 Sınıf Üyesi Görünürlüğü Örneği (3/4) com/company/secondpackage/thirdclass.java: package com.company.secondpackage; import com.company.firstpackage.firstclass; class ThirdClass { FirstClass firstobject; void method() { firstobject.myvariable = 0; // Hata! firstobject.privatevariable = 0; // Hata! firstobject.publicmethod(); // Hata yok firstobject.protectedmethod(); // Hata!

39 Sınıf Üyesi Görünürlüğü Örneği (4/4) com/company/secondpackage/fourthclass.java: package com.company.secondpackage; import com.company.firstpackage.firstclass; class FourthClass extends FirstClass { FirstClass firstobject; void method() { firstobject.myvariable = 0; // Hata! firstobject.privatevariable = 0; // Hata! firstobject.publicmethod(); // Hata yok firstobject.protectedmethod(); // Hata yok

40 Sınıf Yapıcıları (1/5) Yenir bir nesne, new operatörü kullanılarak oluşturulur: MyClass myobject = new MyClass(); Sınıf yapıcısı: Nesne oluşturulurken otomatik çağırılan özel sınıf metotudur Yapıcı tanımlama: MyClass(...) { //... Otomatik tanımlanan varsayılan yapıcı, parametresi olmayan boş bir fonksiyondur Eğer sınıfta bir yapıcı tanımlanrsa, bu sınıf için varsayılan yapıcı tanımlanmaz

41 Sınıf Yapıcıları (2/5) İstenildiği kadar yapıcı tanımlanabilir (farklı parametre listesine sahip olmaları şartıyla) Örnek: MyClass() { // Parametresi olmayan yapıcı MyClass(int arg0, double arg1) { // Bir «int» ve bir «double» parametre alan yapıcı Boş olmayan parametre listesine sahip bir yapıcıyı çağırma örneği: MyClass myobject = new MyClass(arg0, arg1);

42 Sınıf Yapıcıları (3/5) Bir yapıcı, diğer bir yapıcıyı çağırabilir Yapıcı çağırma şekli: this(...) Örnek: MyClass() { this(0, 0.1); MyClass(int arg0, double arg1) { // Bir «int» ve bir «double» parametre alan yapıcı

43 Sınıf Yapıcıları (4/5) Sınıf yapıcıları genellikle sınıf değişkenlerine ilk değer atamak için kullanılır Yapıcılar dışında, değişken tanımlama sırasında da ilk değer ataması yapılabilir Değişkenlere ilk değer atanmaması durumunda varsayılan değerleri kullanılır: Sayısal değişken tipleri için 0 Boolean tip için false Sınıf tipleri için null

44 Sınıf Yapıcıları (5/5) Sınıf değişkeni ilk değer atama örneği: class MyClass { int zerofield; // varsayılan değer: 0 int myfield = 1; MyClass() { MyClass(int value) { myfield = value; //... MyClass firstobject = new MyClass(); // firstobject.myfield = 1 MyClass secondobject = new MyClass(2); // secondobject.myfield = 2

45 Temel Sınıfların Yapıcıları Varsayılan yapıcılar kullanıldığında: alt sınıf yapıcısı, temel sınıf yapıcısı çağırıldıktan sonra çağırılır Varsayılan yapıcı dışında bir yapıcı tanımlanmazsa, parametresi olmayan temel sınıf yapıcısı otomatik çağırılır Varsayılan yapıcı dışındaki yapıcıları çağırmak için: super(...) Örnek: SuperClass(int value) { SubClass() { super(0); Temel sınıf yapıcısı çağırımı, alt sınıf yapıcısının ilk satırında yapılmalıdır

46 Diziler (1/2) Belirli bir tipte, sınırlı sayıda değer içeren nesnelerdir Temel veri tiplerinde (int, double) veya sınıf tiplerinde (MyClass) değerler içerebilirler Örnekler: int[] arrayofints; MyClass[] arrayofobjects; Dizi uzunluğu (dizinin kaç değer içereceği) dizi oluşturma zamanında belirlenir Örnekler: arrayofints = new int[2]; arrayofobjects = new MyClass[3]; Dizi uzunluğuna length üye değişkeni ile ulaşılabilir: Örnek: arrayofints.length

47 Diziler (2/2) Dizi elemanlarının ilk değerlerinin atanması: {ilkdeger, ikincideger,... Örnekler: int[] arrayofints = {10, 20; MyClass[] arrayofobjects = {firstobj, secondobj; Dizi üyelerine erişim: arrayname[index] Geçerli indeks değerleri: 0... arrayname.length 1 Örnekler: arrayofints[0] = 0; arrayofobjects[1].method();

48 Diziler Üzerinde Dolaşma Gelişmiş for (enhanced for) döngüsü: indeks değişkenine gerek duymaz Kullanım: for (<type> <variable> : <array_name>) { <type> temel veri tipleri ya da sınıf tipleri olabilir Örnek: MyClass[] array; for (MyClass item : array) { // item dizinin o anki değerini tutar ve her adımda güncellenir

49 String Nesneleri Java da string değişkenleri java.lang.string sınıfından türetilmiş nesnelerdir Java dilinde hazır gelen string desteği: Çift tırnak içerisindeki karakterlerden String nesnesi oluşturulur Örnek: String mystring = "merhaba dünya"; + operatörü ile string birleştirme Örnek: String mystring = "merhaba " + "dünya"; + operatörü kullanılarak string değişkenler ile birleştirilen değişkenler ve sabitler otomatik olarak string nesnelerine dönüştürülürler Örnek: String strzeytin = "dün " " kilo zeytin aldım";

50 Statik Üyeler (1/2) Normal şartlarda, sınıf üyelerine (değişkenler ve metotlar), nesneler aracılığıyla erişilebilir Örnekler: myobject.myfield = 0; myobject.setfield(0); Ve sınıf üyeleri nesne değişkenleridir (instance variables): obj1.field ve obj2.field iki farklı değişkendir Sınıfa ait üyelere statik üyeler (static fields) denir : Sınıf örneklerinden bağımsız üyelerdir Sınıf değişkenleridirler: Sınıfın tüm nesneleri tarafından paylaşılırlar Nesne adı yerine, sınıf adı kullanılarak erişilirler

51 Statik Üyeler (2/2) Örnek: class MyClass { static int staticvariable; static void staticmethod() {... MyClass.staticVariable = 0; MyClass.staticMetohd(); Görünürlük anahtar kelimeleri (public, protected, private): Statik olmayan üyeler için geçerli kurallar statik üyeler için de geçerlidir.

52 Main Metotu Bir Java programı çalıştırıldığında otomatik çalıştırılan metot: public static void main(string[] args) Parametre: Program çalıştırılırken gönderilen parametreleri içeren String dizisidir. (Eğer parametre gönderilmemişse boş dizi gönderilir.) Örnek: public class HelloWorld { public static void main(string[] args) { If (args.length > 0) System.out.println(args[0]);

53 Metot Yeniden Tanımlama (Method Override) (1/2) Alt sınıflar, temel sınıfın metotlarını miras alırlar Ancak bir alt sınıf isterse bir temel sınıf metotunu yeniden tanımlayabilir Alt sınıftaki metota, yeniden tanımlanmış metot (overridden method) denir Örnek: class SuperClass { void method() { void overriddenmethod() {

54 Metot Yeniden Tanımlama (Method Override) (2/2) Örnek (devamı): class SubClass extends SuperClass { void overriddenmethod() { subclassobj.method(); // Temel sınıf metotu subclassobj.overriddenmethod(); // Alt sınıf metotu Yeniden tanımlanmış metotun temel sınıftaki versiyonu «super» anahtar kelimesi kullanılarak alt sınıftan çağırılabilir Örnek: super.overriddenmethod();

55 Final Üyeler ve Final Sınıflar İlk değer atandıktan sonra final üyelerin değeri değiştirilemez. Bu nedenle, değerleri ilk değer atanırken verilmelidir Üye tanımlanırken - hem statik hem de statik olmayan üyeler için bu yöntem kullanılablir veya Her bir yapıcının içerisinde ilk değer atanabilir - sadece statik olmayan üyeler için kullanılabilir Final metotlar alt sınıflarda yeniden tanımlanamazlar Final sınıflardan alt sınıf oluşturulamaz Örnek: class MyClass { final int finalfield = 0; void method() { finalfield = 1; // Hata!

56 Soyut Sınıflar (Abstract Classes) Direk olarak nesnesi oluşturulamayan sınıflardır Sadece alt sınıflarından nesne oluşturulabilir Örnek: abstract class MyClass { class SubClass extends MyClass { MyClass myobject = new MyClass(); // Hata! MyClass myobject = new SubClass(); // Hata yok

57 Soyut Metotlar (Abstract Methods) Geröekleştirimş olmayan metotlardır Örnek: abstract void abstractmethod(); Soyut metotu bulunan sınıflar, soyut sınıf olarak tanımlanmalıdır Soyut bir sınıfın alt sınıfı: Ya miras ile alınan soyut metotları gerçekleştirir Ya da soyut bir sınıf olabilir

58 Soyut Bir Sınıftan Alt Sınıf Oluşturmak Örnek: class AbstractClass { abstract void abstractmethod(); class SubClass extends AbstractClass { void abstractmethod { // Miras ile alınan soyut metotun gerçekleştirimi

59 Arayüzler (Interfaces) Java da sadece türetilen sınıfların sadece tek bir temel sınıfı olabilir Çoklu kalıtım (multiple inheritence) arayüzler aracılığıyla sağlanır Soyut sınıflar gibi, hangi fonksiyonları içerdiği belli ama gerçekleştirimi olmayan yapılardır Tüm değişkenler public, static ve final tanımlıdır. Tanımlanan tüm metotlar public tanımlıdır. Yapıcı içeremezler. Örnek: interface MyInterface { int field = 0; void interfacemethod();

60 Arayüz Gerçekleştirimi (1/2) Bir sınıf, arayüzdeki tanımlı metotları gerçekleştirerek, bir arayüzü gerçekleştirebilir Örnek: class MyClass implements MyInterface { void interfacemethod() { // arayüz metotunun gerçekleştirimi Eğer arayüzü gerçekleştiren sınıf soyut bir sınıfsa, arayüz metotlarını gerçekleştirmeyebilir. Bu durumda, arayüz metotları, soyut sınıfın alt sınıfları tarafından gerçekleştirilmelidir

61 Arayüz Gerçekleştirimi (2/2) Bir sınıf birden fazla arayüzü gerçekleştirebilir (çoklu kalıtım!) Örnek: class MyClass implements FirstInterface, SecondInterface { void firstinterfacemethod() { // FirstInterface arayüzündeki metotun gerçekleştirimi void secondinterfacemethod() { // SecondInterface arayüzündeki metotun gerçekleştirimi

62 Anonim Sınıflar (Anonymous Classes) Bir sınıfı aynı zamanda tanımlamayı ve bu sınıftan yeni nesne oluşturmayı sağlar Ya var olan bir sınıftan yeni sınıf türetilmeli ya da var olan bir arayüz gerçekleştirilmelidir Kullanım: new operatörü Yeni sınıf türetilecek sınıfın ya da gerçekleştirilecek arayüzün adı Yapıcı parametrelerini içeren parantezler Arayüz imlementasyonu ise, içi boş parantezler Anonim sınıfın içeriği Temel sınıf ya da arayüz metotlarının (yeniden) gerçekleştirimi

63 Anonim Sınıf Örneği MyInterface anonymous = new MyInterface() { public void interfacemethod() { // arayüz metotunun gerçekleştirimi ; anonymous.interfacemethod();

64 İstisnalar (Exceptions) (1/5) İstisnalar, hatalı durumların yakalanmasını ve kontrol edilmesini sağlarlar java.lang.exception sınıfından türetilirler Hatayla karşılaşan kod istisna ortaya çıkarır (throw an exception) Hatanın kontrol edilmesini sağlayan kod istisnayı yakalar (catch the exception) İstisna ortaya çıkaran kod örneği: boolean error; if (error) throw new Exception("Error condition");

65 İstisnalar (Exceptions) (2/5) Ortaya çıkan bir istisna normal program akışını yarıda keser İstisna yakalanana kadar metot çağırım yığınında (method call stack) yukarı doğru ilerler Bir istisnanın yakalanması örneği: try { // İstisna üretebilecek birşeyler yap catch (Exception e) { // Hata durumunu kontrol et String errormsg = e.getmessage(); //...

66 İstisnalar (Exceptions) (3/5) Metotlar bir istisna ortaya çıkarabileceklerini throws ifadesi ile belirtirler Bu metotları çağıran metotlar, ya bu istisnayı yakalamalıdır ya da throws ifadesini kullanmalıdır Örnek: void method() throws Exception { //... try { method(); catch (Exception e) { //...

67 İstisnalar (Exceptions) (4/5) Exception alt sınıfları tanımlanabilir throws ifadesi birden fazla istisna tipini belirtebilir Birden fazla catch ifadesi kullanılarak farklı istisna tiplerinin farklı şekillerde kontrol edilmesi sağlanabilir İstisna sadece ilk uyumlu catch ifadesi tarafından kontrol edilir Örnek: try { //... catch (ExceptionSubClass e) { //... catch (Exception e) { //...

68 İstisnalar (Exceptions) (5/5) İstisna oluşması durumunda dahi çalışması istenilen kod parçacıkları finally bloğu içerisine yazılır Örnek: try { //... catch (Exception e) { //... finally { // try-catch bloğundan sonra çalıştırılır

69 Denetlenmeyen İstisnalar (Unchecked Exceptions) (1/2) Normal istisnalar denetlenen istisnalardır (checked exceptions) Metotlar try-catch bloğuna sahip olmalı yada throws idadesini kullanmalıdır Derlenme zamanında bu kural kontrol edilir Denetlenen istisnalar gereksiz kod yazımına neden olabilir Bir istisna hiç bir zaman gerçekleşmeyecek olsa bile, kontrol edilmelidir (yakalanmalıdır) Denetlenmeyen istisnaların kontrol edilmesi zorunlu değildir Ancak eğer gerekli ise kontrol edilebilir java.lang.runtimeexception ve bu sınıfın alt sınıfları denetlenmeyen istisnalardır

70 Denetlenmeyen İstisnalar (Unchecked Exceptions) (2/2) RuntimeException sınıfının java.lang paketinde bulunan ve sık karşılaşılan alt sınıfları: ClassCastException: eğer temel sınıftan alt sınıfa dinamik çevrim gerşekleştirilemezse IllegalArgumentException: eğer bir metota, kabul edilemeyecek bir parametre gönderilirse IndexOutOfBoundsException: eğer varolmayan bir dizi elemanına erişilmeye çalışılmışsa NullPointerException: eğer nesne referansı hafızada yer almayan bir nesneyi gösteriyorsa ve nesnenin üyesine erişilmeye çalışılırsa (nesne değişkeni: null)

71 java.lang.object Tüm sınıfların temel sınıfıdır Tüm sınıflar Object sınıfının üyelerini miras alır (extends anahtar kelimesi ile belirtilse de belirtilmese de) tostring() metotu Nesnenin String olarak açıklamasını döndürür Bir nesne + operatörü kullanılarak bir string ile birleştirildiğinde otomatik olarak çağırılır Alt sınıflar tarafından yeniden tanımlanabilir Örnek: // aşağıdaki iki kullanım aynı sonucu üretir objstring = "Nesne: " + myobject; objstring = "Nesne: " + myobject.tostring();

72 Girdi/Çıktı Akışları (Input/Output Streams) Büyük miktardaki verilerin yığınlar halinde aktarılmasını sağlar Kullanım örnekleri: Doksyadan okumak, dosyaya yazmak Ağ veri transferi java.io.ioexception java.lang.exception sınıfının alt sınıfıdır Bir I/O işlemi başarısız olduğunda ya da yarıda kaldığında ortaya çıkar java.io.inputstream java.io.outputstream

73 java.io.inputstream (1/2) Aşağıdaki temel metotlara sahip soyut sınıf: abstract int read() throws IOException Girdi akışından bir byte okur. Okuduğu byte ı döndürür ya da akışın sonu geldiyse -1 döndürür int read(byte[] b, int off, int len) throws IOException En fazla len kadar byte okur ve okunan byte ları off pozisyonundan başlayarak b dizisine yerleştirir Eğer akışın sonuna gelindiyse -1 döndürür. Aksi halde okunan byte sayısını döndürür int read(byte[] b) throws IOException read(b, 0, b.length)ile aynı şeyi yapar void close() throws IOException Girdi akışını kapatır ve bu amaçla kullanılan bütün kaynakları sisteme iade eder

74 java.io.inputstream (2/2) Kullanım Örneği: InputStream is; byte[] buffer = new byte[1024]; int bytecount; //... try { while ((bytecount = is.read(buffer)) >= 0) { // okunan byte ları amaca uygun şekilde işle is.close(); catch (IOException e) { // hata durumlarını kontrol et

75 java.io.outputstream Aşağıdaki temel metotlara sahip soyut sınıf: abstract void write(int b) throws IOException Bir byte lık bilgiyi çıktı akışına yaz void write(byte[] b, int off, int len) throws IOException len kadar byte ı b dizisinin off pozisyonundan başlayarak oku ve çıktı akışına yaz void write(byte[] b) throws IOException write(b, 0, b.length) ile aynı şeyi yapar void close() throws IOException Çıktı akışını kapatır ve bu amaçla kullanılan bütün kaynakları sisteme iade eder

76 java.io.filterinputstream (1/2) java.io.inputstream sınıfından türetilmiş sınıf Girdi akışından okunan bilginin değiştirilmesini (filtrelenmesini) sağlar Yapıcısına iletilen bir InputStream üzerinde çalışır İletilen InputStream protected in değişkeninde tutulur Amaca uygun filtreleme işleminin gerçekleştirilmesi için bu sınıftan bir alt sınıf oluşturulmalıdır Alt sınıflar şu metotları yeniden tanımlamalıdır: int read() int read(byte[] b, int off, int len)

77 java.io.filterinputstream (2/2) Örnek: public class SimpleFilterInputStream extends FilterInputStream { public SimpleFilterInputStream(InputStream in) { super(in); public int read() throws IOException { int b = in.read(); if (b == 0) b = 1; return b; public int read(byte[] b, int off, int len) throws IOException { int bytecount = in.read(b, off, len); for (int i = 0; i < bytecount; i++) if (b[off + i] == 0) b[off + i] = 1; return bytecount;

78 java.io.filteroutputstream (1/2) java.io.outputstream sınıfından türetilmiş sınıf Çıktı akışına yazılan bilginin değiştirilmesini (filtrelenmesini) sağlar Yapıcısına iletilen bir OutputStream üzerinde çalışır İletilen OutputStream protected out değişkeninde tutulur Amaca uygun filtreleme işleminin gerçekleştirilmesi için bu sınıftan bir alt sınıf oluşturulmalıdır Alt sınıflar şu metotları yeniden tanımlamalıdır: void write(int b) void write(byte[] b, int off, int len)

79 java.io.filteroutputstream (2/2) Örnek: public class SimpleFilterOutputStream extends FilterOutputStream { public SimpleFilterOutputStream(OutputStream out) { super(out); public void write(int b) throws IOException { if (b == 1) b = 0; out.write(b); public void write(byte[] b, int off, int len) throws IOException { for (int i = 0; i < len; i++) if (b[off + i] == 1) b[off + i] = 0; out.write(b, off, len);

80 java.io.printstream FilterOutputStream sınıfından türetilmiş alt sınıf Çıktı akışına temel veri tiplerini (int, double vb.) ve nesnelerin string açıklamalarını yazmak için kullanılır Hiçbir zaman IOException ortaya çıkarmaz checkerror() metotu kullanılarak hata oluşup oluşmadığı kontrol edilebilir printf() stili, istenilen formatta yazmayı sağlayan, metotlar sunar Otomatik olarak bir alt satıra geçiren println() metotları sunar

81 java.lang.system «Final» sınıf Bu sınıftan yeni bir nesne oluşturulamaz (public yapıcısı yoktur) Sadece «static» olan sınıf üyeleri kullanılır InputStream in: standart girdi PrintStream out: standart çıktı PrintStream err: standart hata void gc(): çöp toplayıcısını (garbage collector) çalıştırır void exit(int status): JVM i sonlandırır Durum kodu: 0 ise normal sonlandırma, başka bir değerse anormal sonlandırma

82 Açıklama Notları (Annotations) Java kaynak kodları için üst veriler (metadata) Tanımlamalara uygulanır Sınıfların, değişkenlerin, metotların ve yerel değişkenlerin tanımlanmalarında üst veri bildirmek için karakteri ile başlar Ön tanımlı @SuppressWarnings Warning types: deprecation, unused, null

Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi

Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi Görsel Programlama Kalıtım, Temel/Alt Sınıf, Temel/Alt Sınıf Tip Dönüşümleri, Temel Sınıf Yapıcıları, super Anahtar Kelimesi, Sınıf Üyesi Görünürlüğü, Statik Üyeler ve Final Üyeler Sınıflar Programcı tarafından

Detaylı

Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi

Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi Görsel Programlama Metot Yeniden Tanımlama, Metot Aşırı Yükleme, Dinamik Metot Yükleme, Soyut Sınıflar, Soyut Metotlar, Arayüzler, Çoklu Kalıtım, Anonim Sınıflar ve java.lang.object Sınıflar Programcı

Detaylı

Görsel Programlama. Temel Veri Tipleri, Değişkenler, Operatörler, Akış Kontrolü, Sınıflar, Metotlar, Paketler ve JavaDoc

Görsel Programlama. Temel Veri Tipleri, Değişkenler, Operatörler, Akış Kontrolü, Sınıflar, Metotlar, Paketler ve JavaDoc Görsel Programlama Temel Veri Tipleri, Değişkenler, Operatörler, Akış Kontrolü, Sınıflar, Metotlar, Paketler ve JavaDoc Sözcüksel Kurallar Java programları aşağıdaki bileşenlerin bir kolleksiyonudur: Boşluk

Detaylı

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

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

Detaylı

// hataları işaret eden referans

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

Detaylı

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

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) BBS-515 Nesneye Yönelik Programlama Ders #9 (16 Aralık 2009) Geçen ders: Java Applet lerde bileşen yerleştirme türleri ( applet layouts

Detaylı

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2 1 Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2 Eclipse Mimarisi 4 Java Teknolojisine Genel Bir Bakış 6 Taşınabilirlik 6 Java Derleyicisi ve Bytecode 6 Java Sanal Makinası (Java Virtual Machine - JVM)

Detaylı

Programlama Dillerinde Kullanılan Veri Tipleri

Programlama Dillerinde Kullanılan Veri Tipleri Programlama Dillerinde Kullanılan Veri Tipleri Taban/Biçim Basic Paskal C/C++/C#/Java 10 (Decimal ) - - - 16 (Hexadecimal) &hsayı veya &Hsayı $sayı 0xsayı veya 0Xsayı Üstel eüs veya Eüs eüs veya Eüs eüs

Detaylı

BİL-141 Bilgisayar Programlama I (Java)

BİL-141 Bilgisayar Programlama I (Java) 1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,

Detaylı

JAVA DA GİRİŞ/ÇIKIŞ İŞLEMLERİ. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 9 1

JAVA DA GİRİŞ/ÇIKIŞ İŞLEMLERİ. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 9 1 JAVA DA GİRİŞ/ÇIKIŞ İŞLEMLERİ Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 9 1 G/Ç işlemleriyle uygulamalara neler yaptırabiliriz... Dosya işlemleri Dosyadan okuma Dosyaya yazma Verilerin Aktarılması

Detaylı

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

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. 1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. [10 puan] int param = 30; int result = 300; if (param > 45) result

Detaylı

BİL132 Bilgisayar Programlama II

BİL132 Bilgisayar Programlama II BİL132 Bilgisayar Programlama II 8. Olağandışı durumlar (exceptions) Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü Yüksel Tarhan Olağandışı durum Kütük bulunamadı Diskte yer kalmadı Nesne referans

Detaylı

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

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kalıtım Kavramı Java da Çok Biçimlilik Kavramı Fonksiyonların Çok Biçimliliği Yapıcı Fonksiyonun Çok Biçimliliği Java da Kalıtım Kavramı 4 Kalıtım;

Detaylı

İç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

İç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 İçerik Java da İşleçler, Kontrol Akış ve Döngü Deyimleri Geçen ders: Nesne ve Sınıf Kavramları Nesne ve Sınıf ın Java da gerçekleştirilmesi Bu ders: Java da işleçler ( operators ) Java da kontrol-akış

Detaylı

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

Java da İşleçler, Ders #3 (4 Kasım 2009) Java da İşleçler, Kontrol Akış ve Döngü Deyimleri BS-515 Nesneye Yönelik Programlama Ders #3 (4 Kasım 2009) İçerikç Geçen ders: Nesne ve Sınıf Kavramları Nesne ve Sınıf ın Java da gerçekleştirilmesi Bu

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 5 Nesneye Yönelik Programlamaya Giriş Bu

Detaylı

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ Java programlama dili, Java SUN bilgisayar şirketi tarafından 1991 yılında geliştiril Program bloklar halinde yazılır ve bloklar { } ile oluşturulur. Komutlar aynı satıra

Detaylı

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama BMS-302 İleri Web Programlama İş Parçacığı (Thread) ve Soket (Socket) Programlama İş Parçacıkları (Threads) Ana programa paralel çalışan işler oluşturmak için kullanılır Makine birden fazla çekirdeğe sahipse

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Programlama Dili ve Yazılım Tasarımı, Altuğ B. Altıntaş, Papatya

Detaylı

Yazılım Kodlama ve İ simlendirme Standartları v1.0

Yazılım Kodlama ve İ simlendirme Standartları v1.0 Yazılım Kodlama ve İ simlendirme Standartları v1.0 İçerik Yazılım Kodlama ve İsimlendirme Standartları... 2 1. Amaç... Hata! Yer işareti tanımlanmamış. 2. Kapsam... Hata! Yer işareti tanımlanmamış. 3.

Detaylı

Kalıtım (Inheritance)

Kalıtım (Inheritance) Kalıtım (Inheritance) Kocaeli Üniversitesi Kalıtım (Inheritance) Kodların çok kez kullanımı (Software reusability) Mevcut Sınıflardan Yeni Sınıflar Oluşturma Mevcut sınıfın değişken ve fonksiyonları kullanılabilir.

Detaylı

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

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Örneğin; bir öğrenci, sıra, çember, bir buton birer nesnedir. Bir

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor

Detaylı

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM 2014) //Class (Sınıf) // Sınıf (class) soyut veri tipidir. // Nesne (object) sınıfın somutlaşan bir cismidir. // static : nesnesi oluşturulmaz.

Detaylı

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance Önemli noktalar Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance public class Test { // çalışır İnsan insan = new Çiçekçi();

Detaylı

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

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama İçerik Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili kavramlar Bu hafta:

Detaylı

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

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ C# Yazım Kuralları 1 İçindekiler C# Yazım Kuralları Veritipleri Değişkenler Operatörler Sınıflar Nesneler, Özellik, Metot ve Olay Bileşenler 2 C# yazım kuralları Deyimlerde büyük küçük harf yazıma uyulmalı

Detaylı

İÇİNDEKİLER VII İÇİNDEKİLER

İÇİNDEKİLER VII İÇİNDEKİLER İÇİNDEKİLER VII İÇİNDEKİLER 1 JAVA 8 NEDİR? 1 Java Nasıl Çalışır? 3 HOTSPOT Teknolojisi Nedir? 5 Çöp Toplayıcı (GarbageCollector) Nedir? 5 Jar Nedir? 6 Java Geliştirme Ortamı 7 Açıklama Satırıları 8 Nesnel

Detaylı

Java da Program Denetimi ve Operatörler

Java da Program Denetimi ve Operatörler Java da Program Denetimi ve Operatörler 1 Atamalar int a ; a=4 ; // doğru bir atama 4=a ; // yanlış bir atama! 2 Temel (Primitive) Tiplerde Atama int a, b ; a=4 ; b=5 ; a=b ; Sonuç : a=5, b=5 3 Nesneler

Detaylı

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Ders #2 (2 Kasım 2009) İçerikç Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili

Detaylı

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

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

Detaylı

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5 İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5 2 VISUAL STUDIO GELİŞTİRME

Detaylı

Sınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar

Sınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar Nesneler ve Türler Sınıflar ve Yapılar Arasındaki Farklılıklar Sınıf Üyeleri Değer ve Referans Türde Olan Aktarımlar Yapıcılar ve Statik Yapıcılar Read-Only Statik Sınıflar Object Sınıfı Sınıflar Sınıflar

Detaylı

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI İÇİNDEKİLER VII İÇİNDEKİLER 1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.NET Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5 2 VISUAL STUDIO 2012 GELİŞTİRME

Detaylı

Sunum İçeriği. Programlamaya Giriş 22.03.2011

Sunum İçeriği. Programlamaya Giriş 22.03.2011 Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon

Detaylı

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1 Paket Erişimleri Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1 Erişim Erişim konusunda iki taraf vardır: Kütüphaneyi kullanan kişiler (client) Kütüphaneyi yazan kişiler Altuğ B. Altıntaş

Detaylı

1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9

1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9 VII 1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9 2 KOD YAZMAYA BAŞLANGIÇ 11.Net Framework 11 Yeni Proje Oluşturmak

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

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

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 2 C# Programlama Dili Elemanları Bu bölümde;

Detaylı

Operator Aşırı Yükleme (Operator OverLoading)

Operator Aşırı Yükleme (Operator OverLoading) Operator Aşırı Yükleme (Operator OverLoading) Operator Aşırı Yükleme Operatör metotları bir nesnenin ifadeler içinde operatörlerle kullanıldığı zaman davranışını belirler. Temel veri türleri için operatörler

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları METOTLAR Nesneye yönelik programlama dillerinde genellikle fonksiyonlar metot olarak isimlendirilirler. Metot ve fonksiyon olarak ifade edilecek kavramlar aynı anlamda kullanılacaktır. Her çalışan C# programı

Detaylı

Java Programlama. İstisnalar, Numaralandırmalar, Otomatik Kutulama ve Açıklama Notları

Java Programlama. İstisnalar, Numaralandırmalar, Otomatik Kutulama ve Açıklama Notları Java Programlama İstisnalar, Numaralandırmalar, Otomatik Kutulama ve Açıklama Notları İstisnalar (Exceptions) Programlar beklenmedik durumlar ortaya çıkarabilir Bu beklenmedik durumlar, önceden, hata kodlarına

Detaylı

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1 Görsel Programlama DERS 02 Görsel Programlama - Ders02/ 1 Kodun Tekrar Kullanımı ve Kalıtım(Inheritance) Nesneye yönelik programlamanın diğer programlama paradigmalarına karşı bir avantajı kodun yeniden

Detaylı

Arayüz soyut metotların oluşturduğu bir koleksyondur. Bir sınıf arayüzü çalıştırırken arayüzün sahip olduğu soyut metotları da miras alır.

Arayüz soyut metotların oluşturduğu bir koleksyondur. Bir sınıf arayüzü çalıştırırken arayüzün sahip olduğu soyut metotları da miras alır. Bölüm 20 20 Arayüzler Arayüz bir sınıf değildir. Arayüz yazmak sınf yazmaya çok benzer ancak ikisi birbirinden farklı konseptlerdir. Sınıf bir nesnenin özelliklerini ve davranışlarını belirtirken; bir

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Genel Bilgiler Ders konuları 1. Programlamaya Giriş 2. Program Denetimi ve Operatörler 3. Nesnelerin

Detaylı

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

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

Detaylı

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ Amaçlar: 1- Arayüzler (Interfaces) 2- Soyut Sınıflar ve Metotlar(Abstract classes and methods) Uygulama-1: interface:cihaz ac() kapat() goster(string) class: TV class: LCD class: Projector... Cihaz adındaki

Detaylı

Java Programlama. Diziler, Döngüler ve Karakter Katarları (String Sınıfı)

Java Programlama. Diziler, Döngüler ve Karakter Katarları (String Sınıfı) Java Programlama Diziler, Döngüler ve Karakter Katarları (String Sınıfı) Diziler (1/2) Belirli bir tipte, sınırlı sayıda değer içeren nesnelerdir Temel veri tiplerinde (int, double) veya sınıf tiplerinde

Detaylı

Erişim konusunda iki taraf vardır:

Erişim konusunda iki taraf vardır: Erişim Erişim konusunda iki taraf vardır: Kütüphaneyi kullanan kişiler (client) Kütüphaneyi yazan kişiler Paket (package) Paketler kütüphaneyi oluşturan elemanlardır. PaketKullanim.java Varsayılan Paket

Detaylı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ 2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 7 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Java Programlama Dili ve Algoritmadan Kodlamaya Geçiş) Yrd. Doç. Dr. İbrahim Küçükkoç

Detaylı

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

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN TEMEL AMAÇLAR Bir dairenin yarıçapını kullanıcıdan alarak dairenin alanını hesaplamak istediğimizi düşünelim. Eğer girilen değer

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Diziler ile Pointer Arası İlişki Bir dizi adı sabit bir pointer gibi düşünülebilir. Diziler ile pointer lar yakından ilişkilidir. Pointer lar değişkenleri gösterdikleri gibi,

Detaylı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 JAVA DA PROGRAM DENETİMİ VE OPERATÖRLER Java programlama dilinde temel tipleri ve nesneleri yönlendirmek ve değiştirmek için operatörler kullanılır. Atamalar sağ taraftaki

Detaylı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 1 (Değerler, Değişkenler, İşleçler, Tip Dönüşümleri, Mantıksal Operatörler) Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler

Detaylı

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

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA BLM-111 PROGRAMLAMA DİLLERİ I Ders-12 Fonksiyonlar Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı

Detaylı

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

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek Boyutlu Diziler Yrd. Doç. Dr. İlhan AYDIN 1 Problem 100 adet sayı okumak istediğimizi düşünelim. Bu sayıların ortalaması hesaplanacak ve sayıların kaç tanesinin

Detaylı

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım Nisan 2009 9031150 - Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım Referans: Bugün: 1. Ders Notları. Ders #4.1 Tekrar Dowhile ve for döngüleri Diziler Göstergeler 1. Tekrar for döngüleri Genel yazılımı

Detaylı

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir.

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir. PART 5 5. Denetleyici Türleri Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir. Java Erişim Kontrol Denetleyicileri (Access Control Modifiers) Erişim Harici Denetleyiciler

Detaylı

Java da Program Denetimi ve Operatörler. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1

Java da Program Denetimi ve Operatörler. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1 Java da Program Denetimi ve Operatörler Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1 Atamalar int a ; a=4 ; // doğru bir atama 4=a ; // yanlış bir atama! Altuğ B. Altıntaş 2003 Java ve Yazılım

Detaylı

Java Temel Özellikleri

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

Detaylı

/*int sayi1, sayi2,toplam=0;

/*int sayi1, sayi2,toplam=0; static void Main(string[] args) { //--------------------1. ders-------------------- -------- / ekrana yazma ekrandan okuma sayısal değerleri okuma yer tutucular basit tip dönüşümü / /int sayi1, sayi2,toplam=0;

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

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

Detaylı

ByteArrayOutputStream

ByteArrayOutputStream ByteArrayOutputStream java.io java.lang.object java.io.outputstream java.io.bytearrayoutputstream Kılgıladığı Arayüzler: Closeable, Flushable, AutoCloseable public class ByteArrayOutputStream extends OutputStream

Detaylı

Hafta 13 Fonksiyonlar

Hafta 13 Fonksiyonlar BLM111 Programlama Dilleri I Hafta 13 Fonksiyonlar Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı fonksiyonları ve kütüphane fonksiyonlarını birlikte kullanırlar.

Detaylı

Lambda İfadeleri (Lambda Expressions)

Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri, değişkenlere değer atamak için kullanılan sadeleştirilmiş anonim (isimsiz) fonksiyonlardır. Bu fonksiyonlar matematikteki ve bilgisayar bilimlerindeki

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

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

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

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

Detaylı

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

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

Detaylı

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak. Selçuk Üniversitesi Mühendislik Fakültesi Harita Mühendisliği Bölümü Final Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :09.01.2013, 60 dak. Dikkat!!! Soru kitapçığında ve

Detaylı

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

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

Detaylı

Dizi ( Array ) ve Dizgi ( String )

Dizi ( Array ) ve Dizgi ( String ) Java da Dizi ( Array ) ve Dizgi ( String ) Tanımlama BBS-515 Nesneye Yönelik Programlama Ders #6 (25 Kasım 2009) İçerikç Geçen ders: Kalıtım ( inheritance ) -- tekrar ziyaret Java da super kullanımı Java

Detaylı

1 JAVASCRIPT NEDİR? 1

1 JAVASCRIPT NEDİR? 1 İÇİNDEKİLER IX İÇİNDEKİLER 1 JAVASCRIPT NEDİR? 1 2 TEST ORTAMINI TANIMAK (FİREFOX VE FİREBUG) 5 Firefox 6 Firebug 8 CSS Sekmesi 10 DOM Sekmesi 11 Net ve Çerezler Sekmeleri 11 Script Sekmesi 11 Konsol Sekmesi

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonu Referans ile Çağırma (Call by Reference) Bir fonksiyona gönderilen parametrenin normalde değeri değişmez. Fonksiyon içinde yapılan işlemlerin hiçbiri argüman değişkeni

Detaylı

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

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu BBS515 Nesneye Yönelik Programlama Ders 2 Zümra Kavafoğlu https://zumrakavafoglu.github.io/ Bu derste neler öğreneceğiz? IntelliJ ile proje oluşturma Yorum satırları Sınıf deklarasyonu İsimlendirme kuralları

Detaylı

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

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

Detaylı

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

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA Muhammet BAYKARA 1 İlkel Veri Türleri Type Name Kind of Value Memory Used Size Range byte integer 1 byte -128 to 127 short integer 2 bytes -32768

Detaylı

public static int Toplam int x, int y

public static int Toplam int x, int y static Kavramı 1 İçinde bulunduğu sınıftan nesne oluşturulmadan veya hiç bir nesneye referans olmadan kullanılabilen üyeler static olarak nitelendirilir. Metotlar ve alanlar static olarak tanımlanabilir.

Detaylı

Java Programlama. Java ya Genel Bakış

Java Programlama. Java ya Genel Bakış Java Programlama Java ya Genel Bakış Java Programlama Dili Nesneye yönelik (object-oriented) programlama dili C++ ile ilişkili bir dil Veri tipleri: Temel veri tipleri (int, double vs.) Sınıflar İşletilen

Detaylı

BTEP243 Ders 3. class Yazım Kuralı:

BTEP243 Ders 3. class Yazım Kuralı: BTEP243 Ders 3 Sınıflar ve Nesneler Nesne tabanlı programlamada, programlamanın temeli sınıflardır (class). Nesnelerin yaratılmasında taslak (blueprint) görevi görür. Sınıflar; o Nesnelerin özelliklerinin

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA Metotlar Şu ana kadar yaptığımız örneklerde hep önceden hazırlanmış ReadLine(), WriteLine() vb. gibi metotları kullandık. Artık kendi metotlarımızı yapmanın zamanı geldi. Bilmem

Detaylı

MOBIL UYGULAMA GELIŞTIRME

MOBIL UYGULAMA GELIŞTIRME MOBIL UYGULAMA GELIŞTIRME PELIN YILDIRIM FATMA BOZYIĞIT YZM 3214 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Bu Derste Java Programlama (Crash Course) Class, Nesne, Metodlar, Overloading,

Detaylı

JAVADA DİZİ İŞLEMLERİ

JAVADA DİZİ İŞLEMLERİ JAVADA DİZİ İŞLEMLERİ Javada diziler nesnedirler, cdeki gibi hafızada yer kaplayan pointer değillerdir. Javada diziler, cye göre daha güvenilirdir. Dizilerin elemanlarına gelişigüzel değerler atayamazsınız.

Detaylı

1 PROGRAMLAMAYA GİRİŞ

1 PROGRAMLAMAYA GİRİŞ İÇİNDEKİLER IX İÇİNDEKİLER 1 PROGRAMLAMAYA GİRİŞ 1 Problem Çözme 1 Algoritma 1 Algoritmada Olması Gereken Özellikler 2 Programlama Dilleri 6 Programlama Dillerinin Tarihçesi 6 Fortran (Formula Translator)

Detaylı

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

Detaylı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 1 Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler ve Değişkenler Values & Variables 2 1 Değişkenlerin Özellikleri Tipi

Detaylı

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

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

Detaylı

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

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

Detaylı

Pointers (İşaretçiler)

Pointers (İşaretçiler) Pointers (İşaretçiler) Pointers (İşaretçiler) Verilerin bilgisayar hafızasında tutulduğu fiziki alan adres olarak tanımlanabilir. Adres, hem donanımla hem de yazılımla ile ilişkilidir. Donanımsal açıdan

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

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

Detaylı

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak:  Published by Juan Soulié Kullanılacak kaynak: http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié C++ Nedir? Arttırılmış C demektir ve C dilinin geliştirilmiş halini yansıtır. C++ öğrenmeden önce herhangi bir programlama

Detaylı

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir; abstract Sınıflar 1 Özet sınıflar ya da özet metotlar abstract anahtar sözcüğü kullanılarak tanımlanırlar. Bir temel sınıf içinde bildirilen abstract metotların içeriği boştur. Kendisinden yeni bir instance

Detaylı

Nesneye yönelik: Javada herşey bir nesnedir. Java nesne yönelimli olduğu için kolayca geliştirilebilir.

Nesneye yönelik: Javada herşey bir nesnedir. Java nesne yönelimli olduğu için kolayca geliştirilebilir. BÖLÜM 1 Java Programlamaya Giriş Java programlama dili ilk olarak başında James Gosling`n bulundugu Sun Microsystems tarafından 1995 yılında, Sun Java Platformunun ana unsuru olarak geliştirilmeye başlandı.

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama Nesne Yönelimli Programlama Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu, M. Özbayoğlu, M. Erten, O. Ergin kitabı kullanılarak hazırlanmıştır. Konular Giriş Alt Sınıflar

Detaylı

Pointer Kavramı. Veri Yapıları

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

Detaylı

WWW.OZTEKHABERLESME.COM

WWW.OZTEKHABERLESME.COM ÖZTEK HABERLEŞME APİ DÖKÜMANI WWW.OZTEKHABERLESME.COM VER:6.1.0 ~ 1 ~ İÇİNDEKİLER BİLMENİZ GEREKENLER... 3 HTTP POST (XML) YÖNTEMİ... 4 TANIMLAR... 4 ÖRNEK XML YAPISI... 4 PHP ÖRNEK KOD... 5 Örnek Sayfayı

Detaylı

BİL-141 Bilgisayar Programlama I (Java)

BİL-141 Bilgisayar Programlama I (Java) 1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,

Detaylı