Veri Yapıları 2010 Java Programlama Diline Giriş. Doç. Dr. Aybars UĞUR

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Veri Yapıları 2010 Java Programlama Diline Giriş. Doç. Dr. Aybars UĞUR"

Transkript

1 Veri Yapıları 2010 Java Programlama Diline Giriş Doç. Dr. Aybars UĞUR

2 Bölüm 1 GİRİŞ

3 Java Java, ilk olarak Sun Microsystems tarafından geliştirilen nesne yönelimli programlama dilidir yılında piyasaya sürülmüştür. James Gosling, Haziran 1991 de Oak adıyla geliştirmiştir. Platform bağımsızlığı (programı bir kere yaz, derle ve her platformda çalıştır), tasarım amaçlarındandır. Birçok donanım, işletim sistemi ve platformda çalışabilmektedir. 3

4 Önemli Java Gerçekleştirimleri Sürüm Ad Açıklama JDK 1.1 (1995) Java 1.0 İlk sürüm J2SE 1.2(1998) J2SE 5.0(2004) J2SE Java 2 J2SE Tiger J2SE (Java 2 Platform, Standard Edition) J2EE (Java 2 Platform, Enterprise Edition) J2ME (Java 2 Platform, Micro Edition). Generic yapılar, Autoboxing/Unboxing Gelişmiş for döngüsü, Varargs (Değişken sayıda argüman) J2SE 6 (2006 sonu) : Mustang J2SE 7 (Ağustos ) : Dolphin Son gelişmeler için : 4

5 JVM ve Bytecode JVM (Java Virtual Machine) veya Java Sanal Makinesi: Java nın özgün sanal makine modelini gerçekleştiren bilgisayar programları ve yapılarından oluşan bir bütündür. Java Bytecode adı verilen, bilgisayar ara dilini kabul eder. Bir programın bytecode u, Java dili derleyicileri tarafından üretilir. 5

6 İlk Java Programı Prog1 adlı java programı : class Prog1 { public static void main(string args[]) { System.out.println("Merhaba"); } } ekrana merhaba yazdırmaktadır. 6

7 Java Uygulaması Java programlarında // Satırın geri kalan kısmının açıklama satırı olduğunu gösterir. Geleneksel /* Açıklama */ işaretleri de özellikle çok satıra yayılan açıklamalarda kullanılır. Deyimler ; ile sonlandırılmalıdır. Her java programı en az bir sınıf tanımı içermelidir. 7

8 Java Programının Çalıştırılması JVM i (Java Virtual Machine) açmak üzere Java komutu kullanıldığında işletilen bilgisayar programına Java uygulaması (application) denilir. Kaynak Kod Prog1.java DERLEME javac derleyicisi Byte Kod Prog1.class class Prog1 { public static void main(string args[]) { System.out.println("Merhaba"); } } > javac Prog1.java Byte Kod Prog1.class a ÇALIŞTIRMA java yorumlayıcısı > java Prog a JVM tarafından yorumlanabilir. > Merhaba 8

9 Entegre Geliştirme Ortamları Programların IDE (Integrated Development Environment) kullanılarak yazılması, işletilmesi, test edilmesi ve hatalardan arındırılması kolay olduğu için, bu şekilde uygulama yazılması işlemine RAD (Rapid Application Development) adı verilmektedir. Eclipse ( NetBeans ( JDeveloper (from Oracle) IntelliJ (JetBrains) JCreator ( 9

10 Bölüm 2 JAVA da VERİ TİPLERİ

11 Veri Tipleri Java da iki tür veri tipi vardır: Temel Referans İki tür veri tipi arasındaki fark atama işlemi sırasında ortaya çıkar. Temel tipteki bir değişkenin diğer bir değişkene ataması sırasında veri kopyalanır. Referans değişkeninin diğer bir değişkene ataması sırasında ise, her iki değişken de aynı veriyi gösterir. Referanslar, C/C++ işaretçilerine (pointer) benzerler. Diziler ve Nesnelerin tümü referans veri tipindedir. 11

12 Java da Temel Veri Tipleri Type Size in bits Values boolean 1 true or false byte to +127 char 16 Unicode short 16 integer int 32 integer long 64 integer float 32 float double 64 double 12

13 Temel Veri Tiplerinin Sınırları Tamsayıların Sınırları Ondalıklı Sayıların Sınırları 13

14 Java nın 8 Temel Veri Tipi Type Size in bits Values Standard boolean 8 true or false char 16 \u0000 to \uffff (ISO Unicode character set) byte to +127 short 16 32,768 to +32,767 int 32 2,147,483,648 to +2,147,483,647 long 64 9,223,372,036,854,775,808 to +9,223,372,036,854,775,807 float E+38 to E+38 double E+308 to E+308 (IEEE 754 floating point) (IEEE 754 floating point) Sarmalayıcı (Wrapper) Sınıflar java.lang.byte java.lang.short java.lang.integer java.lang.long java.lang.float java.lang.double java.lang.character java.lang.boolean 14

15 ASCII ve UNICODE Karakter Setleri ASCII, 8 bit kodlama düzenindedir ve en yaygın karakter setidir. 256 karakterle sınırlıdır. Unicode, 16 bitlik kodlama düzenindedir ve karakterlik sahası vardır. Java programlama dili Unicode u kullanır. 15

16 İkiye Tümleyen (Two s Complement) İkiye tümleyen, negatif sayıları İkili sayılar içerisinde göstermek için kullanılan bir yöntemdir. İlave bir + ve sembolüne ihtiyaç duyulmaz. İkili (binary) bir sayının ikiye tümleyeni (two s complement), sayının ikinin üssünden çıkartılması ile elde edilir (n bitlik ikinin tümleyeni için, 2 N den çıkarılır). Negatif sayıların ikili kodlanması esnasında ikiye tümleme metodu kullanılmadığı taktirde, sayının işareti için ayrı bir bit harcanması gerekir. Birbirinden farklı işarete sahip birden fazla 0 sayısının oluşmasına sebep olur. Bitlerin değerlerini ve anlamlarını değerlendirecek bir yönetimdenetim mekanizması kullanılması gerekir. 16

17 8 Bitlik İkinin Tümleyeni Tamsayılar A two's-complement system or two's-complement arithmetic is a system in which negative numbers are represented by the two's complement of the absolute value. Pozitif Sayılar doğal şekildedir: this system is the most common method of representing signed integers on computers. In such a system, a number is negated (converted from positive to negative or vice versa) by computing its two's complement. Sınırları : [-2 N-1 2 N-1-1] 17

18 Java Byte Data Type Decimal 8 bit Binary Invert add 1 for Twos Complement Decimal

19 IEEE 754 Standard for Floating-Point Arithmetic IEEE Kayan Nokta Aritmetiği Standardı, kayan noktalı sayıların gösteriminde en çok kullanılan standarttır. IEEE 754 standardına göre sayılar tek duyarlı (32 bit) ve çift duyarlı(64 bit) şekilde gösterilebilirler. 19

20 IEEE 754 : Tek Duyarlı Gösterim Tek duyarlı gösterimde sayı 32 bitle ifade edilir. Bu bitlerden biri işaret, 8'i üs 23 tanesi ise anlamlı kısmın gösterimi için kullanılır. Tek duyarlı gösterimde üs için kaydırma değeri = 127 olarak hesaplanır. 1 bit 8 bit 23 bit İşaret sign Üs exponent Anlamlı Kısım fraction 20

21 IEEE 754 : Tek Duyarlı Gösterim Tek duyarlı gösterimde 6,375 sayısını temsil etmek istersek : 6 (110) 2 0,375 2 = 0,75 0,75 2 = 1,5 0,5 2 = 1,0 0,375 = (0,011) 2 6,375 = (110,011) 2 Sayıyı olağan duruma getirirsek : 110,011 = 1,10011x2 2 Sayı > 0 olduğundan işaret biti : 0 Sayının üst değerinin saptırılmış hali : = = Anlamlı kısım : Sayı son olarak : şeklinde ifade edilir. 21

22 IEEE Tek Duyarlı Gösterimdeki Bir Sayının Onluk Düzendeki Değerinin Bulunması v = s 2 e m where s = +1 (positive numbers and +0) when the sign bit is 0 s = 1 (negative numbers and 0) when the sign bit is 1 e = exponent 127 (in other words the exponent is stored with 127 added to it, also called "biased with 127") m = 1.fraction in binary (that is, the significand is the binary number 1 followed by the radix point followed by the binary bits of the fraction). Therefore, 1 m < 2. (1+fraction) v = +1 * 2 2 * (1,10011) 2 = 6, ,5+ 0, ,03125 = 1,

23 IEEE 754 : Çift Duyarlı Gösterim Çift duyarlı gösterimde sayı 64 bitle ifade edilir. Bu bitlerden biri işaret, 11'i üs ve 52 tanesi de anlamlı kısmı ifade etmek için kullanılır. Bu gösterimde üs için sapma değeri = 1023 olarak hesaplanır. 1 bit 11 bit 52 bit İşaret sign Üs exponent Anlamlı Kısım fraction 23

24 Değişkenler - I Tip değişken ismi int sayi1; // int veri tipidir. /* sayi1 değişkeninin tamsayı tipinde olduğunu belirtir */... sayi1=5; float sayi=5.7f; 24

25 Değişkenler - II Değişkenler, tanımlandıkları gibi değer alırlar: int a = -5; double b = 10.3; Aynı satırda birden çok değişken tanımı yapılabilir. C++ programlama Dilinde olduğu gibi değişkenler, herhangi bir yerde tanımlanabilir. Metodun en üstünde tanımlanma zorunluluğu yoktur. Değişkenlerin, gerekli olduğu yerde tanımlanması uygundur. Java Dilinde değişkenlerin kullanılmadan önce değerleri olması gerekir. Değişkenler sadece tanımlandıkları blokta kullanılabilirler. 25

26 Veri Tipi Dönüştürme (Casting) Daha geniş bir tipi, daha dar bir veri tipine dönüştürürken casting yapmak gerekir. double sayi1=5; // float sayi2 = sayi1; // Yanlış float sayi2 = (float)sayi1; // Doğru double sayi3 = sayi2; /* Geniş tip olduğundan problem yok */ 26

27 Yazdırma Komutu System.out.print ve System.out.println System.out.print( Merhaba ); System.out.println( Java Dili ); Merhaba Java Dili System.out.println( \nortalama="+57); System.out.println(5); int sayi = 5; System.out.println("Sayi\tKaresi"); System.out.println(sayi+"\t"+(sayi*sayi)); Sayi Karesi 5 25 System.out.printf (J2SE 5.0 ın yeni özelliklerindendir) String str = "Java"; double versiyon = 5.0; System.out.printf("Merhaba %s %f ", str, versiyon); 27

28 Java da Klavyeden Okuma import java.util.scanner; class Dene { public static void main(string args[]) { Scanner str = new Scanner(System.in); int i = str.nextint(); } } System.out.println(""+(i*i)); Ayrıntılar için : 28

29 OPERATÖRLER - I Hesaplamalarda kullanılan operatörler : Aritmetik : +, -, *, /, % (Mod, kalan), ++, -- Mantıksal : &&,,!, &,,... İlişkisel : == (eşittir)!= (eşit değildir) >, <, >=, <= 29

30 OPERATÖRLER - II Atama Operatörü : değişken = deyim; int x = 5; double sayi = -3.5; int a, b, c; a=b=c=100; // Atama zinciri Bileşik Atamalar : +=, -=, *=, /=,... x-=10; // x = x - 10 ile eşdeğer 30

31 Operatörler ve Öncelik Sırası Gruplama Operatorler Postfix []. (params) exp++ exp-- Unary ++exp --exp +exp -exp ~! Creation, cast new (type)exp Multiplicative * / % Additive + - Shift << >> >>> Relational < > <= >= instanceof Equality ==!= Bitwise AND & Bitwise EXOR ^ Bitwise OR Logical AND && Logical OR Conditional?: Assignment = *= /= %= += -= >>= <<= >>>= &= ^= = 31

32 Bölüm 3 YAPISAL PROGRAMLAMA ve DENETİM YAPILARI

33 YAPISAL PROGRAMLAMA Yapısal Programlamada üç tür denetim yeterlidir: Sıra (Sequence) Seçim (Selection) Tekrar (Repetition) Sıralı işletim? 33

34 PROGRAM DENETİM YAPILARI SEÇİM YAPILARI if if/else switch TEKRAR YAPILARI (Döngüler) while do/while for 34

35 SEÇİM YAPILARI : IF if (koşul) ifade if(notu>=60) System.out.println("Geçti"); Koşul : boolean veri tipindedir. true veya false olabilir. int notu=65, sayac=0; if(notu>=60) // İfade bloğu { System.out.println("Gecti"); sayac++; }; 35

36 SEÇİM YAPILARI : IF/ELSE if (koşul) ifade; else ifade; if(notu>=60) System.out.println("Gecti"); else System.out.println("Kaldı"); 36

37 CONDITIONAL OPERATOR (?:) System.out.println(notu>=60? "Geçti":"Kaldı"); Eşdeğer ifade : if (notu>=60) System.out.println("Geçti"); else System.out.println("Kaldı"); 37

38 IF-ELSE-IF MERDİVENİ (CASCADING IF) if(koşul) ifade else if (koşul) ifade else if (koşul) ifade... else ifade; if (notu>=90) str = A ; else if (notu>=80) str = B ; else if (notu>=70) str = C ; else if (notu>=60) str = D ; else str = E ; System.out.println(str); 38

39 SEÇİM YAPILARI : SWITCH Çoklu Seçim switch (deyim) { case sabit1: ifade1; break; case sabit2: ifade2; break;... default : ifade; break; } int sayi = 4; switch(sayi) { case 0 : System.out.println(" Sayı 0"); break; case 1 : System.out.println(" Sayı 1"); break; case 2 : System.out.println(" Sayı 2"); break; default : System.out.println("X"); break; 39

40 DÖNGÜLER : FOR sayac : kontrol değişkeni olmak üzere, for(int sayac=0; sayac<10; ++sayac) ifade for(başlangıç; devam koşulu; kontrol değişkeni değişimi) ifade for(int sayac=0; sayac<10; ++sayac) { } ifadeler 40

41 DÖNGÜLER : WHILE ve DO-WHILE while(koşul) ifade do { ifadeler } while (koşul); int sayac=1, toplam=0; while(sayac<10) { toplam+=sayac; sayac++; }; 41

42 DÖNGÜDEN ÇIKMAK : BREAK for(int x=1; x<10; ++x) { } toplam+=x; if (x==5) break; System.out.println("1 ile 5 arasındaki sayıların toplamı = "+toplam); break sadece en içteki döngüden çıkar. 42

43 DÖNGÜDE ERKEN TEKRAR : CONTINUE 1 ile 100 arasındaki tek sayıları yazan program : for(int i=0; i<100; ++i) { if ( (i%2)!=1) continue; System.out.println(i); } 43

44 Mantıksal Operatörler VE : Conditional AND && VEYA : Conditional OR if ( (yas>50) && (boy>170) ) ; Conditional ve/veya, kısa devre hesaplaması yapabilir. VE : Boolean Logical AND & VEYA : Boolean Logical OR if ( (yas>50) && (boy>170) ) ; Boolean mantıksal ve/veya, tüm operand ları hesaplar. 44

45 Bölüm 4 DİZİLER

46 DİZİLER - I Dizi (array), aynı tipteki değişkenler topluluğudur. int[] arr = new int[10]; int[] dizi = {5,7,12,2,9,8,14,21,-6,5}; double[] sayilar; sayilar = new double[5];

47 Diziler - II Diziler, temel veri tipi listesi veya referans listesi içerebilirler. Diziler, köşeli parantezlerle ifade edilirler : [] Köşeli parantezler veri tipinden sonraya yerleştirildiğinde, tüm değişkenleri dizi olarak tanımlar: int[] sayilar, numaralar; Köşeli parantezlerin değişkenden sonraya yerleştirilmesi sadece o değişkeni dizi yapar: int sayilar[], sayac; 47

48 Diziler - III Diğer referans tipleri (nesneler) gibi diziler de, ya bazı verileri gösteriyordur veya hiçbir yere işaret etmiyordur. Hiçbir yeri göstermiyorsa, int sayilar[] = null; şeklinde olduğu gibi tanımlanmalıdır. Bellekten 15 tamsayılık yer ayırmak için : sayilar = new int[15]; şeklinde kullanılabilir. new operatöründen sonraki veri tipi, tanımlı değişkenin veri tipi ile aynı olmalıdır. Java dizinin her elemanına default olarak 0 değerini atar. 48

49 DİZİ KULLANIM ÖRNEKLERİ dizi[2]++; dizi[3]=dizi[1]+dizi[2]; System.out.println(dizi[5]); Dizi elemanlarının toplamını bulduran programı yazınız : dizi.length kullanınız! 49

50 İKİ BOYUTLU DİZİLER (MATRİSLER) M x N M satır, N sütun M=4 tablo N=3 Oluşturulması : int[][] tablo = new int[4][3]; Kullanımı : tablo[0][2] 50

51 ÇOK BOYUTLU DİZİLER Tip [] [] isim = new tip[büyüklük1]...[büyüklükn] Tip isim[] [] = new tip[büyüklük1]...[büyüklükn] Örnek : float cbdizi[][][][]; // 4 boyutlu dizi cbdizi = new float[3][4][2][6]; 51

52 STRING LER ve KARAKTER DİZİLERİ Karakter dizisi : Karakterlerden oluşan dizidir. char harfdizi[] = { T', 'e', s', t' }; for(int i=0; i<harfdizi.length;++i) System.out.println(harfDizi[i]); String : Karakter dizisinden farklıdır. Çok sayıda metot içerir. Java nın String sınıfı kullanılır. String str = "Merhaba"; System.out.println(str); str = new String(harfDizi); System.out.println(str); 52

53 Dizilerden Oluşan Diziler int[][] list = new int[10][]; list[0] = new int[5]; list[1] = new int[10]; list[1][6] = 23; list[0][6] = 23; /* Hata! Exception in thread "main" java.lang.arrayindexoutofboundsexception: 6 at Ornek3.main(Ornek3.java:34) */ 53

54 Bölüm 5 METOTLAR

55 BÖL ve ÇÖZ (Divide and Conquer) Yazılım Mühendisliği deneyimleri, büyük programlar geliştirmenin en iyi yolunun küçük program parçaları (modül) yazıp onları birleştirmek olduğunu göstermiştir. Böl ve Çöz olarak bilinen bu yöntem aynı zamanda, hatalardan arındırmayı, programı gelişen şartlara göre büyütmeyi, değişiklikler yapmayı kolaylaştırmak ve anlaşılırlığı artırmak gibi birçok avantajı da beraberinde getirmektedir. Java da temel modüller, sınıf (class) ve metotlardır (method). Metotlar yazılım içinde yeniden kullanılarak kodu ve yazılım geliştirme süresini kısaltmaktadır. 55

56 METOTLAR (METHOD) Bir işlemin yapılması için bir veya daha fazla ifade kullanmak gerekir. Verilen bir matrisi ekrana yazdırmak gibi. İlgili kodu yazdir() adını verdiğimiz bir metot içine yazarak istediğimiz zaman, ismi ile çağırabiliriz. Java, matematik hesaplamalarını, string, karakter, girdi/çıktı işlemlerini ve diğerlerini yapmak için hazır sınıflar ve metotlar içermektedir. Ayrıca değişik alanlarda hazırlanmış veya kendimizin daha önceden hazırladığı metotları da kullanmak mümkündür. Hazır veya kullanıcı tanımlı paketleri, import java.util.random; import java.util.*; biçimlerinde görüldüğü gibi import kullanılarak yüklenirler. 56

57 Java Paketleri Hazır Java paketleri içerisinde, birçok sınıf mevcuttur. java.applet java.awt java.awt.event java.io Java.lang Java.net Java.text Java.util Java.swing Java.swing.event Java.lang paketi, Java da çok kullanılan sınıfları içerir. Bu paketteki java.lang.math sınıfı içerisinde bulunan bazı sahalar ve metotlar sonraki slaytlarda gösterilmiştir. (Sadece lang paketine özgü olarak, kullanıcının getirme import zorunluluğu yoktur) 57

58 Field Summary static double E static double PI Method Summary static double abs(double a) Returns the absolute value of a double value. static float abs(float a) Returns the absolute value of a float value. static int static long abs(int a) Returns the absolute value of an int value. abs(long a) Returns the absolute value of a long value. static double acos(double a) Returns the arc cosine of a value; the returned angle is in the range 0.0 through pi. static double asin(double a) Returns the arc sine of a value; the returned angle is in the range -pi/2 through pi/2. static double atan(double a) Returns the arc tangent of a value; the returned angle is in the range - pi/2 through pi/2. static double atan2(double y, double x) Returns the angle theta from the conversion of rectangular coordinates (x, y) to polar coordinates (r, theta). static double ceil(double a) Returns the smallest (closest to negative infinity) double value that is greater than or equal to the argument and is equal to a mathematical integer. static double cos(double a) Returns the trigonometric cosine of an angle. static double exp(double a) Returns Euler's number e raised to the power of a double value. static double floor(double a) Returns the largest (closest to positive infinity) double value that is less than or equal to the argument and is equal to a mathematical integer. 58

59 Hazır java.lang.math sınıfının bazı metotları static double log(double a) Returns the natural logarithm (base e) of a double value. static double log10(double a) Returns the base 10 logarithm of a double value. static double max(double a, double b) Returns the greater of two double values. static double min(double a, double b) Returns the smaller of two double values. static double pow(double a, double b) Returns the value of the first argument raised to the power of the second argument. static long round(double a) Returns the closest long to the argument. static double sin(double a) Returns the trigonometric sine of an angle. static double sqrt(double a) Returns the correctly rounded positive square root of a double value. static double tan(double a) Returns the trigonometric tangent of an angle. static double todegrees(double angrad) Converts an angle measured in radians to an approximately equivalent angle measured in degrees. static double toradians(double angdeg) Converts an angle measured in degrees to an approximately equivalent angle measured in radians. 59

60 METOTLARIN GENEL BİÇİMİ erişim dönüş_tipi isim(parametre listesi) { metodun gövdesi } Erişim : public, private gibi Dönüş_tipi : metodun döndürdüğü veri tipi. Değer döndürmüyorsa void. Parametre listesi :, lerle ayrılmış tip ve parametre ismi. 60

61 Değer Döndürmeyen Metotlar void metotları public void yazdir() { System.out.println("Merhaba"); } Çağrılması : yazdir(); 61

62 Değer Döndüren Metotlar public int topla(int a, int b) { return (a+b); } Çağrılması : int y=topla(5,6); Metodun iki de parametresi var. 62

63 Parametre, Argüman, Return Argüman : Metoda aktarılan değer Parametre : Argümanı kabul eden değişken Return : Metottan çıkmak veya geri dönmek 63

64 Değişkenlerin Kapsama Alanı { int x = 5; if(sayi>5) { int y = 12; } // y tanımlı değil // x tanımlı } y değişkeninin tanımlı olduğu bölge for(int i=0; i<5; ++i) System.out.println(i); i=10; // Hatalı! 64

65 Metotlar Örnek 1 int dizi[] = { 5,6,7,8 }; veya benzer şekilde verilen bir tamsayı dizisinin elemanlarının toplamını bulan metodu içeren java programını yazınız. class DiziTopla { public static void main(string args[]) { int dizi[] = { 5,6,7,8 }; System.out.println(topla(dizi)); } public static int topla(int dizi[]) { int toplam = 0; for(int i=0; i<dizi.length; ++i) toplam+=dizi[i]; return toplam; } } 65

66 Metotlar Örnek 2 class Ornek2 { public static void main(string args[]) { String str = "test"; nyazdir(str,10); } } public static void nyazdir(string str, int n) { for(int i=0; i<n; ++i) System.out.println(str); } 66

67 Metotlar Örnek 3 Faktöriyel class Ornek3 { public static String f(int n) { int carpim = 1; if (n<0) return "Invalid Input For Function"; else } } for(int i=1; i<=n;++i) carpim*=i; return ""+carpim; public static void main(string args[]) { int sayi = 5; System.out.println(f(sayi)); } Sayı döndüren faktöriyel fonksiyonunu yazınız. 67

68 Geliştirilmiş for (enhanced for) Java 5.0 ile gelen bir özelliktir. For ( parameter : arrayname) Statement İki parçadan oluşur : Type and identifier : int sayi gibi arrayname : dolaşılacak (iterate) dizi Ayrıca, diziler dışında koleksiyonların da dolaşılmasını sağlar. 68

69 Varargs Varargs (Variable arguments), bir metodun değişken sayıda parametre alabilmesidir. Java 5.0'ın sunduğu kolaylıklardan biridir. Aynı amaçla dizi de kullanılabilir ama elemanları diziye yerleştirmekten kurtarır. Değerler metot içine dizi olarak gelir. Bir metotta sadece 1 varargs bulunabilir. class DegSayParametre { public static void merhabalar(string... names) { for (String name : names) { System.out.println("Merhaba " + name); } } public static void main(string[] args) { merhabalar("ali", "Veli", "Ayse"); } } Merhaba Ali Merhaba Veli Merhaba Ayse 69

Veri Yapıları 2007 Java Programlama Diline Giriş. Yrd. Doç. Dr. Aybars UĞUR

Veri Yapıları 2007 Java Programlama Diline Giriş. Yrd. Doç. Dr. Aybars UĞUR Veri Yapıları 2007 Java Programlama Diline Giriş Yrd. Doç. Dr. Aybars UĞUR 1 Java Java, ilk olarak Sun Microsystems tarafından geliştirilen nesne yönelimli programlama dilidir. 1995 yılında piyasaya sürülmüştür.

Detaylı

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama İçerik Java da İşleçler, Kontrol Akış ve Döngü Deyimleri Geçen ders: Nesne ve Sınıf Kavramları Nesne ve Sınıf ın Java da gerçekleştirilmesi Bu ders: Java da işleçler ( operators ) Java da kontrol-akış

Detaylı

Java da İşleçler, Ders #3 (4 Kasım 2009)

Java da İşleçler, Ders #3 (4 Kasım 2009) Java da İşleçler, Kontrol Akış ve Döngü Deyimleri BS-515 Nesneye Yönelik Programlama Ders #3 (4 Kasım 2009) İçerikç Geçen ders: Nesne ve Sınıf Kavramları Nesne ve Sınıf ın Java da gerçekleştirilmesi Bu

Detaylı

MAT213 Bilgisayar Programlama I. Anadolu Üniversitesi Fen Fakültesi Matematik Bölümü Emrah Akyar Sunum #1

MAT213 Bilgisayar Programlama I. Anadolu Üniversitesi Fen Fakültesi Matematik Bölümü Emrah Akyar Sunum #1 MAT213 Bilgisayar Programlama I Anadolu Üniversitesi Fen Fakültesi Matematik Bölümü Emrah Akyar Sunum #1 Başarı Değerlendirilmesi Sınav Yüzdesi Türü Ders Notu Kullanımı * 1. Ara sınav 20 Klasik Serbest

Detaylı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN TEMEL AMAÇLAR Bir dairenin yarıçapını kullanıcıdan alarak dairenin alanını hesaplamak istediğimizi düşünelim. Eğer girilen değer

Detaylı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ 2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 7 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Java Programlama Dili ve Algoritmadan Kodlamaya Geçiş) Yrd. Doç. Dr. İbrahim Küçükkoç

Detaylı

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır. GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.

Detaylı

DATA STRUCTURES. Part I C# Programlama Dili Temelleri

DATA STRUCTURES. Part I C# Programlama Dili Temelleri DATA STRUCTURES Part I C# Programlama Dili Temelleri DERSİN İÇERİĞİ 1. C# DİLİNE GİRİŞ 2. KONSOL UYGULAMASI GELİŞTİRİLMESİ 3. FORM UYGULAMASI GELİŞTİRİLMESİ 4. VERİ TİPLERİ ve DEĞİŞKENLER 5. PROGRAM KONTROL

Detaylı

// hataları işaret eden referans

// hataları işaret eden referans System sınıfı java.lang.object java.lang.system public final class System extends Object System sınıfı, java.lang paketi içindedir. Platformdan bağımsız olarak sistem düzeyindeki eylemleri belirleyen dingin

Detaylı

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. 1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. [10 puan] int param = 30; int result = 300; if (param > 45) result

Detaylı

EMT2226 Nesne Yönelimli Programlamaya Giriş

EMT2226 Nesne Yönelimli Programlamaya Giriş 2017-2018 Bahar Yarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü EMT2226 Nesne Yönelimli Programlamaya Giriş 2 Yrd. Doç. Dr. İbrahim Küçükkoç Web: ikucukkoc.baun.edu.tr Email: ikucukkoc@balikesir.edu.tr

Detaylı

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır. GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.

Detaylı

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN GİRİŞ Ekrana «Merhaba Java» şeklinde bir mesajı 100 defa yazmak istediğinizi düşünelim. Aşağıdaki komut satırını 100 kez yazmak sıkıcı

Detaylı

JAVADA METOTLAR. BMÜ-111 Algoritma ve Programlama. Yrd. Doç. Dr. İlhan AYDIN

JAVADA METOTLAR. BMÜ-111 Algoritma ve Programlama. Yrd. Doç. Dr. İlhan AYDIN JAVADA METOTLAR BMÜ-111 Algoritma ve Programlama Yrd. Doç. Dr. İlhan AYDIN 1 Açık problem Amacımız sırasıyla 1 den 10, 10 dan 20 ye ve 35 ten 45 e kadarki sayıların toplamını bulmak olsun. Ne yapmak gerekir?

Detaylı

Programlama Dillerinde Kullanılan Veri Tipleri

Programlama Dillerinde Kullanılan Veri Tipleri Programlama Dillerinde Kullanılan Veri Tipleri Taban/Biçim Basic Paskal C/C++/C#/Java 10 (Decimal ) - - - 16 (Hexadecimal) &hsayı veya &Hsayı $sayı 0xsayı veya 0Xsayı Üstel eüs veya Eüs eüs veya Eüs eüs

Detaylı

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı Öğr. Gör. Cansu AYVAZ GÜVEN NESNE TABANLI PROGRAMLAMA Java Değişkenler ve Veri Tipleri Operatörler JAVA Java Java SUN bilgisayar şirketince

Detaylı

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO while(), do-while(), for() Döngü (loop) : Bir koşul sağlandığı (true olduğu) sürece bir veya birden çok komutun tekrarlanması işlemidir. Java Döngüler (loops) While() do-while() for ( ) while ( koşul )

Detaylı

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi İÇİNDEKİLER Değişken Nedir? Değişken kullanımı faydaları. Değişken türleri Değişken görünürlüğü (scope) Değişken türleri arası dönüşümler Örnek

Detaylı

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu https://zumrakavafoglu.github.io/

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu https://zumrakavafoglu.github.io/ BBS515 Nesneye Yönelik Programlama Ders 2 Zümra Kavafoğlu https://zumrakavafoglu.github.io/ print metodu System.out.print imleci aynı satırda tutar, System.out.println imleci bir alt satıra indirir Tamsayı

Detaylı

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA Muhammet BAYKARA 1 İlkel Veri Türleri Type Name Kind of Value Memory Used Size Range byte integer 1 byte -128 to 127 short integer 2 bytes -32768

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

Detaylı

Java da Program Denetimi ve Operatörler

Java da Program Denetimi ve Operatörler Java da Program Denetimi ve Operatörler 1 Atamalar int a ; a=4 ; // doğru bir atama 4=a ; // yanlış bir atama! 2 Temel (Primitive) Tiplerde Atama int a, b ; a=4 ; b=5 ; a=b ; Sonuç : a=5, b=5 3 Nesneler

Detaylı

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input

Detaylı

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ C# Yazım Kuralları 1 İçindekiler C# Yazım Kuralları Veritipleri Değişkenler Operatörler Sınıflar Nesneler, Özellik, Metot ve Olay Bileşenler 2 C# yazım kuralları Deyimlerde büyük küçük harf yazıma uyulmalı

Detaylı

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü 2017-2018 Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü Yrd. Doc. Dr. İbrahim KÜÇÜKKOÇ Web: http://ikucukkoc.baun.edu.tr Email: ikucukkoc@balikesir.edu.tr Dersin Amaci: Algoritma geliştirme

Detaylı

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü 2017-2018 Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü Yrd. Doc. Dr. İbrahim KÜÇÜKKOÇ Web: http://ikucukkoc.baun.edu.tr Email: ikucukkoc@balikesir.edu.tr 1 Dersin Amaci: Algoritma

Detaylı

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir.

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir. PART 5 5. Denetleyici Türleri Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir. Java Erişim Kontrol Denetleyicileri (Access Control Modifiers) Erişim Harici Denetleyiciler

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Programlama Dili ve Yazılım Tasarımı, Altuğ B. Altıntaş, Papatya

Detaylı

D İ Z İ L E R A R R A Y S

D İ Z İ L E R A R R A Y S D İ Z İ L E R A R R A Y S 1 Örneğin 120 adet öğrencinin adını klavyeden girip, daha sonra bunları ekrandan yazdıralım. Bunun için, her öğrenci için ayrı bir değişken tanımlanmalıdır. String ad1; String

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

Detaylı

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek Boyutlu Diziler Yrd. Doç. Dr. İlhan AYDIN 1 Problem 100 adet sayı okumak istediğimizi düşünelim. Bu sayıların ortalaması hesaplanacak ve sayıların kaç tanesinin

Detaylı

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları 4. Operatörler İfade içerisindeki değişken ve diğer ifadelere uygulandığında yeni değerlerin elde edilmesini sağlayan ve kendilerine özel sembolik gösterimleri olan sözdizimleridir. mikroc derleyicisi

Detaylı

Java: printf() Metodu İle Çıktıyı Biçemleme

Java: printf() Metodu İle Çıktıyı Biçemleme 1 Java: printf() Metodu İle Çıktıyı Biçemleme PrintStream ve PrintWriter sınıflarının yapısı: java.io Class PrintStream java.lang.object java.io.outputstream java.io.filteroutputstream java.io.printstream

Detaylı

JAVADA DİZİ İŞLEMLERİ

JAVADA DİZİ İŞLEMLERİ JAVADA DİZİ İŞLEMLERİ Javada diziler nesnedirler, cdeki gibi hafızada yer kaplayan pointer değillerdir. Javada diziler, cye göre daha güvenilirdir. Dizilerin elemanlarına gelişigüzel değerler atayamazsınız.

Detaylı

MAT213 Bilgisayar Programlama I

MAT213 Bilgisayar Programlama I if Komutu Bir mantıksal (boolean) ifadenin sonucuna göre bazı komutların çalıştırılıp, bazı komutların da çalıştırılmamasını sağlar. Komut(lar) (Doğru) Doğru Yanlış Boolean Komut(lar) (Yanlış) if (boolean

Detaylı

OPERATÖRLER Alıştırmalar

OPERATÖRLER Alıştırmalar Bölüm 6 : Operatörler 1 OPERATÖRLER Alıştırmalar Aritmetik Operatörleri Operatör Açıklama Grup + Toplama, artı işleci Đkili Đşlem (binary operator) - Çıkarma, eksi işleci Đkili Đşlem (binary operator)

Detaylı

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

Detaylı

Java da Program Denetimi ve Operatörler. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1

Java da Program Denetimi ve Operatörler. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1 Java da Program Denetimi ve Operatörler Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1 Atamalar int a ; a=4 ; // doğru bir atama 4=a ; // yanlış bir atama! Altuğ B. Altıntaş 2003 Java ve Yazılım

Detaylı

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu BBS515 Nesneye Yönelik Programlama Ders 3 Zümra Kavafoğlu https://zumrakavafoglu.github.io/ Bağıntısal Operatörler operatör tanımı < küçüktür > büyüktür = büyük eşittir eşittir!= eşit

Detaylı

Temel Veri Türü İşlemleri

Temel Veri Türü İşlemleri Temel Veri Türü İşlemleri BİL131 - Bilişim Teknolojileri ve Programlama Hakan Ezgi Kızılöz Değişkenler ve Veri Türleri Programlama dillerinde her değişken için bir veri türü tanımı yapılır. Değişkenler,

Detaylı

Java Programlama Dilinde Veri Tipleri. Yrd. Doç. Dr. Aybars UĞUR

Java Programlama Dilinde Veri Tipleri. Yrd. Doç. Dr. Aybars UĞUR Java Programlama Dilinde Veri Tipleri Yrd. Doç. Dr. Aybars UĞUR Metoda Temel Veri Tipi Gönderme Java daki 8 Temel veri tipi (boolean, char, byte, short, int, long, float, double). public class OrnekTemelTip

Detaylı

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu BBS515 Nesneye Yönelik Programlama Ders 2 Zümra Kavafoğlu https://zumrakavafoglu.github.io/ Bu derste neler öğreneceğiz? IntelliJ ile proje oluşturma Yorum satırları Sınıf deklarasyonu İsimlendirme kuralları

Detaylı

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2 1 Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2 Eclipse Mimarisi 4 Java Teknolojisine Genel Bir Bakış 6 Taşınabilirlik 6 Java Derleyicisi ve Bytecode 6 Java Sanal Makinası (Java Virtual Machine - JVM)

Detaylı

J A V A D A P R O G R A M D E N E T İ M İ V E O P E R A T Ö R L E R

J A V A D A P R O G R A M D E N E T İ M İ V E O P E R A T Ö R L E R J A V A D A P R O G R A M D E N E T İ M İ V E O P E R A T Ö R L E R Atamalar int a ; a=4 ; // doğru bir atama 4=a ; // yanlış bir atama! Temel Tiplerde Atama Atama işlemi, temel (primitive) tipler için

Detaylı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 JAVA DA PROGRAM DENETİMİ VE OPERATÖRLER Java programlama dilinde temel tipleri ve nesneleri yönlendirmek ve değiştirmek için operatörler kullanılır. Atamalar sağ taraftaki

Detaylı

C# Diziler Sınıf metotları Erişim (kullanım hakkı) deyimleri Üyelerin ömrü(geçerlilik süresi) Hata ayıklama (debug) aracı

C# Diziler Sınıf metotları Erişim (kullanım hakkı) deyimleri Üyelerin ömrü(geçerlilik süresi) Hata ayıklama (debug) aracı C# Diziler Sınıf metotları Erişim (kullanım hakkı) deyimleri Üyelerin ömrü(geçerlilik süresi) Hata ayıklama (debug) aracı 1 Dersimizin Konusu Erişim (kullanım hakkı) deyimleri Metot tanımlama Üyelerin

Detaylı

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN ESM-361 Mikroişlemciler 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN Bit operatörleri Bit operatörleri bit düzeyinde işlem yapan operatörlerdir; yani sayıları bir bütün olarak değil, bit bit

Detaylı

Karşılaştırma İşlemleri ve Koşullu İfadeler

Karşılaştırma İşlemleri ve Koşullu İfadeler Karşılaştırma İşlemleri ve Koşullu İfadeler BİL131 - Bilişim Teknolojileri ve Programlama Hakan Ezgi Kızılöz Karşılaştırma İşlemleri Java'da sayısal veri tiplerinin karşılaştırılması için aşağıdaki karşılaştırma

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Genel Bilgiler Ders konuları 1. Programlamaya Giriş 2. Program Denetimi ve Operatörler 3. Nesnelerin

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 2 C# Programlama Dili Elemanları Bu bölümde;

Detaylı

Görsel Programlama. Temel Veri Tipleri, Değişkenler, Operatörler, Akış Kontrolü, Sınıflar, Metotlar, Paketler ve JavaDoc

Görsel Programlama. Temel Veri Tipleri, Değişkenler, Operatörler, Akış Kontrolü, Sınıflar, Metotlar, Paketler ve JavaDoc Görsel Programlama Temel Veri Tipleri, Değişkenler, Operatörler, Akış Kontrolü, Sınıflar, Metotlar, Paketler ve JavaDoc Sözcüksel Kurallar Java programları aşağıdaki bileşenlerin bir kolleksiyonudur: Boşluk

Detaylı

Diziler İndisli Değişkenler

Diziler İndisli Değişkenler Diziler İndisli Değişkenler Aynı tür bilgileri (öğrenci isimleri, şehir isimleri, kapı numaraları, fakülteler vbg.) bellekte tutmak için kullanabileceğimiz listelere dizi adı verilir. Dizi kullanmanın

Detaylı

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Ders #2 (2 Kasım 2009) İçerikç Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

Aritmetik Operatörleri Hemen her programlama dilinde olduğu gibi java dilinde de aritmetik işlemler yaparken aşağıdaki operatörleri kullanırız:

Aritmetik Operatörleri Hemen her programlama dilinde olduğu gibi java dilinde de aritmetik işlemler yaparken aşağıdaki operatörleri kullanırız: Bölüm 06 Operatörler Bu bölümde aşağıdaki konular anlatılacaktır: Aritmetik Operatörleri ++ ve Operatörleri Önel (Prefix) ve Sonal (Postfix) Takılar Atama Operatörleri Đlişkisel Operatörler Mantıksal (Logic)

Detaylı

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama İçerik Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili kavramlar Bu hafta:

Detaylı

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach() (LOOPS) while(), do-while(), for(), foreach() Döngüler (loops) while do-while for foreach while ( koşul ) işlemler; do işlemler; while (koşul ); for (başlangıç ; koşul ; arttırma) işlemler; foreach ( tip

Detaylı

11- FONKSİYONLAR (FUNCTIONS)

11- FONKSİYONLAR (FUNCTIONS) 1 Fonksiyon : Belirli bir işi yapan programın bir isim altına tanımlanarak, o isimle çağrılarak kullanılması. Fonksiyonun faydaları : Programın modülerliğini arttırır. Aynı işi yapan program parçası tekrar

Detaylı

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié DERSİN WEB SİTESİ: http://nucleus.istanbul.edu.tr/~bilprog2/ DeğiĢkenler ve Data Türleri

Detaylı

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz. Ön bilgi: Dizi tanımlayabilmeli. foreach deyimi bilinmeli. Rastgele sayılar (Random) bilinmeli. 1. Aşağıda tamsayı tipinde iki boyutlu bir dizinin nasıl tanımlandığı, bir fonksiyona parametre olarak nasıl

Detaylı

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/ MTK467 Nesneye Yönelik Programlama Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/ while döngüsü while(koşul){ } döngü ifadeleri Koşul boolean değerli olmalıdır. Koşulun değeri true

Detaylı

Dizi ( Array ) ve Dizgi ( String )

Dizi ( Array ) ve Dizgi ( String ) Java da Dizi ( Array ) ve Dizgi ( String ) Tanımlama BBS-515 Nesneye Yönelik Programlama Ders #6 (25 Kasım 2009) İçerikç Geçen ders: Kalıtım ( inheritance ) -- tekrar ziyaret Java da super kullanımı Java

Detaylı

BASİT VERİ TÜRLERİ, STRİNGLER, VE KONSOL GİRİŞ/ÇIKIŞ

BASİT VERİ TÜRLERİ, STRİNGLER, VE KONSOL GİRİŞ/ÇIKIŞ BASİT VERİ TÜRLERİ, STRİNGLER, VE KONSOL GİRİŞ/ÇIKIŞ BMÜ-101 ALGORİTMA VE PROGRAMLAMA İLHAN AYDIN 2013-2014 GÜZ DÖNEMİ FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ AMAÇLAR İlkel veri türleri ile tanışmak

Detaylı

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak. Selçuk Üniversitesi Mühendislik Fakültesi Harita Mühendisliği Bölümü Final Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :09.01.2013, 60 dak. Dikkat!!! Soru kitapçığında ve

Detaylı

Ders - 7 while döngüsü

Ders - 7 while döngüsü Ders - 7 while döngüsü import java.util.scanner; public class StringKiyaslama { public static void main(string[] args) { Scanner klavye=new Scanner(System.in); Oncelikle Lab icin bir aciklama System.out.println("1.

Detaylı

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Örneğin; bir öğrenci, sıra, çember, bir buton birer nesnedir. Bir

Detaylı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 1 (Değerler, Değişkenler, İşleçler, Tip Dönüşümleri, Mantıksal Operatörler) Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler

Detaylı

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş Kurulum için ilk önce Sun Microsystems in sitesinden uygun J2SE sürümünü indirin. Ben J2SE v1. 4. 2_16 Windows Installer paketini kullandım J2SE SDK Kurulumu aşağıdaki gibi başlayacaktır. 1 Kurulum tamamlandıktan

Detaylı

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) { Fonksiyonlar Kendi içinde bağımsız olarak çalışabilen ve belli bir işlevi yerine getiren program modülleridir. C programları bu modüllerden (fonksiyonlar) oluşurlar. Fonksiyonların yazılmasındaki temel

Detaylı

M.ilkucar MAKU MYO 1

M.ilkucar MAKU MYO 1 M.ilkucar 2010 - MAKU MYO 1 7- PROGRAM YAPISAL KOMUTLARI Acaba hangi yöne gitmeliyim? Oturduğun yerden kalkıp, kapıya varana kadar kaç kez karar verdiniz biliyor musunuz? M.ilkucar 2010 - MAKU MYO 2 7-

Detaylı

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta Ön bilgi: Özyineli fonksiyon tanımlanabilmeli. Dizilerin fonksiyon parametresi veya geri dönüş değeri olarak kullanımı bilinmeli. 1. Klavyeden girilen sayı n olmak üzere [1..n] aralığındaki sayıların toplamı

Detaylı

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 13.04.2015 Süre : 60 dak. 1. Hangisi gerçek sayı değişmezi değildir?

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Programlama Dili ve Yazılım Tasarımı, Altuğ B. Altıntaş, Papatya

Detaylı

Mantıksal (Logic) Operatörler

Mantıksal (Logic) Operatörler Mantıksal (Logic) Operatörler Bilgisayar dillerinin hemen hepsinde, program akışını kontrol edebilmek ve yönlendirebilmek için mantıksal operatörler kullanılır. Java dilinde kullanılan mantıksal operatörler

Detaylı

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir: Programın Akışının Denetimi Bir program komutların yazıldığı sırada akar. Ama çoğunlukla, bu akışı yönlendirmek gerekir. Bu iş için denetim yapılarını kullanırız. Bunlar iki gruba ayrılabilir: Yönlendiriciler

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları SABİTLER VE DEĞİŞKENLER Değişken, verilerin bellekte geçici olarak kaydedilmesini ve gerektiğinde kullanılmasını sağlayan değerdir. Nesne tabanlı programlama dilinde değişken kullanımı diğer programlama

Detaylı

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler Veri Tanımları ve Mantıksal Đşlemler Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Kullanılacak bütün değişkenlerin kullanılmadan önce C derleyicisine bildirilmeleri gerekir.

Detaylı

JAVA DEĞİŞKEN VE OPERATÖRLER. M.İLKUÇAR - 1

JAVA DEĞİŞKEN VE OPERATÖRLER. M.İLKUÇAR - 1 JAVA DEĞİŞKEN VE OPERATÖRLER M.İLKUÇAR - imuammer@yahoo.com 1 JAVA Değişken : program içerisinde değeri dinamik olarak değişebilen yapılardır. Belirli bir tipi vardır. Bu yüzden tanımlandığı tipteki verileri

Detaylı

Java ile Nesneye Yönelik Programlama (Object Oriented Programming)

Java ile Nesneye Yönelik Programlama (Object Oriented Programming) Java ile Nesneye Yönelik Programlama (Object Oriented Programming) Giriş Yrd. Doç. Dr. Aybars UĞUR Örnek 1 Bir Yolcu sınıfı, yolcu1 nesnesi oluşturulması ve kullanılması class Yolcu String ad; String soyad;

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, C++ İÇİN UFAK HATIRLATMALAR Değişken adları bir harf ile başlamalıdır. (a-z, A-Z). Değişken adı numara içerebilir.

Detaylı

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ Java programlama dili, Java SUN bilgisayar şirketi tarafından 1991 yılında geliştiril Program bloklar halinde yazılır ve bloklar { } ile oluşturulur. Komutlar aynı satıra

Detaylı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri BLM-111 PROGRAMLAMA DİLLERİ I Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Temel Veri Tipleri C dilinde

Detaylı

C++ Statements. { ve } arasında ifade edilen bir dizi statement bir compound statement (birleşik ifade) oluşturur.

C++ Statements. { ve } arasında ifade edilen bir dizi statement bir compound statement (birleşik ifade) oluşturur. C++ Statements En küçük çalışabilir birime statement (ifade) denir. Statements semicolon (;) ile sonlandırılır. Yalnız başına ; null statement ifade eder Örnek: while (*str++ = *inbuf++) ; { ve } arasında

Detaylı

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 6. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Veri Tipleri Yük. Müh. Köksal Gündoğdu 2 Veri Tipleri Tam sayı ve Ondalık sayı veri tipleri Veri Tipi Alt Sınıf Üst Sınıf Duyarlı

Detaylı

ALGORTMA ve PROGRAMLAMA - II (C# Sürümü) DERS NOTLARI

ALGORTMA ve PROGRAMLAMA - II (C# Sürümü) DERS NOTLARI T.C. EGE ÜNVERSTES MÜHENDSLK FAKÜLTES BLGSAYAR MÜHENDSL BÖLÜMÜ ALGORTMA ve PROGRAMLAMA - II (C# Sürümü) DERS NOTLARI Y. Doç. Dr. Aybars UUR C# PROGRAMLAMA ÖRNEKLER Deiken Tanımlama, Aritmetik lemler, String'ler,

Detaylı

1 JAVASCRIPT NEDİR? 1

1 JAVASCRIPT NEDİR? 1 İÇİNDEKİLER IX İÇİNDEKİLER 1 JAVASCRIPT NEDİR? 1 2 TEST ORTAMINI TANIMAK (FİREFOX VE FİREBUG) 5 Firefox 6 Firebug 8 CSS Sekmesi 10 DOM Sekmesi 11 Net ve Çerezler Sekmeleri 11 Script Sekmesi 11 Konsol Sekmesi

Detaylı

Floating Point (Kayan Noktalı Sayılar)

Floating Point (Kayan Noktalı Sayılar) Süleyman Demirel Üniversitesi / Mühendislik Fak. / Bilgisayar Mühendisliği Bölümü Floating Point (Kayan Noktalı Sayılar) BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

Detaylı

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma C Programlama Dr. Serkan DİŞLİTAŞ 7.1. Metot Kavramı Programlama dillerinde bütün kod satırlarının

Detaylı

İnternet Programcılığı Dersi 2.Dönem Ders Notu

İnternet Programcılığı Dersi 2.Dönem Ders Notu İnternet Programcılığı Dersi 2.Dönem Ders Notu DEĞİŞKEN TİPLERİ TAM SAYI (İNTEGER) VERİ TİPİ Negatif veya pozitif ondalık kısmı bulunmayan sayılardır. Örnek: $i=65; $x=345; ONDALIK(REAL)VERİ TİPİ Ondalıklı

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101

Detaylı

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1 Görsel Programlama DERS 01 Görsel Programlama - Ders01/ 1 Takdim Planı Nesneye Dayalı Programlama Kavramı Nesne, Sınıf Kavramı Java Programlama Dili Java Programlama Dili Temel Özellikleri Java Sürümleri

Detaylı

BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING)

BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING) 1 BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING) LECTURE 3: ASSIGNMENT OPERATOR Lecturer: Burcu Can BBS 514 - Yapısal Programlama (Structured Programming) 2 Lexical Elements (Sözcüksel Elemanlar)

Detaylı

BİL1001 Bilgisayar Bilimlerine Giriş 1

BİL1001 Bilgisayar Bilimlerine Giriş 1 DEÜ Bilgisayar Bilimleri Bölümü BİL1001 Bilgisayar Bilimlerine Giriş 1 Öğr. Gör. Dr. Alper VAHAPLAR 2017 Yaz Okulu Tekrarlı Yapılar Algoritmanın belirli bir kısmının, belirli kere ya da belirli durumlar

Detaylı

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1 Programlama Dilleri C Dili Programlama Dilleri-ders02/ 1 Değişkenler, Sabitler ve Operatörler Değişkenler (variables) bellekte bilginin saklandığı gözlere verilen simgesel isimlerdir. Sabitler (constants)

Detaylı

Görsel Programlama 1

Görsel Programlama 1 Görsel Programlama 1 1. Ekrana Hello world! yazan c# console application kodları: Console.Write("Hello world!"); 2. Ekranda ilk satıra Hello, ikinci satıra world! yazan kod: Console.WriteLine("Hello");

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 6 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyon Prototipleri Fonksiyon Prototipleri Derleyici, fonksiyonların ilk hallerini (prototiplerini)

Detaylı