Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA

Benzer bir sunumlar


... konulu sunumlar: "BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA"— Sunum transkripti:

1 BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
Dr. Aslı Ergün 1

2 Scanner Sınıfı import java.util.Scanner; public class ScannerSinifi {
public static void main(String args[]){ Scanner input = new Scanner(System.in); //Kullanıcıdan int değer alabilmek için Scanner sınıfını kullandık System.out.print("Lütfen ilk sayiyi giriniz: "); int sayi1 = input.nextInt(); //int değer alıyoruz System.out.print("Lütfen ikinci sayiyi giriniz: "); int sayi2 = input.nextInt(); //int değer alıyoruz System.out.println("Toplam: "+(sayi1+sayi2)); }

3 Scanner veri okuma fonksiyonları
nextLine() -> String nextInt() -> Integer nextByte() -> Byte nextFloat -> Float nextDouble -> Double

4 Veri Türleri Çevirmek İçin
Integer x = Integer.valueOf(str); // veya int y = Integer.parseInt(str);

5 Sınıflar Gerçek dünyada, ayrı ayrı tanımlanabilen herşey bir nesnedir.
Gerçek dünyada, benzer karakteristik ve davranışlara sahip nesneler bir sınıf (class) ile temsil edilir. Her nesnenin özellikleri(attributes), ve davranışları (behaviors) vardır.

6 Örnek Sınıf: Bisiklet 26.05.2019 class Bisiklet { int hiz = 0;
int vites = 1; void vitesDegistir(int yendiDeger) { vites = yeniDeger; } void hizlan(int artir) { hiz = hiz + artir; void frenYap(int azalt) { hiz = hiz - azalt; void durumListele() { System.out.println(" hiz:"+hiz+" vites:"+vites);

7 Nesnelerin Yaratılması
class BisikletOrnek { public static void main(String[] args) { Bisiklet b1 = new Bisiklet(); Bisiklet b2 = new Bisiklet(); b1.hizlan(10); b1.vitesDegistir(2); b1.durumListele(); b2.hizlan(40); b2.vitesDegistir(3); b2.durumListele(); }

8 Metodlar Nesne tabanlı programlamada metod şeklinde kullanımımız düz programlamada fonksiyon olarak karşımıza gelmektedir. f z a b c Gelen parametreler, metod içinde işleme Sokulup, elde edilen bir değer döndürülür. Hiç parametre almayan ve hiç parametre Üretmeyen metodlarda bulunmaktadır

9 Metodların özellikleri
Class içerisinde tanımlanmalıdır Modifier bulunmalıdır (private,public,protected) return type herhangi bir veri tipi yada void olabilir Metod ismi belirtilmelidir Metod parametreleri parantez içerisinde belirtilmelidir . Eğer parametre almayacaksa parantez açılıp kapatılır Metod içerisinde kod blokları { işaretiyle başlar } işaretiyle sonlandırılır Metod parametrelerini ayırmak için , işareti kullanılır Exception lar metodların yanında { işaretinden önce belirtilebilir

10 Metod Türleri Önceden Tanımlanmış Metotlar : Java kütüphanelerinde bulunan hazır metotlardır. Örneğin : Math sınıfına ait olan pow(x,y) metodu, x ve y olarak iki değer alır ve bir değer döndürür. Kullanıcı Tanımlı Metotlar: Bizim yazdığımız ve oluşturduğumuz metotlardır.

11 Metod Imzası(signature)
erişim_tipi (public,private) static (olabilir, olmayabilir ) dönüş_tipi(void ,int vb) foksiyon_ismi(parametreler){ // Gövde kısmı }

12 Erişim Tipleri: public: public damgası bir değişkeni, metodu ya da sınıfı niteleyebilir. Niteledikleri öğeler herkes tarafından kullanılabilir. Private: Bazı değişken, metot ya da sınıflara başka sınıftaki kodların erişmesini engellemek, yalnız aynı sınıftaki kodlar erişebilmesi için kullanılır. Protected: Bir sınıf içindeki değişken ve metotlara alt-sınıfların erişebilmesini, ama paket içindeki ya da program içindeki başka kodların erişmesini engellemek isteyebiliriz

13 Static Bir sınıfa ait anlık değişken tanımlandığında, o sınıfa ait her bir nesne içinde söz konusu değişkenin bir kopyası oluşur. static damgalı değişkenlere ana bellekte ancak birer tane yer ayrılır, her nesne için ayrı yer ayrılmaz. Böylece, o sınıfa ait bir çok nesne yaratılsa bile, static değişkenin değerini ortak olarak kullanırlar. Değişken veya metodda kullanılabilirler. Örn: static int m= 5; static double b ; static void renkSec (Color color) { .... }

14 Hiç parametre almadan metod çağırılması
public static void Ornek(int a){ int i; for(i=0;i<a;i++){ System.out.println("Java"); }} public static void Main(String[] Args){ Ornek(10); }

15 2 tamsayı alıp, 1 tamsayı döndüren metod
public class Ornekler { public static void main(String[] args) { System.out.println(usAl(1,3)); }

16 public static int usAl(int taban,int us) { int sonuc=1; for(int i=1;i<=us;i++) sonuc=sonuc*taban; return sonuc; }

17 String alıp String Döndüren Metod
package ornekler; // kelime tersten import java.util.Scanner; public class Ornekler { public static String tersCevir(String kelime){ String sonuc=""; for(int i=kelime.length()-1;i>=0;i--) { sonuc+=kelime.charAt(i); } return sonuc; public static void main(String[] args){ Scanner scn=new Scanner(System.in); System.out.println("kelime gir."); String kelime=scn.nextLine(); System.out.println(tersCevir(kelime));

18 Java Veri Tiplerinin Çevrilmesi
Int to String String strI = Integer.toString(i); String strI = "" + i; Strig to Int İmport java.lang.Integer Integer x = Integer.valueOf(str); // veya int y = Integer.parseInt(str);

19 Kurucu Metod Her sınıf için, ilk çalışan özel bir metot vardır. Bu metoda kurucu (kurucu) diyoruz. New komutu ile nesne olan her sınıf önce bu metodu çalıştırır. class Daire{ static int yarıçap; static double çevre; static double alan; final static double pi = 3.14; // Kurucu metodunun tanımı public Daire( int r ){ yarıçap = r ; }; public static void main (String args[]) { Daire d1 = new Daire(7); }

20 Örnek class Küp02 { static int uzunluk; static int genişlik; static int yükseklik; public int hacimBul (int u, int g, int y) { uzunluk = u; genişlik = g; yükseklik = y; return uzunluk * genişlik * yükseklik; } public static void main(String[] args) { Küp02 obj = new Küp02(); int hacim = obj.hacimBul(2,2,2); System.out.println("Küp02 'nin Hacmi : " + h);

21 Aşırı yükleme(overloading)
Java, aynı isme sahip birden fazla metodlar tanımlamamıza izin vermektedir. Bu şekilde birden fazla aynı metodun yazılmasına overloading, aşırı yükleme adı verilir. Metodların parametre türü veya sayısı farklı olmalıdır.

22 class Adder{ static int add(int a,int b){return a+b;} static int add(int a,int b,int c){return a+b+c;} } class TestOverloading{ public static void main(String[] args){ System.out.println(Adder.add(11,11)); System.out.println(Adder.add(11,11,11)); }}

23 Kalıtım(Miras) Bir sınıfta tanımlanmış değişkenlerin ve metotların yeniden tanımlanmasına gerek olmaksızın yeni bir sınıfa taşınabilmesidir. Bir sınıftan bir alt-sınıf (subclass) türetilir. Türetilen alt-sınıf, üst-sınıfta tanımlı olan bütün değişkenlere ve metotlara sahip olur. class A { int i, j; } class B extends A { int k;

24 Aşırı Yazım(overriding)
Bir alt-sınıfta tanımlanan bir metodun, üst-sınıfında tanımlı bir başka metodun yerine kullanmaya zorlanmasına denir. class Arac{ void run(){System.out.println("Arac calısıyor");} } class bisiklet extends Arac{ void run(){System.out.println("Bisiklet calısıyor");} public static void main(String args[]){ bisiklet obj = new bisiklet(); obj.run();

25 Çok Biçimlilik(polymorphism)
Bir tek metot adıyla, birden çok farklı  metotları koşturma özeliğine, java’da polymorphism denir.  

26 class Sekil { double boyut1; double boyut2; Sekil(double a, double b) { boyut1 = a; boyut2 = b; } double alan() { System.out.println("Şeklin alanı henüz tanımlı değil! "); return 0; } } class Dikdortgen extends Sekil { Dikdortgen(double a, double b) { super(a, b); System.out.println("Dikdörtgenin alanı."); return boyut1 * boyut2; class Ucgen extends Sekil { Ucgen(double a, double b) { System.out.println("Üçgenin alanı."); return boyut1 * boyut2 / 2;

27 class AlanBul { public static void main(String args[]) { Sekil f = new Sekil(15, 15); Dikdortgen r = new Dikdortgen(7, 4); Ucgen t = new Ucgen(9, 6); Sekil ref; ref = r; System.out.println("Alan = " + ref.alan()); ref = t; ref = f; } }

28 Super Metodu Bir alt-sınıf ne zaman üst-sınıfına erişmek isterse super anahtar sözcüğünü kullanabilir. class Kutu { double en; double boy; double yukseklik; Kutu(double e, double b, double y) { en = e; boy = b; yukseklik = y; } class AltKutu extends Kutu { double agr; AltKutu(double e, double b, double y, double a) { super(e, b, y); agr = a; } }

29 Final Bu terim nitelediği öğenin sabit kılındığını ve değiştirilemeyeceğini belirtir. Eğer final belirtkesi class öğeleri için kullanılırsa, o class’ın alt-sınıfları yaratılamaz. class test { // bu değişkenin değeri değişemez final int sayac = 21; // bu metot üzerine yazılamaz final int deneMetot(int a, int b) { }

30 class A { final void deneme() { System. out
class A { final void deneme() { System.out.println("Bu bir final metot’tur."); } class B extends A { void deneme() { // HATA! Override edilemez. System.out.println("Geçersidir!"); }} final class A { // ... // bu alt sınıf yaratılamaz. class B extends A { // HATA!

31 abstract absract ifadesi soyut class veya soyut metot yaratır. Soyut metotların adı, değişkenleri ve değer-tipi (return type) belirtilir, ama metot gövdesi yazılamaz. Abstract class’tan nesne yaratılamaz. Abstract sınıf kullanılarak alt sınılar yaratılır. abstract class Araba{ private int agirlik; private String renk; private String model; abstract void setrenk (Color color); public void setModel(String model) { this.model = model; }

32 // soyut sınıf abstract class A { // soyut sınıf içinde en az bir soyut bir metot yer almalıdır abstract void soyMet(); // soyut sınıf içinde somut metot olabilir void somMet() { System.out.println("Ben somut bir metodum."); } } class B extends A { void soyMet() { System.out.println("Sen soyut bir metotsun."); } class UygulamaPrg { public static void main(String args[]) { B b = new B(); b.soyMet(); b.somMet(); } }

33 Paketler(Packages) Java programları paketlerden (packages) oluşur. Paketlerin içinde sınıflar ve arayüzler (classes and interfaces) bulunur. Ayrıca, paketler başka paketlerin dışalımını (import) yapabilir. Bir paket içinde tanımlanan sınıflar ve arayüzler her istenildiğinde tekrar takrar kullanılabilirler

34 Package kullanım örneği
package paket_adı ; import paket_listesi; { //paket gövdesi }


"BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA" indir ppt

Benzer bir sunumlar


Google Reklamları