-
Android Eğitimlerine Başlarken...
-
Java Geliştirme Paketi'nin (JDK) Kurulumu
-
Eclipse Geliştirme Ortamının Kurulması
-
Bir Java Programının IDE Ortamında Çalıştırılması
-
Java Projesinin Temelleri
-
Java Yazım Kuralları ve Önerileri
-
Java Dilinde Kütüphaneler
-
Java Dilinde İfadeler ve İşlem Operatörleri
-
Java'da Kontrol Yapıları
-
Java'da Kontrol Yapıları Giriş
-
if Deyimi
-
if Deyimiyle İlgili Problemler
-
İç içe if Deyimleri
-
Karşılaştırma İşlemleri
-
if-else-if Basamak Yapısı
-
Soru İşareti Operatörü
-
switch / case Yapısı
-
while Döngüsü
-
do ... while Döngüsü
-
for Döngüsü
-
İç İçe Döngüler
-
İç İçe for Döngüleri İçin Örnekler
-
break Deyimi
-
continue Deyimi
-
Java'da Kontrol Yapıları Giriş
-
Java'da String Metodları
-
Java'da Tarih İşlemleri
-
Diziler
-
Olağan Dışı Durumların Değerlendirilmesi
-
Java'da Dosya İşlemleri
-
Nesne Yönelimli Programlama
-
Algoritmaya Giriş
-
Java'da Veri Saklamaya Yardımcı Kütüphaneler
-
Threadler
Programlamada özellikle hesaplama aşamasındayken, sadece tamsayılar üzerinden gitmek sizi sınırlayabilir. Rasyonel sayıları kullanmak istediğinizde, yeni değişken türlerini de kullanmalısınız. Java dilinde float ve double türündeki değişkenler ile rasyonel sayıları tutabilirsiniz.
Float ve double türünden değişkenlerin adını kayan noktalı (floating point) değişkenler olarak da duyabilirsiniz. Buradaki nokta kısmı, tam sayı kısmı ile ondalıklı sayı kısmını bölen virgül oluyor. Float ve double türlerinin arasındaki fark, virgülden sonraki ondalık kısımda tutabildikleri hane sayısıdır. Bu yüzden bir float değişken sanal bellekte 32 bitlik yer tutarken, double türündeki bir değişken 64 bit yer tutacaktır.
Kayan noktalı bir tip yerine tamsayı tipini kullandığınızda olacakları daha iyi anlamak için aşağıdaki örneği inceleyiniz:
public class FloatDeneme1 {
public static void main(String[] args) {
int sinav1=50;
int sinav2=55;
int ortalama_yaklasik =(sinav1+sinav2)/2;
float ortalama_tam =(float) (sinav1+sinav2)/2;
System.out.println("Sinav ort. (yaklasik): "+ortalama_yaklasik);
System.out.println("Sinav ort. (tam olrk): "+ortalama_tam);
}
}
Bu programın çıktısı şu şekilde olacaktır:
Gördüğünüz gibi int tipindeki ortalama_yaklasik değişkenin 52,5 çıkan sonucu, tamsayı tipinde olduğu için 52'ye yuvarladı. float tipindeki ortalama_tam değişkeni ise olması gerektiği gibi 52,5 olarak kaldı.
NOT: float ortalama = (float) (sinav1+sinav2)/2; satırındaki (float) ifadesi ile "(sinav1+sinav2)/2" işleminden gelen sonucun float olarak tutulmasını sağlıyoruz.
Gördüğünüz gibi kayan noktalı değişkenleri tanımlarken bazı ifadelere dikkat etmek gerekiyor.
Şimdi de float ile double türlerinin hassasiyetleri üzerine bir örneğe göz atalım:
public class FloatDeneme2 {
public static void main(String[] args) {
//Math.PI, bize PI sayısını döndürür
float PI_float =(float) Math.PI;
double PI_double=Math.PI;
System.out.println("PI sayisi: "+PI_float);
System.out.println("PI sayisi: "+PI_double);
}
}
Çıktısı şöyle olacaktır:
NOT: Math.PI ifadesi, PI sayısını tutan bir ifadedir.
Gördüğünüz üzere double türündeki PI_double değişkeni, PI sayısına ilişkin daha fazla ondalık değeri tutabiliyor. Bu yüzden double değişkenler, daha hassas hesaplama gereken yerlerde kullanılır.