Veri Tipleri 12/4/2018
Temel Veri Java’ da temel dokuz veri tipi vardır Tamsayı byte, short, int, long Reel Sayı float, double Karakter char Mantıksal (doğru/yanlış) boolean Katar String 12/4/2018
Sayısal Veri Tipleri byte 1 byte Tam sayı veri. -128 ile +127 arasında short 2 byte -32,768 to +32,767 arasında int 4 byte -2,147,483,648 to +2,147,483,647 arasında long 8 byte -9,223,372,036,854,775,808 ile +9,223,372,036,854,775,807 arasında float Reel sayı veri (Ondalıklı sayı) ±3.4*10-38 ile ±3.4*10+38, arasında 7 basamaklık kesinlikle double ±1.7*10-308 ile ±1.7*10+308 arasında 15 basamaklık kesinlikle 12/4/2018
Değişken Tanımlama Kullanım Örnekleri; byte sayac; short ay; int hiz; long zaman; float komisyon; double uzaklik; 12/4/2018
Reel Sayı Veri Tipleri Veri tipleri reel (ondalıklı) sayılarında değişken olarak tanımlanmasına ve kullanılmasına olanak sağlamaktadır. 1.7 ve -45.316 sayıları ondalıklı sayılardır. Java programlama dilinde iki reel veri tipi vardır. float - (7 basamaklı kesinlik). double - (15 basamaklı kesinlik). 12/4/2018
Reel Veriler Varsayılan reel veri tipi “double” dır. 29.75, 1.76, ve 31.51 değerleri double değerlerdir. 12/4/2018
Reel Veriler Bir double değer float bir değişkene atanamaz. Çünkü boyutu ve kesinlik basamak sayıları farklıdır. float sayi; sayi = 23.5; // Hata! Böyle bir atamayı yapabilmek için ilgili değerin sonuna ‘f2 veya ‘F’ konur.. sayi = 23.5F; // Geçerli Komut 12/4/2018
Reel Veriler yazılan veriler “,” veya para işaretleri içeremez. grossPay = $1,257.00; // Hata! grossPay = 1257.00; // Doğru Reel veriler genellikle bilimsel gösterimle ifade edilirler. 47,281.97 == 4.728197 x 104. Java programlama dilinde ise E gösterimi kullanılır. 4.728197X104 == 4.728197E4. 12/4/2018
Scientific and E Notation Reel Veri Bilimsel Gösterim E Gösterim 247.91 2.4791 x 102 2.4791E2 0.00072 7.2 x 10-4 7.2E-4 2,900,000 2.9 x 106 2.9E6 12/4/2018
Karakterler Bir karakter değişkeni sadece tek bir karakteri kaydeder Karakter ifadeleri tek tırnak işareti içerisine alınır: 'a' 'X' '7' '$' ',' '\n' Örnek tanımlamalar: char harfNot = 'A'; char char1 = ';', ayrac = ' '; 12/4/2018
Unicode karakterler A B 00 65 00 66 1 1 12/4/2018
ikili kodda tutulurlar. Unicode karakterler Karakterler bellekte ikili kodda tutulurlar. A B 00 65 00 66 1 1 12/4/2018
A B 00 65 00 66 Unicode karakterler 1 1 İkili koddaki sayılar Tamsayı olarak İfade edilir. ASCII KOD A B 00 65 00 66 1 1 12/4/2018
A B 00 65 00 66 Unicode karakterler 1 1 Bu tamsayı değerleri İlgili karakterleri tanımlamaktadır. 00 65 00 66 1 1 12/4/2018
ASCII Tablosu 12/4/2018
Genişletilmiş ASCII Kodları 12/4/2018
“Okan Universitesi” “Bilgisayar” “a” String Bir karakter dizinini kaydeder String ifadeleri çift tırnak işareti içerisine alınır “Okan Universitesi” “Bilgisayar” “a” Örnek tanımlamalar: String bbs= “Bilgisayar Bilimleri Sistemleri” ; String str=“”; String str=“s”; char ch=‘s’; // Farka dikkat ediniz. 12/4/2018
Boolean Bir boolean değeri doğru (true) ya da yanlış (false) durumu temsil eder “true” ve “false” ayrılmış kelimeleri yalnızca boolean tipi için geçerli değerlerdir boolean evli = true; Bir boolean değişken ampülün açık ya da kapalı olması, bir kişinin evli ya da bekar olması, cinsiyetin erkek veya bayan olması, Bardağın dolu veya boş olması gibi herhangi iki durumu da temsil edebilir 12/4/2018
Değişken Tanımlama boolean result = true; char capitalC = 'C'; byte b = 100; short s = 10000; int i = 100000; String s = “Okan Universitesi”; 12/4/2018
Değişken Tanımlama double d1 = 123.4; double d2 = 1.234e2; // d1 değişkeni ile aynı // değere sahip float f1 = 123.4f; // f harfine dikkat long l =123L; // L harfine dikkat 12/4/2018
Örnek Değerler 34 bir int tipi değerdir. 1.5 bir double tipi değerdir. 76.4E8 (76.4 * ) bir double tipi değerdir. -32l bir long tipi değerdir. 34L bir long tipi değerdir. 1.5F bir float tipi değerdir. 45.6f, 76.4E8F ve -32.0F bir float tipi değerdir. 108 12/4/2018
Değişkenler Arası Çevrim byte short int long float double class test { public static void main (String args[]) { int i=123; byte b = (byte) i; long l=i; double d = 12.02; d=l; } 12/4/2018
Örnek int xInt = 120; float xFloat; xFloat = xInt; // Çalışır float xFloat = 3.8644f; xInt = xFloat; //Derleme Hatası xInt = (int) xFloat; //Çalışır xInt=3 12/4/2018
Örnek double xDouble = 3.8644951; float xFloat; xFloat = xDouble; //Derleme Hatası xFloat = (float) xDouble; // Çalışır float xFloat = 3.8644f; float sum; sum = 2.0 + xFloat; // Derleme Hatası 2.0 double değerdir sum = (float) (2.0 + xFloat); //Çalışır 12/4/2018
Değişkenlere Sabit Değer Atama Sayi1=25; Sayi1=-200; Sayi2=15.9; Sayi2=0; Evli=true; Mesaj=“Uyarı: CapsLocka bastınız!”; Harf=‘A’; 12/4/2018
Değişken Değerini Başka bir Değişkene Atama Sayi=Rakam; A=B; Harf=Harf2; Mesaj=Uyarı_Mesaji; 12/4/2018
Sayısal Değişkenlere Aritmetik İşlemler Sonucu Değer Atama Sayi=2*4; Sayi=3+5; Sayi=(5+4)*2; Sayi=-200/25; 12/4/2018
Sayısal Değişkenlere Aritmetik İşlemler Yaparak Değer Atama Sayi=b*2*4; Sayi=3+5-a; Sayi=(5+4)*2/c; Sayi=-200/25*d; 12/4/2018
Kısaltılmış Atama İşlemleri Operator Örnek İşlevi += i += 8 i = i + 8 -= f -= 8.0 f = f - 8.0 *= i *= 8 i = i * 8 /= i /= 8 i = i / 8 %= i %= 8 i = i % 8 12/4/2018
Artırım ve Azaltım Operatörleri ++var var++ --var var-- Adı önek (preincrement) sonek(postincrement) önek (predecrement) sonek (postdecrement) İşlevi var = var + 1 var = var - 1 var = var - 1 12/4/2018
Artırım ve Azaltım Operatörleri int i = 10; int sayi = 10 * i++; System.out.println (sayi); // 100 yazar System.out.println (i); // 11 yazar int sayi = 10 * i; i = i + 1; int i = 10; int sayi = 10 * ++i; System.out.println (sayi); // 110 yazar System.out.println (i); // 11 yazar i = i + 1; int sayi = 10 * i; 12/4/2018
Örnek Bir dairenin yarı çapını değişken olarak tanımlayarak program içinde değer atayan ve bu dairenin alanını hesaplayarak ekrana yazdıran bilgisayar programını Java programlama dilinde yazınız. 12/4/2018
Cevap public class ComputeArea { ComputeArea.java Cevap public class ComputeArea { public static void main(String[] args) { double yaricap; double alan; yaricap = 20.0; // Yari Capi Ata alan = yaricap * yaricap * 3.14159; // Alani Hesapla // Sonuclari Yazdir System.out.println(“Dairenin Alani " + yaricap + " = " + alan); } 12/4/2018
Program Çalışımının İzlenmesi yaricap icin bellekte yer aç public class ComputeArea { /** Main method */ public static void main(String[] args) { double yaricap; double alan; // Yari Capi Ata yaricap = 20.0; // Alani Hesapla alan = yaricap * yaricap * 3.14159; // Sonuclari Yazdir System.out.println(“Dairenin Alani " + yaricap + " = " + alan); } yaricap Değer yok 12/4/2018
Program Çalışımının İzlenmesi public class ComputeArea { /** Main method */ public static void main(String[] args) { double yaricap; double alan; // Yari Capi Ata yaricap = 20.0; // Alani Hesapla alan = yaricap * yaricap * 3.14159; // Sonuclari Yazdir System.out.println(“Dairenin Alani " + yaricap + " = " + alan); } Bellek yaricap Değer yok alan Değer yok alan için bellekte yer aç 12/4/2018
Program Çalışımının İzlenmesi yaricapa 20 değerini ata public class ComputeArea { /** Main method */ public static void main(String[] args) { double yaricap; double alan; // Yari Capi Ata yaricap = 20.0; // Alani Hesapla alan = yaricap * yaricap * 3.14159; // Sonuclari Yazdir System.out.println(“Dairenin Alani " + yaricap + " = " + alan); } yaricap 20 alan Değer yok 12/4/2018 Hava Harp Okulu - Bil.Prog.
Program Çalışımının İzlenmesi public class ComputeArea { /** Main method */ public static void main(String[] args) { double yaricap; double alan; // Yari Capi Ata yaricap = 20.0; // Alani Hesapla alan = yaricap * yaricap * 3.14159; // Sonuclari Yazdir System.out.println(“Dairenin Alani " + yaricap + " = " + alan); } Bellek yaricap 20.0 alan 1256.636 Dairenin alanının hesapla ve alan değişkenine ata 12/4/2018 Hava Harp Okulu - Bil.Prog.
Program Çalışımının İzlenmesi public class ComputeArea { /** Main method */ public static void main(String[] args) { double yaricap; double alan; // Yari Capi Ata yaricap = 20.0; // Alani Hesapla area = yaricap * yaricap * 3.14159; // Sonuclari Yazdir System.out.println(“Dairenin Alani " + yaricap + " = " + alan); } Bellek yaricap 20.0 alan 1256.636 Ekrana Mesajı Yazdırır 12/4/2018
Örnek public class OperatorTest { OperatorTest.java Örnek public class OperatorTest { public static void main(String args[] ) { char kr = 'a' ; int b = kr ; // otomatik olarak int temel tipine çevrildi int c = -b ; // değeri eksi yaptı System.out.println("kr = " + kr ); System.out.println("b = " + b ); System.out.println("c = " + c ); } Ekran Çıktısı kr = a b = 97 c = -97 12/4/2018
Örnek public class IlkelDonusum { IlkelDonusum.java Örnek public class IlkelDonusum { public static void main(String args[]) { int a = 5; double b = (double) a; double x = 4.15 ; int y = (int) x ; long z = (long) y ; System.out.println("b = " + b + " y = " + y + " z = " + z); } Ekran Çıktısı b = 5.0 y = 4 z = 4 12/4/2018
Örnek public class OtomatikArtveAz { OtomatikArtveAz.java Örnek public class OtomatikArtveAz { public static void main(String[] args) { int i = 1; System.out.println ("i : " + i); System.out.println ("++i : " + ++i); // önek artırım System.out.println ("i++ : " + i++); // sonek artırım System.out.println ("--i : " + --i); // önek azaltma System.out.println ("i-- : " + i--); // sonek azaltma } Ekran Çıktısı i : 1 ++i : 2 i++ : 2 i : 3 --i : 2 i-- : 2 12/4/2018
Örnek public static void main(String args[]) { charTest.java Örnek public static void main(String args[]) { int c ='a'; System.out.println(c); // print 97 c ='A'; System.out.println(c); // print 65 c ='a'-'A'; System.out.println(c); // print 32 System.out.println ('a'>'A'); // print true c ='a'+1; System.out.println(c); // print 98 char ch = (char) c; System.out.println(ch); // print 'b' ch++; // *** ONEMLI *** System.out.println(ch); // print 'c' //ch = ch + 1 ; // Derleme Hatası c = ch + 1; ch = (char) (ch + 1); System.out.println(ch); // print ‘d’ } 12/4/2018
Soru 1 Aşağıdaki işlemlerin, akış şemasını çiziniz ve bu akış şemasını Java Programlama Dilinde programa çeviriniz. Deger1 değişkenine TRUE boolean değerini atayınız. Deger2 değişkenine ‘E’ değerini atayınız. Deger3 değişkenine 45.6 değerini atayınız. Deger1, Deger2 ve Deger3 değişkenlerini ekrana yazdırınız. 12/4/2018
Soru 2 Aşağıdaki işlemlerin, akış şemasını çiziniz ve bu akış şemasını Java Programlama Dilinde programa çeviriniz. B ve C değişkenlerine sırası ile 2 ve 6 sabit değerlerini atayınız. B2+C3 değerini hesaplayıp A değişkenine atayınız. A değişkenini D değişkeninde de saklayınız. A değişkenin 4’te birini E değişkeninde saklayınız. A değişkenine A, B, C, D ve E değişkenlerinin toplamını atayınız. F değişkenine ‘A, B, C, D, E ve F değişkenlerinin Değerleri:’ değerini atayınız. F, A, B, C, D ve E değişkenlerini ekrana yazdırınız. 12/4/2018
Soru 3 Aşağıdaki işlemlerin, akış şemasını çiziniz ve bu akış şemasını Java Programlama Dilinde programa çeviriniz. Bir malın fiyatı 1500 YTL’dir. Bu mal, %18’i kadar KDVsi alınarak satılacaktır. Bu malın KDV’sini ve satılacağı fiyatı hesaplayıp ekrana yazdırınız. 12/4/2018
Soru 4 Aşağıdaki işlemlerin, akış şemasını çiziniz ve bu akış şemasını Java Programlama Dilinde programa çeviriniz. Kısa kenar uzunluğu 5, Uzun kenar uzunluğu 20 olan dikdörtgenin alanını ve çevresini hesaplayınız. Bu değerleri ekrana yazdırınız. NOT: Kısa kenar 13, Uzun kenar 25 ise? NOT: Kısa kenar 8, Uzun kenar 16 ise? 12/4/2018