Java`da İlkel Veri Tipleri

advertisement
15.06.2013 – Wissen Akademie Java / Android Ders Notları #1
Java’da İlkel Veri Tipleri (Primitive Data Types)
Java’da Farklı Türde Değerler Tutmak İçin, Farklı Değişkenler Vardır. Bu Değişkenlere İlkel Denmesinin
Sebebi, Sadece Veri Tutmak İçin Kullanılmalarıdır. Size, Kullanmanız İçin Herhangi Bir Method,
Değişken Sunmazlar. Java’da OOP İçin Bu İlkel Veri Tiplerinin Hepsinin Karşılığı Olan Objeler Vardır.
Ve Bunların Isimlendirmesi Değişken Tipleriyle Aynıdır. Tek Fark, Objelerin Adlarının Baş Harfleri
Büyüktür.
Örn : int -> Integer
double -> Double
byte :
8 Bit’lik Veri Tutar -128, 127 Arasındadır. Büyük Boyutlu Veri Blokları, İkili Veri (Binary) Tutulmasında
İşe Yarar.
short :
16 Bit Sayı Tutar. -32768, 32767 Arasında Değer Alır. Büyük Boyutlu Veri Bloklarında, Integer’a Göre
Daha Az Yer Kaplar.
int :
32 Bit Sayı Tutar. -2 147 483 648, 2147 483 647 Arasında Değer Alır.
long :
64 Bit Sayı Tutar. -9 223 372 036 854 775 808 ve 9 223 372 036 854 775 807 Arasındaki Değerleri Alır.
Int Yetmediği Zaman Kullanılmalıdır. Sistem Zamanı & Dosya Boyutları, Bu Formattadır.
double :
64 Bit Küsüratlı Sayı Tutar. Büyük Değerler Tutmasına Karşın, Küsüratlı Değerler İçin Hassas Değildir.
float :
32 Bit Küsüratlı Sayı Tutar. Küsüralı Değerler İçin Hassas Değildir. Ama, Hesaplanması, Erişilmesi
Double’a Göre Çok Daha Kısadır. Genellikle Oyunlarda Koordinat Sistemlerinde Kullanılır
boolean :
Durum Değişkenidir. Sadece true ve false değerlerini Alır.
char :
16 Bit UTF-8 Kodlamasında Karakter Tutar. Karakterlerin ASCII Değerlerinin Karşılığı int’e cast Edilip
Alınabilir. 0, 65 535 Arası Değerler Alır.
String :
String aslında bir Objedir. İlkel Veri Tipi Değildir. Ama İlkel Veri Tipi Şeklinde String a = “Selam” Gibi
Kullanılabilir.
Emir Civaş – [email protected]
Sayfa 1
15.06.2013 – Wissen Akademie Java / Android Ders Notları #1
Java İsimlendirme Şekli (Naming Conventions)
Conventions Kelime Olarak Gelenek Anlamına Gelir. Java Programlama Dilinde, Objeler,
Methodlar, Değişkenler İçin İsimlendirme Geleneği Mevcuttur.Uygulamak Zorunlu Olmamasına Karşı,
Tüm JDK Bu Geleneklere Yazılmış Olduğu İçin, Yazım Geleneğine Uymak Mantıklıdır.
Ne
Örnek
Açıklama
Paket İsimleri
package wissen.java;
Küçük Harfle Yazılır
Class İsimleri
class Ornek1
Ilk Harf Büyük, Devamı Küçük
Class İsimleri
Class MyOrnek
Her Kelimenin Ilk Harfi Büyük,
Devamı Küçük
Interface İsimleri
İnterface IListener
I İle Başlar, Her Kelimenin İlk
Harfi Büyük, Devamı Küçük
Interface İsimleri
İnterface OnClickListener
Her Kelimenin İlk Harfi Büyük,
Devamı Küçük
Değişken İsimleri
int a;
Küçük Harfle Yazılır
Değişken İsimleri
İnt toplamDeger;
Ilk Kelimenin Bas Harfi Kucuk,
Diğerlerinin İlk Harfi Büyük
Method İsimleri
void hesapla()
Küçük Harfle Yazılır
Method İsimleri
void kullaniciKontrol()
Her Kelimenin Ilk Harfi Büyük,
Devamı Küçük
Sabit Değişkenler
İnt MAX_VALUE = 100;
Bütün Harfler Büyük
Açıklama
// Aciklama Satiri
Tek Satir Aciklama
Açıklama
/*
Çok Satır Açıklama
*/
Çok Satır Açıklama
Açıklama
/* Parça Açıklama */
Parça Açıklama
Emir Civaş – [email protected]
Sayfa 2
15.06.2013 – Wissen Akademie Java / Android Ders Notları #1
Java Sık Kullanılan Terimler
JRE
:
Java Runtime Environment (Uygulama Çalıştırmaya Yarayan Paket)
JDK
:
Java Development Kit (Uygulama Geliştirmeye Yarayan Paket, JRE’yi İçerir)
SDK
:
Software Development Kit (Uygulama Geliştirme Paketi)
lib
:
Kütüphane
Thread
:
Çalışan Uygulama Parçacığı
Exception
:
Uygulamanın Çalışması Sırasında, Anormal Bir Durum Meydana Geldiğinde
Oluşturulan Obje (İstisna)
Try .. Catch
:
Oluşturulan Exception’i Yakalayıp, Önlem Almayı Sağlayan Kod Bloğu
Snippet
:
Kod Bloğu, Kodun Bir Parçası
main
:
Uygulamanın Çalışması İçin Gerekli Olan main Methodu
Constructor
:
Bir Objenin Yapıcı Methodu
Initialize
:
Bir Değişkenin, Objenin Kullanmadan Önce, Oluşturulması, Değerinin
Atanması
Java Dosyası
:
IDE’de Kodların Yazıldığı, Text Formatındaki Dosya
Class Dosyası :
.java Dosyasının Derlenmiş Hali Olan Binary Dosya
VM
:
Virtual Machine, Sanal Makine (.class Dosyalarını Çalıştırır)
RunTime
:
Uygulamanın Çalışması Esnasında Demek
Debug
:
Uygulamanın Hatalarının Ayıklanma Süreci
Compile
:
Derlemek
Run
:
Çalıştırmak
Src
:
.java Dosyalarının Bulunduğu Klasör
Paket
:
Src İçerisinde, .java Dosyalarının Bulunduğu Klasörler
Object
:
Tipi Belli Olmayan Tür
Null
:
Değeri Tanımlanmamış
Scope
:
Tanım Alanı
System
:
Java VM’in Çalıştığı Bilgisayar
Emir Civaş – [email protected]
Sayfa 3
15.06.2013 – Wissen Akademie Java / Android Ders Notları #1
Java Class Yapısı
Kullanılan IDE’de Bir Class Oluşturulduğu Zaman, Belirttiğiniz İsimde Bir Java Dosyası Oluşturulur.
Ve içinde :
public class VerdiğinizIsim
{
}
Değeri Eklenir. Önemli : Dosya Isminizle, public class ... İsmi Aynı Olmak Zorundadır.
Kodlar, Değişkenler, Methodlar, Class’ın Sınırlarını Belirten { ve } Arasında Yazılır.
Varsa Paket İsmi, public class ...’ın Üzerinde İlk Satıra
Varsa İmport Edilecek Diğer Class’lar public class ...’ın Üzerine, Paket İsminin Altına Yazılır.
Class İçinde Kullanılan Methodlarda, Döngüler’de If Snippetlerde { } İle Ayrılan Bölümler, Kendi
Scope’una Sahiptir. Yani if’in İçinde Tanımladığınız Bir Değişkene, İf’in Dışından (Altından)
Erişemezsiniz, Sadece O If Bloğu İçinde Kullanabilirsiniz. Aynı Şey, Döngüler Ve Methodlar İçinde
Geçerlidir.
Emir Civaş – [email protected]
Sayfa 4
15.06.2013 – Wissen Akademie Java / Android Ders Notları #1
İlk Java Uygulaması “Hello World”
Java’da Class’lar Hem Obje Olarak, Hem Çalıştırılabilir Uygulama Olarak Kullanılmaktadır. Bir Class’ın
Çalıştırılabilir Uygulama Olması İçin, O Class’ta Main Methodu Olmalıdır. Main Methodu Direk VM
Tarafından Çağrılacağı İçin Standart Yapıdadır.
public static void main(String[] args)
{
...
}
Args’nin Hariç, Herhangi Bir Şeyi Değiştirdiğinizde O Uygulama Çalışmaz.
System.out
:
Emir Civaş – [email protected]
Ekran
Sayfa 5
15.06.2013 – Wissen Akademie Java / Android Ders Notları #1
Java Özel Karakterler (Escape Sequences)
System.out.println() Ekrana Birşeyler Yazmamızı Sağlayan Bir Method. Ama Ekrana Yazılacak Şeylerin
Formatını Ayarlamamızı Sağlamaz. Bunu Kaçış Karakterleriyle Yapabilir. Kaçış Karakterleri. Kodun
İçinde Özel Anlamlar İfade Eden Karakterleri, Ekrana Basmamızı Sağlayan Karakter Yapılarıdır.
Örneğin : System.out.println(“Merhaba”); Ekrana Merhaba Yazdırır.
Ama Ya Ekrana “Merhaba” Yazmak İstiyorsak ?
İşte Bu Durumda, Kaçış Karakterlerini Kullanmamız Gerekir. “ “ İçinde “ İşareti Basmanın Yolu \” ‘dur.
System.out.println(“\”Merhaba\””);
Sekans
Açıklama
Örnek
Sonuç
\n
Alt Satır
“Selam\nDünya”
Selam
Dünya
\t
Tab 4-8 Boşluk
“Selam\tDünya”
Selam
\”
Çift Tırnak
“\”Dedi\””
“Dedi”
\’
Tek Tırnak
“\’Dedi\’”
‘Dedi’
Emir Civaş – [email protected]
Dünya
Sayfa 6
15.06.2013 – Wissen Akademie Java / Android Ders Notları #1
Java Değişkenlerle İşlemler
Modulus İşlemi : (A % B = C )
A Sayısının B Sayısına Bölümünden Kalan’ı Verir. Modulus Turn Based Mantığıyla Yapılacak İşler İçin
Önemlidir. Örneğin 2 Oyunculu Bir Oyun Düşünün, 1 Tur A, 1 Tur B Oyuncusu Oynayacak.
int siradakiOyuncu = (siradakiOyuncu % 2) + 1; // 0 İse 1, 1 İse 0 Döner
C Değeri 0 İle B-1 Arasında Olur
Emir Civaş – [email protected]
Sayfa 7
15.06.2013 – Wissen Akademie Java / Android Ders Notları #1
(Pre/Post) Increment/Decrement
Sayısal Değişkenlerin Değeri + veya – 1 Değiştirilecekse; Bunun Komple Bir Aritmetik İşlem Yapmak
Yerine Daha Hızlı Bir Yolu Var. Buna Increment / Decrement Denmekte. (Sadece Değeri 1 Değişecek
İşlemler İçin).
Increment
Decrement
Pre
Post
:
:
:
:
Emir Civaş – [email protected]
Arttırmak
Azaltmak
Öncesinde
Sonrasında
Sayfa 8
15.06.2013 – Wissen Akademie Java / Android Ders Notları #1
System.out.println() İçinde Aritmetik İşlemler
System.out.println() methodunun İçinde, Ekrana Basılacak Değeri Oluşturmak İçin, Bazen Farklı
Parçaları, Değişken Değerlerini, Method Sonuçlarını Birleştirip Bastırmak Gerekiyor. Bu Birleştirme
İşlemi İçin “+” İşareti Kullanılıyor. Dolayısıyla, Yapılacak Matematiksel İşlemler Parantez İçine Alınmalı.
Emir Civaş – [email protected]
Sayfa 9
15.06.2013 – Wissen Akademie Java / Android Ders Notları #1
Koşul – Conditions – IF, ELSE
Uygulama Geliştirilirken, Belirli Durumlarda, Uygulamanın İşleyişinin Değişmesi Gerekebilir. Bu
Durumlarda Koşullar Kullanılır.
Operator
Örnek
Açıklama
==
A == B
A, B’ye Eşitse (vv)
!=
A != B
A, B’ye Eşit Değilse (vv)
>
A>B
A, B’den Büyükse
<
A<B
A, B’den Küçükse
>=
A >= B
A, B ye Eşit Veya Büyükse
<=
A <= B
A, B’ye Eşit Veya Küçükse
Koşul Operatörleri : 1’den Fazla Koşulun Birbirlerine Bağımlılığını Belirtir.
Operator
Örnek
Açıklama
&&
Tüm Koşullar Sağlanmalı
if ( a > 5 && b > 5)
A 5’ten Büyükse VE B 5’ten
Büyükse
||
En Az 1 Koşul Sağlanmalı
if (a > 5 || b > 5)
A 5’ten Büyükse VEYA B
5’ten Büyükse
Sonucu boolean (true Yada False) Dönen Koşullar İçin Sadece == veya != Kullanılır
Boolean sonuc = true;
İf (sonuc == true)
Emir Civaş – [email protected]
if (sonuc != true)
Sayfa 10
15.06.2013 – Wissen Akademie Java / Android Ders Notları #1
Emir Civaş – [email protected]
Sayfa 11
15.06.2013 – Wissen Akademie Java / Android Ders Notları #1
Koşul – Conditions – SWITCH
İf, else Gibi Farklı Koşullara Değilde, Sadece 1 Değişkenin Sayısal Değerine Bağlı Olarak Farklı İşler
Yapmak İstiyorsanız. Switch – case Kullanabilirsiniz.
Emir Civaş – [email protected]
Sayfa 12
15.06.2013 – Wissen Akademie Java / Android Ders Notları #1
Döngüler – For
Eğer Kod’ta Belirli Bir Sayıda, Bir Snippet’i Yada Yapılan Bir İşlemi Tekrar Etmek İstiyorsanız. Döngüler
Kullanırsınız. For Bu Döngülerden Bir Tanesi.
Emir Civaş – [email protected]
Sayfa 13
15.06.2013 – Wissen Akademie Java / Android Ders Notları #1
Döngüleri, Koşullarla Birlikte Kullanıp. Çok Fantastik İşler Yapabilirsiniz 
Örneğin : 1’den 10’a Kadar Olan Sayılar Arasındaki Tek Sayıların Toplamı.
1’den 10’a Kadar Olan Sayılar Arasındaki Çift Sayıların Çarpımı
Emir Civaş – [email protected]
Sayfa 14
15.06.2013 – Wissen Akademie Java / Android Ders Notları #1
Döngüler – While
Matematiksel Değer Yerine, Koşulsal Döngüdür. Birşey Geçerli Olduğu Sürece Çalışır
Emir Civaş – [email protected]
Sayfa 15
15.06.2013 – Wissen Akademie Java / Android Ders Notları #1
Döngüler – Do .. While
For ve While Döngüleri, Başlamadan Önce Ve Her Adım Bittiğinde, Döngünün Çalışıp Çalışmayacağını
Kontrol Ederler, Ona Göre Hareket Ederler. Do ... While Döngüleri, Daha Farklı İşler. İlk Seferde Koşula
Bakmadan Döngü Çalışır, 2. Seferden İtibaren Koşul Kontrol Edilir.
Koşul Sağlanmamasına Rağmen, Döngü 1 Kere Çalışıyor :
Emir Civaş – [email protected]
Sayfa 16
15.06.2013 – Wissen Akademie Java / Android Ders Notları #1
String
String Garip Bir Objedir. Çünkü Hem İlkel Değişken Hemde Obje Şeklinde Tanıtılıp Kullanılıyor. Aynı
Zamanda Size Kullanmak İçin Bir Sürü Method Sunuyor. Stringlerin Amacı Karakter Katarları
Tutmaktır.
Emir Civaş – [email protected]
Sayfa 17
15.06.2013 – Wissen Akademie Java / Android Ders Notları #1
String Methodları
Stringler Bir Obje Oldukları İçin, İlkel Değişkenler Gibi Veri Tutabildikleri Gibi, Bu Verilerin Üstünde
İşlemler Yapmamızı Sağlayan Methodlarda Sunar. (String w1 = “Merhaba”, w2 = “Dünya”; )
Method Adı
Örnek
Sonuç
Açıklama
length
w1.length()
7
Karakter Sayısı
toUpperCase
w1.toUpperCase()
MERHABA
Büyük Harf Ver.
toLowerCase
w1.toLowerCase()
merhaba
Küçük Harf Ver.
equals
w1.equals(w2)
Boolean
W1, W2’ye Eşit Mi
equalsIgnoreCase
w1.equalsIgnoreCase(w2) Boolean
W1, W2’ye BK Harf
Farketmeden Eşit Mi
indexOf
w1.indexOf(“M”)
int
M Varsa Indexi, Yoksa
-1 Döner
contains
w1.contains(“tux”)
Boolean
W1’de “tux” Varsa
true, yoksa false
döner
concat
w1.concat(w2)
String
W1’in sonuna w2’yi
Eklemiş Olarak Döner
startsWith
w1.startsWith(“Mer”)
Boolean
endsWith
w1.endsWith(“xx”)
Boolean
isEmpty()
w1.isEmpty()
Boolean
subString()
w1.subString(2)
String
subString()
w1.substring(0,3)
String
replace()
w1.replace(“Mer”,”Bye”)
String
Emir Civaş – [email protected]
W1 Mer ile Başlıyorsa
true, başlamıyorsa
false döner
W1 xx İle Bitiyorsa
true, bitmiyorsa false
döner
W1=”” ise true,
değilse false döner
2. Karakterden
İtibaren, Stringin Geri
Kalanını Döner
Stringin ilk 3
Karakterlik Parçasını
Döner
Byehaba
Sayfa 18
Download