Java

Primitive Data Types (İlkel Veri Türleri)

23 Nisan 2018

Merhabalar. Bu zamana kadar Java ile alakalı yazdığım yazılarda kodlara dikkat ettiyseniz değişkenlerin başlarında “int”, “double” gibi yazıları görmüşsünüzdür. Bunları yazmamızın sebebi, Java’nın bizden böyle istemesi. Java bizden böyle istiyor, çünkü Java bu veri türüne göre bellekte yer ayırıyor. Biz bu veri türlerine “Primitive Data Types” diyoruz.

Şimdi, aşağıdaki örneğe bir bakalım:

Burada değişkenimizin adı “testNumber” ve ona karşılık gelen değer “23” ve bu “23” sayısı bir “integer” yani tam sayı. Bir örnek daha yazalım:

Burada da değişkenimizin adı “result” ve ona karşılık gelen değer ise “false” yani Türkçe karşılığı “yanlış”. Bu değişkenin türü ise “boolean“. Bunu daha önce duymamış olabilirsiniz. Boolean için sadece iki değer vardır. Bunlar “true” ve “false”. Yani ya doğrudur ya da yanlış. Bunun dışında herhangi bir değer alamaz.

Hangi “primitive data” türleri bulunuyor?

Liste şu şekilde:

  1. byte
  2. short
  3. int
  4. long
  5. float
  6. double
  7. boolean
  8. char
byte 8 bite karşılık gelen değere “byte” deniyor. Doğal olarak 2^7 = 128‘den “byte” değeri -128 ile 127 arasında bir sayı olabiliyor.
short 16 bite karşılık gelen değere de “short” deniyor.  2^{15} = 32768‘den “short” data türü -32768 ile 32767 arasında bir sayı olabiliyor.
int  32 bite karşılık gelen değere “int” deniyor. 2^{31} = 2147483648‘den “int” data türü -2147483648 ile 2147483647 arasında değer alabiliyor. Java’da en çok kullanılan data türlerinden biridir. Genel olarak herhangi bir tam sayıyı tanımlarken “int” türünü kullanırız.
long  64 bite karşılık gelen değere de “long” deniyor. Eğer çok büyük tam sayı değerleri üzerinde çalışıyorsanız, herhangi bir hata almamak için “long” data türünü kullanabilirsiniz. Bu data türü -2^{64} ile 2^{64} - 1 arasında değer alabiliyor.
float  Genelde ondalık sayıları gösterirken kullanılır. Ancak bu data türünü kullanmayı çoğu zaman önermezler. Eğer açık sayılar için kullanacaksanız bu data türünü kullanmak yerine Java’nın java.math.BigDecimal sınıfının kullanılması tavsiye edilir. Örneğin, para birimlerinde. 32 bitlik bellek kullanır.
double  Ben, bu data türünü hep “float” türünün 2 katı olarak bakıyorum. Yani 64 bitlik bellek kullanır ve aynı “float” gibi ondalık sayılar için kullanılır. Aynı “float” gibi kesin sayılar için “double” data türünün kullanılması tavsiye edilmez.
boolean  1 bite karşılık gelir. Alabileceği iki değer vardır: “true” veya “false”. Genelde koşullu durumlarda kullanılır. Örneğin, “eğer doğruysa … işlemini yap” gibi mantıksal işlemleri gerçekleştirmek için kullanırız.
char 16 bitlik Unicode karakterlere karşılık gelir. Minimum \u0000′ (yani 0) ve maksimum ‘\uffff’ (yani 65535) değerini alabilir. Bu data türünü genelde tek harfli karakterleri göstermek için kullanırız.

Bunlara ek olarak bir de karakterlerin birleşimi olarak görebileceğimiz “String” sınıfı bulunuyor. Teknik olarak “primitive data” türlerinin arasına girmiyor ama çoğu zaman öyleymiş gibi düşüneceğiz. Örneğin, “rawsly.com sitesindeyim.” tümcesi için String deriz. Son olarak “char” olarak yazdığımız bir değişkeni tek tırnak (‘) içine alırız. Ancak String olaran bir data türünü çift tırnak (“) içine alırız. Çift tırnak zorunluluğumuz yok ama çoğu zaman bu şekilde kullanırız.

Varsayılan Değerler

Her data türünün varsayılan değeri vardır. Java’da bir data türüyle değişken oluşturduğumuz zaman, eğer herhangi bir değere eşitlemezsek, varsayılan değer olarak bir değer atar. Ama programcılar genelde değerlerin varsayılan olarak atanmasını iyi karşılamazlar. Bunun dışında daha önceki yazımda bahsetmiş olduğum yerel değişkenler (local variable) için varsayılan değer atanamaz. Java kodunuzu “compile” edilirken hata verir. Yukarıdaki data türleri için varsayılan değerler şöyle:

byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
boolean false
char ‘u0000’
String null

Örneğin, yerel değişkenler için şöyle bir kod yazalım:

Bu kodu çalıştırdığımızda şöyle bir hata alacağız:

Fakat şöyle bir kod yazarsak:

Alacağımız çıktı (output) “0” sayısı olacaktır.

Literals

Yine giriş seviyesinde olduğumuz için büyük ihtimalle bu söylediklerim sizin için çok bir şey ifade etmeyecektir. Normalde Java’da bir objeyi ilk defa kullanırken “new” anahtar sözcüğünü kullanırız.  Ancak “primitive data” türlerinde böyle bir kullanıma ihtiyaç duymuyoruz. Şöyle örnekler verelim:

Bunun dışında “long” türündeki bir sayıyı yazmak istediğimizde sonuna “L” harfi koyarız. Normalde küçük harf “l” de kabul edilir ancak bazı yazı tiplerinde ayırt etmesi zor olduğu için büyük “L” harfi kullanılır. Aynı şekilde “float” türü için de sonuna “f” harfi eklenir.

Character & String Literals

Karakterler için eğer kod editörünüz veya sisteminiz destekliyorsa herhangi bir karakteri direkt olarak kullanabilirsiniz. Ancak desteklemiyorsa bunun yerine ‘\u0108’ (büyük C) gibi Unicode değerlerini kullanabilirsiniz.

    Bir Cevap Yazın

    TR
    EN TR