1~

Minter Coder's Blog

Ders 3 Java Veritipleri ve Değişkenler

2020-06-30

Arkadaşlar merhabalar bu yazıda gerçekten önemli bir konu olan veritipleri (data types) ve değişkenleri (variables) anlatacağım.Herhangi bir sorunuz olursa yorumlara yazmayı unutmayın...

Ilk olarak veritipleri nedir ?

Burada sizlere tanım yapmak yada terimlere boğmak istemiyorum.Örnek üzerinde göstermek daha mantıklı olur hemen örneğe bakalım.

public class Ders3
    {
        public static void main(String[] args)
        {
            // primitive types = boolean,string,int,char,short,byte,long,float,double
            boolean dogru_yanlis = false;
            char karakter = 'A';
            byte tamsayi = 22;
            short tamsayi2 = 13;
            int tamsayi3 = 428;
            long tamsayi4 = 957L;
            float noktalisayi = 32.1F;
           double noktalisayi2 = 4310589.394650;  
            // Reference type
           String metin = "Java Değişkenler Öğreniyorum.";
            
 
            
            // Değerlerimizi console (konsol) de gösterme
            System.out.println(dogru_yanlis); // çıktı : false 
            System.out.println(metin); // çıktı : Java Değişkenler Öğreniyorum.
            System.out.println(karakter); // çıktı : A
            System.out.println(tamsayi); // çıktı : 22
            System.out.println(tamsayi2); // çıktı : 13
            System.out.println(tamsayi3); // çıktı : 428
            System.out.println(tamsayi4); // çıktı : 957
            System.out.println(noktalisayi); // çıktı : 32.1
            System.out.println(noktalisayi2); // çıktı : 4310589.394650
 
            // Numeric Data types (Sayısal veritürleri) ' nin maksimum değerlerini bulalım.
 
            System.out.println(BYTE.MAX_VALUE);
            System.out.println(SHORT.MAX_VALUE);
            System.out.println(INTEGER.MAX_VALUE);
            System.out.println(LONG.MAX_VALUE);
            System.out.println(DOUBLE.MAX_VALUE);
            System.out.println(FLOAT.MAX_VALUE);
 
            // Numeric Data types (Sayısal veritürleri) ' nin minimum değerlerini bulalım.
 
            System.out.println(BYTE.MIN_VALUE);
            System.out.println(SHORT.MIN_VALUE);
            System.out.println(INTEGER.MIN_VALUE);
            System.out.println(LONG.MIN_VALUE);
            System.out.println(DOUBLE.MIN_VALUE);
            System.out.println(FLOAT.MIN_VALUE);
 
        }
    }

Evet şuan biz yukarıda gösterildiği gibi Ders3 adlı bir sınıfa sahibiz.Yukarıdaki terimlerin (public,static,main,void,class) ve System.out.println()  neler olduğunu , ne işe yaradıklarını önceki dersimizde detaylı olarak anlatmıştım.Hatırlamıyorsanız eğer gitmek için hemen buraya tıkla.

 

Devam edelim...

Java da veri türleri primitive data types(ilkel veri türleri) ve reference types(Referans türleri) olmak üzere 2 adettir.

Ilkel Veri Türleri :  Ilkel veri türleri gerçekten javayı yeni öğrenenler için çok çok önemli olan bir konudur.Java 8 adet ilkel veri türüne sahiptir bunlar hemen yukarıda sıralı bir şekilde yazılmıştır.Bunları aşağıya kısaca açıklamalarıyla birlikte yazmak istiyorum.

1)boolean , Arkadaşlar boolean veri türü false veya true değerlerini alır.Bunu daha çok , ileride göreceğimiz conditionals (şartlı ifadeler) de kullanacağız.Hem de çok kullanacaz.

2)char , bu veri türü adından da anlaşılacağı gibi karakter alır.Yani sadece bir karakter alır ve bunun için '' (2 adet tek tırnak arasına sadece bir karakter yazabilirsiniz.)

3)byte ,  veri türü tamsayı alır.

4)short , veri türü tamsayı alır.

5)int,  veri türü tamsayı alır.

6)long , veri türü tamsayı alır.

7)float ,  veri türü ondalıklı sayı alır.

8)double , veri türü ondalıklı sayı alır.

Arkadaşlar aşağı kısma ilk önce çıktıları yazdık. Eğer siz de kodu kopyala yapıştır yaparsanız IDE'nize siz de aynı çıktıyı alırsınız.Daha sonra hemen Numeric Data Types değerlerinin max ve minimum değerlerini yazdık.Arkadaşlar bunu yazmamın sebebi bazı arkadaşlar karıştırıyor numeric tipleri , soru şu : neden int , byte,short,long hepsi birden var hepsi de tamsayı bi tane olsaydı yetmez miydi ?

Arkadaşlar yetmezdi çünkü bu türler bellekte alan işgal ediyor.Bunların küçük ve büyük alanlara göre ayrılması belleğinizden çok yer kaplamamasını sağlar yani siz kullanacağınız değere göre yer kaplamasını istersiniz ve buda çok mantıklı :)

Tamsayı veri türlerinin büyükten küçüğe sıralaması şu şekilde : long > int > short > byte . Burada long (uzun) adından da anlaşılacağı gibi uzun sayıları alır en büyüğüdür daha sonrası devam eder ve şunu da özellikle söylemek isterim . Eğer dostlar siz long değerinizi bir değişkene (aşağıda açıklıyorum konuyu) atadınız birde int veri türünden oluşan bir değeri başka bir değişkene atadınız.Yukarıdaki örneği baz alabiliriz.

            int tamsayi3 = 428;
            long tamsayi4 = 957L;
 

Burada tamsayi4 'e bellekte ayrılacak yer alanı tamsayi3 ' den daha büyüktür.

 

Kısa bi not : Yukarıdaki örnekte float ve long sayılarının sonun sırasıyla (F,L) bıraktık. Bunları kısaca açıklayalım.Dostlar siz float bir değişken yazdıysanız değerinin sonuna f yada F harfi bırakmanız gerekiyor.Yoksa java bunu double veri türü olarak algılar.Benzeri olay da long da var . Siz long değişkeninin sonuna l yada L arfi bırakmaz iseniz java bunu int türü olarak yorumlar.

Referans Veri Türleri : Arkadaşlar referans veri türleri adından da anlaşılacağı gibi bir yere bir referans veriyor.Ama nereye ?

Bir referans türü bir nesneyi(ileride göreceğimiz bir konu) ifade eder (bir sınıfın örneğidir).Siz sadece bir referansı nesneye başvurmak için kullanabilirsiniz.Örneğin biz yukarıda :

String metin = "Java Değişkenler Öğreniyorum.";

Burada metin değişkeni bir referanstır ve sadece String nesnesini işaret edebilir.Paint 'i kullanarak çizdiğim kötü çizimimde de gösterdiğim gibi :) .

 

Sadace bunu bilmeniz yeterlidir nesneler çok iyi bilinmediği için bu kısımdan zıplaya,hoplaya:) değişkenlere geçiyorum.

 

Değişkenler: Değişkenler nelerdir ? Arkadaşlar OCA (Oracle Certified Associate) kitabında identifiers(tanımlayıcılar) olarak da görebilirsiniz.Arkadaşlar bunları birkaç değer depolamak yada herhangi bir nesneyi referans olarak göstermek için kullanırız.Dostlar yukarıda primitive türlerin altında yazan veritürlerinin yanındaki değerlerin hepsi değişkendir.Örneğin :

char karakter = 'A';
byte tamsayi = 22;
Burada karakter char veri türünde bir değişkendir.tamsayi byte türünde bir değişkendir. Diğerlerini artık siz yorumlayabilirsiniz .
Şimdi burada bizim değişkenleri kullanmamız için birkaç kural var yani saçma sapan değişken isimleri yazıp bunları hertarafta kullanamadan hata ile karşılaşabilirsiniz.DOES NOT COMPILE.Birkaç kısa kural verip dersi bitiriyorum.
1) Değişkenler _ veya $ sembolleri ile başlayabilir fakat diğer sembollerin hemen hemen hepsi kullanılamaz örneğin :
byte $kerem 22; // ÇALIŞIR(DERLENİR)
int _tamsayi2121 = 3211; // ÇALIŞIR(DERLENİR)
long /kerem1* = 321211; // ÇALIŞMAZ (DERLENMEZ)
2) Java değişkenleri kullanırken kendi reserved keyword (ayrılmış anahtar kelime)lerini kullanmanıza izin vermez.Yaniiiiii :
int long = 3211; // ÇALIŞMAZ(DERLENMEZ)

Reserved KEYWORD in Java (Javada ayrılmış kelimeler)

abstract
assert
boolean
break
byte
case
catch
char
class
const
default

do
double
else
enum
extends
false
final
finally
float
for
goto

if
implements
import
instanceof
int
interface
long
native
new
null
package

private
protected
public
return
short
static
strictfp
super
switch
synchronized

this
throw
throws
transient
true
try
void
volatile
while
continue

 

Dersin videosunu izlemek için :

 

THE LESSON FINISHED...

Arkadaşlar umarım gerçekten anlaşılabilmiştir elimden geldiğince basite indirgeyerek anlatmaya çalıştım bir sonraki dersimizde görüşmek üzere.Her şey gönlünüzce olsun.