Java Programlama Dili
|
|
- Kudret Gür
- 6 yıl önce
- İzleme sayısı:
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
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
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 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 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
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 ) 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
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 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)
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 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. [10 puan] int param = 30; int result = 300; if (param > 45) result
Detaylı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
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, 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, 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 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 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 İş 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
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
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 İç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) 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. Örneğin; bir öğrenci, sıra, çember, bir buton birer nesnedir. Bir
Detaylı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 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 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 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ı 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 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 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 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 İÇİ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
İÇİ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
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
İÇİ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
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 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
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ı
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 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 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ı
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ı İ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 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.
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
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 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Ü
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ı) 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 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İŞ
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 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
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 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 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 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 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 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
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.
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 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 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;
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 (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ı
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 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
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, 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 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 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 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.
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ş 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 )
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
İÇİ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 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 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 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 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
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 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 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 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 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 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İŞ
İÇİ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
İÇİ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 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 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ü Java Programlama Dili Java bayt kodları Java Sanal Makineleri üzerinde
Detaylı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ı
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é
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 Ö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.
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 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ı- 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
Ö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)
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ı