Temelde 3 tane referans tip vardır. Bu 3 temel tip kendi altlarında farklı tipler barındırır.
Tip Adı | Varsayılan Değer |
Class | null |
Array | null |
Interface | null |
Konumuz veri tipleri olduğu için şimdilik sadece ilkel veri tiplerinin referans tiplerdeki karşılıklarına değineceğim.
İlkel Hali | Referans Hali |
byte | Byte |
char | Character |
short | Short |
int | İnt |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
– | Void |
Void (ya da void) bir veri tipi değildir. İlkel veri tiplerinde void yokken referans veri tiplerinde Void adında bir sınıf var.
Veri tiplerinin açıklamasını yukarıda yaptığım için tekrardan hepsi için yeni bir açıklama yapmayacağım. Şimdi her veri tipi için bir örnek yapıp bilgilerimizi pekiştirelim.
Gördüğünüz gibi her veri tipinden bir örnek yaptık. Dikkat ettiyseniz eğer referans veri tiplerini oluştururken "new"
anahtar kelimesini kullandık. İlkel veri tiplerinin referans tipindeki karşılıkları sınıf olduğu için oluşturulurken eşittir işaretinden sonra “new” yazmamız gerekiyor. Bu konuya sınıflar konusunu işlerken daha sonra değineceğiz (Makaleyi yazdıktan sonra burada link vereceğim).,
Örnekleri verirken bilerek hatalı bazı örnekler de yazdım. Aklınıza “Bazı sınıfları doğrudan değer vererek tanımlarken neden bazılarını tip dönüşümü yaptıktan sonra tanımlayabiliyoruz ?” diye bir soru takılmış olabilir. Hiç bekletmeden hemen cevabını vereyim. Hata mesajında açıkça sebebini söylenmiş aslında. Hata mesajlarında derleyici bize gelen sayının hangi tipte olup olmadığını anlayamadığını söylüyor. Biz herhangi bir tam sayı yazdığımızda derleyici onu otomatik olarak int tipinde algılıyor. int tipinin sınırları byte ve short tipini çok aştığı için bizden dönüştürerek vermemizi istiyor.
Veri tiplerini öğrendiğimize göre bilmemiz gereken bir konu daha çıktı. Tanımladığımız değişkenler bellekte nerede saklanıyor ? İlkel tipler belleğin stack kısmında, referans tipler ise heap kısmında saklanır.
Aklınıza takılan bir soru olursa yorum yazarak veya iletişim kısmından mail yazarak sorularınızı iletebilirsiniz. Gerekli gördüğüm taktirde daha farklı örnekler de ekleyerek makaleyi güncelleyebilirim.