Veri Tipleri 1192022 1 Temel Veri Java da

  • Slides: 46
Download presentation
Veri Tipleri 1/19/2022 1

Veri Tipleri 1/19/2022 1

Temel Veri Java’ da temel dokuz veri tipi vardır n Tamsayı int, long byte,

Temel Veri Java’ da temel dokuz veri tipi vardır n Tamsayı int, long byte, short, n Reel Sayı float, double n Karakter char n Mantıksal (doğru/yanlış) boolean n Katar 1/19/2022 String 2 / 38

Sayısal Veri Tipleri byte 1 byte Tam sayı veri. -128 ile +127 arasında short

Sayısal Veri Tipleri byte 1 byte Tam sayı veri. -128 ile +127 arasında short 2 byte Tam sayı veri. -32, 768 to +32, 767 arasında int 4 byte Tam sayı veri. -2, 147, 483, 648 to +2, 147, 483, 647 arasında long 8 byte Tam sayı veri. -9, 223, 372, 036, 854, 775, 808 ile +9, 223, 372, 036, 854, 775, 807 arasında float 4 byte Reel sayı veri (Ondalıklı sayı) ± 3. 4*10 -38 ile ± 3. 4*10+38, arasında 7 basamaklık kesinlikle double 8 byte 1/19/2022 Reel sayı veri (Ondalıklı sayı) ± 1. 7*10 -308 ile ± 1. 7*10+308 arasında 15 basamaklık kesinlikle 3 / 38

Değişken Tanımlama n Kullanım Örnekleri; byte sayac; short ay; int hiz; long zaman; float

Değişken Tanımlama n Kullanım Örnekleri; byte sayac; short ay; int hiz; long zaman; float komisyon; double uzaklik; 1/19/2022 4 / 38

Reel Sayı Veri Tipleri n Veri tipleri reel (ondalıklı) sayılarında değişken olarak tanımlanmasına ve

Reel Sayı Veri Tipleri n 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 n 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). 1/19/2022 5 / 38

Reel Veriler n Varsayılan reel veri tipi “double” dır. ¨ 29. 75, 1. 76,

Reel Veriler n Varsayılan reel veri tipi “double” dır. ¨ 29. 75, 1. 76, ve 31. 51 değerleri double değerlerdir. 1/19/2022 6 / 38

Reel Veriler n Bir double değer float bir değişkene atanamaz. Çünkü boyutu ve kesinlik

Reel Veriler n 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! n Böyle bir atamayı yapabilmek için ilgili değerin sonuna ‘f 2 veya ‘F’ konur. . ¨ float sayi; ¨ sayi = 23. 5 F; // Geçerli Komut 1/19/2022 7 / 38

Reel Veriler n yazılan veriler “, ” veya para işaretleri içeremez. ¨ gross. Pay

Reel Veriler n yazılan veriler “, ” veya para işaretleri içeremez. ¨ gross. Pay = $1, 257. 00; // Hata! ¨ gross. Pay = 1257. 00; // Doğru n Reel veriler genellikle bilimsel gösterimle ifade edilirler. ¨ 47, 281. 97 n == 4. 728197 x 104. Java programlama dilinde ise E gösterimi kullanılır. ¨ 4. 728197 X 104 1/19/2022 == 4. 728197 E 4. 8 / 38

Scientific and E Notation 247. 91 Bilimsel Gösterim 2. 4791 x 102 2. 4791

Scientific and E Notation 247. 91 Bilimsel Gösterim 2. 4791 x 102 2. 4791 E 2 0. 00072 7. 2 x 10 -4 7. 2 E-4 2, 900, 000 2. 9 x 106 2. 9 E 6 Reel Veri 1/19/2022 E Gösterim 9 / 38

Karakterler n Bir karakter değişkeni sadece tek bir karakteri kaydeder n Karakter ifadeleri tek

Karakterler n Bir karakter değişkeni sadece tek bir karakteri kaydeder n Karakter ifadeleri tek tırnak işareti içerisine alınır: 'a' n 'X' '7' '$' ', ' 'n' Örnek tanımlamalar: char harf. Not = 'A'; char 1 = '; ', ayrac = ' '; 1/19/2022 10 / 38

Unicode karakterler A B 00 65 00 66 000001000001000011 1/19/2022 11 / 38

Unicode karakterler A B 00 65 00 66 000001000001000011 1/19/2022 11 / 38

Unicode karakterler A Karakterler bellekte ikili kodda tutulurlar. B 00 65 00 66 000001000001000011

Unicode karakterler A Karakterler bellekte ikili kodda tutulurlar. B 00 65 00 66 000001000001000011 1/19/2022 12 / 38

Unicode karakterler A İkili koddaki sayılar Tamsayı olarak İfade edilir. ASCII KOD B 00

Unicode karakterler A İkili koddaki sayılar Tamsayı olarak İfade edilir. ASCII KOD B 00 65 00 66 000001000001000011 1/19/2022 13 / 38

Unicode karakterler A 00 65 B Bu tamsayı değerleri İlgili karakterleri tanımlamaktadır. 000001000001 1/19/2022

Unicode karakterler A 00 65 B Bu tamsayı değerleri İlgili karakterleri tanımlamaktadır. 000001000001 1/19/2022 00 66 000001000011 14 / 38

ASCII Tablosu 1/19/2022 15 / 38

ASCII Tablosu 1/19/2022 15 / 38

Genişletilmiş ASCII Kodları 1/19/2022 16 / 38

Genişletilmiş ASCII Kodları 1/19/2022 16 / 38

String n Bir karakter dizinini kaydeder n String ifadeleri çift tırnak işareti içerisine alınır

String n Bir karakter dizinini kaydeder n String ifadeleri çift tırnak işareti içerisine alınır “Okan Universitesi” n “Bilgisayar” “a” Örnek tanımlamalar: String bbs= “Bilgisayar Bilimleri Sistemleri” ; String str=“”; String str=“s”; char ch=‘s’; // Farka dikkat ediniz. 1/19/2022 17 / 38

Boolean n Bir boolean değeri doğru (true) ya da yanlış (false) durumu temsil eder

Boolean n Bir boolean değeri doğru (true) ya da yanlış (false) durumu temsil eder n “true” ve “false” ayrılmış kelimeleri yalnızca boolean tipi için geçerli değerlerdir boolean evli = true; n 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 1/19/2022 18 / 38

Değişken Tanımlama boolean result = true; char capital. C = 'C'; byte b =

Değişken Tanımlama boolean result = true; char capital. C = 'C'; byte b = 100; short s = 10000; int i = 100000; String s = “Okan Universitesi”; 1/19/2022 19 / 38

Değişken Tanımlama double d 1 = 123. 4; double d 2 = 1. 234

Değişken Tanımlama double d 1 = 123. 4; double d 2 = 1. 234 e 2; // d 1 değişkeni ile aynı // değere sahip float f 1 = 123. 4 f; // f harfine dikkat long l =123 L; 1/19/2022 // L harfine dikkat 20 / 38

Örnek Değerler n n n n 34 bir int tipi değerdir. 1. 5 bir

Örnek Değerler n n n n 34 bir int tipi değerdir. 1. 5 bir double tipi değerdir. 76. 4 E 8 (76. 4 * 108 ) bir double tipi değerdir. -32 l bir long tipi değerdir. 34 L bir long tipi değerdir. 1. 5 F bir float tipi değerdir. 45. 6 f, 76. 4 E 8 F ve -32. 0 F bir float tipi değerdir. 1/19/2022 21 / 38

Değişkenler Arası Çevrim byte short int long float double class test { public static

Değişkenler Arası Çevrim byte short int long float double class test { public static void main int i=123; byte b = (byte) i; long l=i; double d = 12. 02; d=l; } } 1/19/2022 (String args[]) { 22 / 38

Örnek int x. Int = 120; float x. Float; x. Float = x. Int;

Örnek int x. Int = 120; float x. Float; x. Float = x. Int; // Çalışır int x. Int; float x. Float = 3. 8644 f; x. Int = x. Float; //Derleme Hatası int x. Int; float x. Float = 3. 8644 f; x. Int = (int) x. Float; //Çalışır x. Int=3 1/19/2022 23 / 38

Örnek double x. Double = 3. 8644951; float x. Float; x. Float = x.

Örnek double x. Double = 3. 8644951; float x. Float; x. Float = x. Double; //Derleme Hatası double x. Double = 3. 8644951; float x. Float; x. Float = (float) x. Double; // Çalışır float x. Float = 3. 8644 f; float sum; sum = 2. 0 + x. Float; // Derleme Hatası 2. 0 double değerdir sum = (float) (2. 0 + x. Float); //Çalışır 1/19/2022 24 / 38

Değişkenlere Sabit Değer Atama q Sayi 1=25; q Sayi 1=-200; q Sayi 2=15. 9;

Değişkenlere Sabit Değer Atama q Sayi 1=25; q Sayi 1=-200; q Sayi 2=15. 9; q Sayi 2=0; q Evli=true; q Mesaj=“Uyarı: Caps. Locka bastınız!”; q Harf=‘A’; 1/19/2022 25 / 38

Değişken Değerini Başka bir Değişkene Atama q Sayi=Rakam; q A=B; q Harf=Harf 2; q

Değişken Değerini Başka bir Değişkene Atama q Sayi=Rakam; q A=B; q Harf=Harf 2; q Mesaj=Uyarı_Mesaji; 1/19/2022 26 / 38

Sayısal Değişkenlere Aritmetik İşlemler Sonucu Değer Atama q Sayi=2*4; q Sayi=3+5; q Sayi=(5+4)*2; q

Sayısal Değişkenlere Aritmetik İşlemler Sonucu Değer Atama q Sayi=2*4; q Sayi=3+5; q Sayi=(5+4)*2; q Sayi=-200/25; 1/19/2022 27 / 38

Sayısal Değişkenlere Aritmetik İşlemler Yaparak Değer Atama q Sayi=b*2*4; q Sayi=3+5 -a; q Sayi=(5+4)*2/c;

Sayısal Değişkenlere Aritmetik İşlemler Yaparak Değer Atama q Sayi=b*2*4; q Sayi=3+5 -a; q Sayi=(5+4)*2/c; q Sayi=-200/25*d; 1/19/2022 28 / 38

Kısaltılmış Atama İşlemleri 1/19/2022 Operator Örnek İşlevi += 8 i = i + 8

Kısaltılmış Atama İşlemleri 1/19/2022 Operator Örnek İşlevi += 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 29 / 38

Artırım ve Azaltım Operatörleri Operatör Adı önek (preincrement) İşlevi var = var + 1

Artırım ve Azaltım Operatörleri Operatör Adı önek (preincrement) İşlevi var = var + 1 sonek(postincrement) var = var + 1 önek (predecrement) var = var - 1 sonek (postdecrement) var = var - 1 ++var var++ --var var-1/19/2022 30 / 38

Artırım ve Azaltım Operatörleri int i = 10; int sayi = 10 * i++;

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 i = 10; int sayi = 10 * ++i; System. out. println (sayi); // 110 yazar System. out. println (i); // 11 yazar 1/19/2022 int sayi = 10 * i; i = i + 1; int sayi = 10 * i; 31 / 38

Örnek n Bir dairenin yarı çapını değişken olarak tanımlayarak program içinde değer atayan ve

Örnek n 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. 1/19/2022 32 / 38

Compute. Area. java Cevap public class Compute. Area { public static void main(String[] args)

Compute. Area. java Cevap public class Compute. Area { public static void main(String[] args) { double yaricap; double alan; yaricap = 20. 0; // Yari Capi Ata alan = yaricap * 3. 14159; // Alani Hesapla // Sonuclari Yazdir System. out. println(“Dairenin Alani " + yaricap + " = " + alan); } } 1/19/2022 33 / 38

Program Çalışımının İzlenmesi public class Compute. Area { /** Main method */ public static

Program Çalışımının İzlenmesi public class Compute. Area { /** Main method */ public static void main(String[] args) { double yaricap; double alan; yaricap icin bellekte yer aç yaricap Değer yok // Yari Capi Ata yaricap = 20. 0; // Alani Hesapla alan = yaricap * 3. 14159; // Sonuclari Yazdir System. out. println(“Dairenin Alani " + yaricap + " = " + alan); } } 1/19/2022 34 / 38

Program Çalışımının İzlenmesi public class Compute. Area { /** Main method */ public static

Program Çalışımının İzlenmesi public class Compute. Area { /** Main method */ public static void main(String[] args) { double yaricap; double alan; // Yari Capi Ata yaricap = 20. 0; // Alani Hesapla alan = yaricap * 3. 14159; Bellek yaricap alan Değer yok alan için bellekte yer aç // Sonuclari Yazdir System. out. println(“Dairenin Alani " + yaricap + " = " + alan); } } 1/19/2022 35 / 38

Program Çalışımının İzlenmesi public class Compute. Area { /** Main method */ public static

Program Çalışımının İzlenmesi public class Compute. Area { /** Main method */ public static void main(String[] args) { double yaricap; double alan; yaricapa 20 değerini ata yaricap 20 alan Değer yok // Yari Capi Ata yaricap = 20. 0; // Alani Hesapla alan = yaricap * 3. 14159; // Sonuclari Yazdir System. out. println(“Dairenin Alani " + yaricap + " = " + alan); } } 1/19/2022 Hava Harp Okulu Bil. Prog. 36 / 38

Program Çalışımının İzlenmesi public class Compute. Area { /** Main method */ public static

Program Çalışımının İzlenmesi public class Compute. Area { /** Main method */ public static void main(String[] args) { double yaricap; double alan; Bellek yaricap 20. 0 alan 1256. 636 // Yari Capi Ata yaricap = 20. 0; // Alani Hesapla alan = yaricap * 3. 14159; Dairenin alanının hesapla ve alan değişkenine ata // Sonuclari Yazdir System. out. println(“Dairenin Alani " + yaricap + " = " + alan); } } 1/19/2022 Hava Harp Okulu Bil. Prog. 37 / 38

Program Çalışımının İzlenmesi public class Compute. Area { /** Main method */ public static

Program Çalışımının İzlenmesi public class Compute. Area { /** Main method */ public static void main(String[] args) { double yaricap; double alan; Bellek yaricap 20. 0 alan 1256. 636 // Yari Capi Ata yaricap = 20. 0; // Alani Hesapla area = yaricap * 3. 14159; // Sonuclari Yazdir System. out. println(“Dairenin Alani " + yaricap + " = " + alan); Ekrana Mesajı Yazdırır } } 1/19/2022 38 / 38

Operator. Test. java Örnek public class Operator. Test { public static void main(String args[]

Operator. Test. java Örnek public class Operator. Test { 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 1/19/2022 39 / 38

Ilkel. Donusum. java Örnek public class Ilkel. Donusum { public static void main(String args[])

Ilkel. Donusum. java Örnek public class Ilkel. Donusum { 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 1/19/2022 40 / 38

Otomatik. Artve. Az. java Örnek public class Otomatik. Artve. Az { public static void

Otomatik. Artve. Az. java Örnek public class Otomatik. Artve. Az { public static void main(String[] args) { int i = 1; System. out. println ("i : " + i); System. out. println ("++i : " + ++i); System. out. println ("i++ : " + i++); System. out. println ("i : " + i); System. out. println ("--i : " + --i); System. out. println ("i-- : " + i--); System. out. println ("i : " + i); } } 1/19/2022 // önek artırım // sonek artırım // önek azaltma // sonek azaltma Ekran Çıktısı i: 1 ++i : 2 i++ : 2 i: 3 --i : 2 i-- : 2 i: 1 41 / 38

char. Test. java Örnek public static void main(String args[]) { int c ='a'; System.

char. Test. java Örnek public static void main(String args[]) { int c ='a'; System. out. println(c); c ='A'; System. out. println(c); c ='a'-'A'; System. out. println(c); System. out. println ('a'>'A'); c ='a'+1; System. out. println(c); char ch = (char) c; System. out. println(ch); ch++; // *** ONEMLI *** System. out. println(ch); //ch = ch + 1 ; // Derleme Hatası c = ch + 1; ch = (char) (ch + 1); System. out. println(ch); } 1/19/2022 // print 97 // print 65 // print 32 // print true // print 98 // print 'b' // print 'c' // print ‘d’ 42 / 38

Soru 1 n Aşağıdaki işlemlerin, akış şemasını çiziniz ve bu akış şemasını Java Programlama

Soru 1 n Aşağıdaki işlemlerin, akış şemasını çiziniz ve bu akış şemasını Java Programlama Dilinde programa çeviriniz. ¨ Deger 1 değişkenine TRUE boolean değerini atayınız. ¨ Deger 2 değişkenine ‘E’ değerini atayınız. ¨ Deger 3 değişkenine 45. 6 değerini atayınız. ¨ Deger 1, Deger 2 ve Deger 3 değişkenlerini ekrana yazdırınız. 1/19/2022 43 / 38

Soru 2 q Aşağıdaki işlemlerin, akış şemasını çiziniz ve bu akış şemasını Java Programlama

Soru 2 q Aşağıdaki işlemlerin, akış şemasını çiziniz ve bu akış şemasını Java Programlama Dilinde programa çeviriniz. q B ve C değişkenlerine sırası ile 2 ve 6 sabit değerlerini atayınız. q B 2+C 3 değerini hesaplayıp A değişkenine atayınız. q A değişkenini D değişkeninde de saklayınız. q A değişkenin 4’te birini E değişkeninde saklayınız. q A değişkenine A, B, C, D ve E değişkenlerinin toplamını atayınız. q F değişkenine ‘A, B, C, D, E ve F değişkenlerinin Değerleri: ’ değerini atayınız. q F, A, B, C, D ve E değişkenlerini ekrana yazdırınız. 1/19/2022 44 / 38

Soru 3 q Aşağıdaki işlemlerin, akış şemasını çiziniz ve bu akış şemasını Java Programlama

Soru 3 q Aşağıdaki işlemlerin, akış şemasını çiziniz ve bu akış şemasını Java Programlama Dilinde programa çeviriniz. q 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. 1/19/2022 45 / 38

Soru 4 q Aşağıdaki işlemlerin, akış şemasını çiziniz ve bu akış şemasını Java Programlama

Soru 4 q Aşağıdaki işlemlerin, akış şemasını çiziniz ve bu akış şemasını Java Programlama Dilinde programa çeviriniz. q Kısa kenar uzunluğu 5, Uzun kenar uzunluğu 20 olan dikdörtgenin alanını ve çevresini hesaplayınız. q 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? 1/19/2022 46 / 38