Numaralandırmalar(Enumaration)

Slides:



Advertisements
Benzer bir sunumlar
Programlama-II (Java ile Bilgisayar Programlama)
Advertisements

Serileştirme (Serialization)
Ders İçeriği Ağaç Veri Modeli Tanım ve Gerçekleştirim İkili Ağaç
Saatte V km hız ile giden bir aracın t zamanda aldığı yolu bulan metodu yazınız. Metodu kullanacak bir program yazınız. ( yol=hız*zaman, x=V*t) — Metot.
Bölüm 12 ÜST DÜZEY KONULAR Dinamik Bellek Ayırma Önişlemci
Nesnelerin Özellikleri. - Üye nesneler - friend belirtesi - Nesnelerin operatörlere yüklenmesi - this yerel (lokal) değişkeni - inline tanımlı üye fonksiyonlar.
NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR
void medyan(int cevap[]) { int j; siralama(cevap);
Programlama-II (Java ile Bilgisayar Programlama)
Nesneye Dayalı Programlama
Değişken Bildirimleri
Nesneye Dayalı Programlama
OOP UYGULAMA 5.
EDUTIME Java Day 4 Serdar TÜRKEL.
P p 8. Ünitede yinelemeli programlamanın teknikleri anlatılmaktadır. p p Gördüğünüz gibi, yinelemeli programlama bir problemin içinde problemin küçük parçalarını.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi Hazırlayan : Nuri AVCI
Nesne Tabanlı Programlama
Nesneye Yönelik Programlama Dr. Pelin GÖRGEL
SINIFLAR GİRİŞ Yılmaz Kılıçaslan.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
DİZİLER.
DELEGATE OOP-UYG.
Erişim Denetimi, Fonksiyon
NESNE TABANLI PROGRAMLAMA -METOTLAR-
C# Metot Overloading (Aşırı yükleme)
İSİM UZAYLARI (NAMESPACE)
NESNEYE DAYALI PROGRAMLAMA
.Net teknolojisi ve C# Yasin Gedik Dokuz Eylül Üniversitesi (4. Sınıf) Microsoft Danışman Öğrenci
Chapter 7: Using Methods. Metotları ve Kodlamayı Gizlemeyi Anlama Metot – Kapsüllenmiş ifadeler serisini gerçekleştiren bir görev – Kullanılan metodun.
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
Görsel C# Programlama Güz 2009 (6. Hafta).
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
Java Sınıf ve Nesne Kavramı UML Gösterimi
Net Class Framework ’ ün en üst yapısına İsim Uzayı denir. İsim uzayları ; pascal programlama dilinde 1990 ve hatta öncesinden beri varolmuş, C’de yer.
BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL
SABİT NESNE VE ELEMAN FONKSİYONLAR VE ELEMAN NESNELER
JAVA İLE PROGRAMLAMAYA GİRİŞ
Ders 2- Veri türleri, Karar ve Döngü Yapıları, Görsel Kontröller Aslı Ergün.
ÇOK BİÇİMLİLİK POLYMORPHISM
Önceki Dersi Hatırlama !!
EDUTIME Java Day 8 Serdar TÜRKEL.
Kalıtım , Sınıf Asli Ergün.
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
DÖNGÜLER.
Diziler (Arrays).
JAVA’DA DİZİLER Dr.Galip AYDIN.
Sınıflar ve Nesneler Sınıf: bir nesnenin şablonunu, kalıbını, şeklini, davranışını, kalıtımını değişkenleri, metodları ve ebeveynleri vasıtasıyla tanımlar.
Trees, Vectors, Iterators. ADT Abstract Data Type (ADT) vs implementation -Soyut Veri Türleri - Uygulamaları.
Ders İçeriği Liste Soyut veri yapısı (ADT)
DÖNGÜLER(Loop) while, for döngüleri Break ve continue işlevleri
Bölüm 5 Nesneler ve Metotlar
Bil 102 Bölüm 6 Diziler.
Bil 102 Bölüm 3 Java’da Program Akış Denetimi Bil 1021.
Bilgisayar programlarının en büyük avantajı, kullanıcının işini kolaylaştırmalarıdır. Her bilgisayar programı bunu değişik metotlar kullanarak sağlar.
Ders 2- Veri türleri, Karar ve Döngü Yapıları, Görsel Kontröller
JAVA PROGRAMLAMA ORNEKLER
ODTU-SEM Copyright (c) 2011 Kalıtım(Inheritance) Subclass lar tüm method ve attributes larının superclass ından alırlar. Bu işlem için extends keyword.
SINIFLAR ve NESNELER. İlk sınıfımızı ekleyelim class KrediHesap { public ulong HesapNo; public double Limit; public string KartSahibi; }
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
BİLGİSAYAR programlama II
Bilgisayar Programlama III C
Hafta2 Rekürsif Algoritmalar
Nesneye Dayalı Programlama
Veri Tipleri 12/4/2018.
JAVA’DA DİZİLER. Özet  Dizi: belirli sayıda ve aynı veri türünden de ğ işkenlere aynı adla erişilmesini sa ğ layan bir yapıdır.  Dizilerde döngü işlemleri.
YAPISAL PROGRAMLAMA Hafta-7
Kurucular(Yapıcılar), Yıkıcılar
Nesneye Dayalı Programlama 1
Nesneye Dayalı Programlama 1
Sunum transkripti:

Numaralandırmalar(Enumaration) Tanımlama şekli; Enum isim{ numaralandırma listesi }; Burada isim numaralandırmaya verilen tip ismini, numaralandırma listesi de “,” ile ayrılan tanımlayıcıların listesini belirler. Bu listede ilk değer 0’dan başlar ve 1 artarak devam eder.

C# PROGRAMI OLUŞTURMAK using System; class üniversite{ enum bolumler { //burada tanımlanan tüm sabitler int(varsayılan) türündedir Bilgisayar_öğretmenliği, Elektronik_öğretmenliği, Elektrik_öğretmenliği, Yapı_öğretmenliği, Otomotiv_öğretmenliği } public static void Main() { bolumler b; for (b=bolumler.Bilgisayar_öğretmenliği; b<=bolumler.Otomotiv_öğretmenliği;b++) { Console.WriteLine("{0} 'nın etiketi ={1,4:d}",b,(int)b);

using System; class üniversite{ enum bolumler: byte { // tüm sabitler byte türündedir Bilgisayar_öğretmenliği, Elektronik_öğretmenliği, Elektrik_öğretmenliği, Yapı_öğretmenliği, Otomotiv_öğretmenliği } public static void Main() { bolumler b; for (b=bolumler.Bilgisayar_öğretmenliği; b<=bolumler.Otomotiv_öğretmenliği;b++) { Console.WriteLine("{0} 'nın etiketi ={1,4:d}",b,(int)b);

C# İSİM ALANLARI VE SYSTEM İSİM ALANI using System; namespace üniversite1 { class fakülte { public string fak_ad; public string böl_ad; public fakülte(string fak_ad,string böl_ad) { this.fak_ad=fak_ad; this.böl_ad=böl_ad; } } class start { static void Main() { üniversite1.fakülte k=new üniversite1.fakülte("Teknik Eğitim fakültesi","Bilgisayar Öğretmenliği"); Console.WriteLine(k.fak_ad+"\n"+k.böl_ad);

C# İSİM ALANLARI VE SYSTEM İSİM ALANI Aşağıdaki programda ise önceden yazılmış olan bir namespace ’i başka bir programda nasıl kullanıldığını göstereceğiz. using System; namespace üniversite1{ class fakülte { public string fak_ad; public string böl_ad; public fakülte(string fak_ad,string böl_ad) { this.fak_ad=fak_ad; this.böl_ad=böl_ad; }

C# İSİM ALANLARI VE SYSTEM İSİM ALANI using System; using üniversite1; class start1 { static void Main() { üniversite1.fakülte f2=new üniversite1.fakülte("Teknik Eğitim Fakültesi","Elektronik Öğretmenliği"); Console.WriteLine(f2.fak_ad+"\n"+f2.böl_ad); }

C# Temel Tür Yapıları Tamsayı Tipindeki Yapılar using System; class class1 { public static void Main() { string a="25"; int b=Int32.Parse(a); Console.WriteLine(UInt64.MaxValue); Console.WriteLine(UInt64.MinValue); Console.WriteLine(b); } Byte sByte İnt16 uİnt16 İnt32 Uint32 İnt64 Uint64

C# Temel Tür Yapıları Parse() metoduyla ilgili dikkat edilmesi gerekilen bir husus string değişkeninin alfa sayısal karakter içermemesidir. Aynı şekilde Double yapısında da string yapısını Double yapısına dönüştürür. Tamsayı veri yapılarıyla ilgili diğer önemli metotlar da CompareTo(), Equals() ve ToString() metotlarıdır. int a=2; int b=32; b.CompareTo(a) b<a ise -1 b>a ise 1 b==a ise 0 b. Equals(a) b==a ise true b!=a ise false

C# Temel Tür Yapıları Char Tipinde Yapılar char a='a'; Console.WriteLine(char.ToUpper(a)+"\n"); A Diğer yapılar notlarda ToLower(char str) str büyük harf ise küçük harfe çevirir. ToUpper(char str) str küçük harf ise büyük harfe çevirir.

C# Temel Tür Yapıları Boolean Tipinde Yapılar Boolean veri yapısında iki tane özellik vardır. Bunlar FalseString ve TrueString’dir. Bu özelliklerde String türündendir, false ve true yazılarını içerirler. CompereTo(), Equals(), Parse() ve ToString() boolean yapısında bulunan diğer metotlardır. Kendisine has bir metodu yoktur.

//Program that demonstrates TrueString and FalseString [C#] using System; class Program { static void Main() // Write values of these properties. Console.WriteLine(bool.TrueString); Console.WriteLine(bool.FalseString); Console.WriteLine(); Console.WriteLine(bool.TrueString == "True"); Console.WriteLine(bool.FalseString == "False"); } /*Output True False */

C# Temel Tür Yapıları Tarih ve Zaman Tipinde Yapılar C#’ta tarih ve saat işlemleri system isim uzayında bulunan DateTime() ve TimeSpan() yapıları ile gerçekleştirilmektedir. using System; class zaman { public static void Main() { Console.WriteLine("*****************************"); Console.WriteLine("En küçük zaman bilgisi = "+DateTime.MinValue); Console.WriteLine("En büyük zaman bilgisi = "+DateTime.MaxValue); }

C# Temel Tür Yapıları using System; class zaman { public static void Main() { DateTime tarihsaat=new DateTime(); tarihsaat=DateTime.Now; Console.WriteLine(tarihsaat); DateTime tarih=new DateTime(); tarih=DateTime.Today; Console.WriteLine(tarih); } }

C# Temel Tür Yapıları TimeSpan yapısı iki DateTime nesnesi arasındaki farkı temsil eder. using System; class tarih { public static void Main() int yıl,ay,gün; Console.WriteLine("Doğum yılı"); yıl=Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Doğum ayı"); ay=Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Doğum günü"); gün=Convert.ToInt32(Console.ReadLine()); TimeSpan k=new TimeSpan(); DateTime d1=new DateTime(yıl,ay,gün); k=DateTime.Now-d1; Console.WriteLine("Yaşınız = "+k.Days/365); Console.WriteLine("doğduğunuz gün= "+d1.DayOfWeek); }

C# Temel Tür Yapıları Convert Sınıfı using System; class ortalamaHesapla { public static void Main() { Console.Write("Vize1 = "); int vize1=Convert.ToInt32(Console.ReadLine()); Console.Write("Vize2 = "); int vize2=Convert.ToInt32(Console.ReadLine()); Console.Write("Final = "); int final=Convert.ToInt32(Console.ReadLine()); double a=((double)vize1*0.2+ (double)vize2*0.3 +(double)final*0.5); Console.WriteLine("Ortalama = {0}",a); }

C# Temel Tür Yapıları Temel String(Karakter Dizileri) İşlemleri string a="Merhaba"; a[1]='a'; char[] dizi={'1','2','3','4'}; String str=new String(dizi);

C# Temel Tür Yapıları String.Concat() //ELEMEMANLARIN TOPLU HALDE YAZIMI using System; class Concat { public static void Main() { String str1=String.Concat("Bilgisayar"," Öğretmenliği"); Console.WriteLine(str1); String str2=String.Concat("Z","5","s","3","f"); Console.WriteLine(str2); String str3="Bilgisayar"+" Öğretmenliği"; Console.WriteLine(str3); String str4=String.Concat(5,"A"); Console.WriteLine(str4); }

C# Temel Tür Yapıları String.Compare() using System; class class1 { public static void Main() { string a="Aa"; bool sa=true; string v="aa"; int c=String.Compare(a,v,sa); Console.WriteLine(c); }

C# Temel Tür Yapıları Arama İşlemleri-IndexOf Karakter bulunmaz ise -1 döndürür. Birden fazla “n” varsa ilk n ’nin index numarasını döndürür. using System; class arama{ public static void Main() { string yazı="firat üniversitesi"; Console.WriteLine(yazı.IndexOf("ver")); Console.WriteLine(yazı.IndexOf('t')); Console.WriteLine(yazı.IndexOf('c')); } Diğer arama metotları ders notkarında mevcut

C# Temel Tür Yapıları Budama ve Doldurma İşlemleri Trim(): stringin başındaki ve sonundaki boşlukları silmek string Trim() string Trim(params char[] dizi) İkinci metotta stringin başından ve sonundan karakterler silinir.

C# Temel Tür Yapıları stringin başına ve sonuna karakterler eklemek string PadRight(int boyut);//stringin uzunluğu boyuta eşit olana kadar stringin sağına boşluk ekler string PadRight(int boyut,char a);//stringin uzunluğu boyuta eşit olana kadar stringin sağına 'a' karakterini ekler string PadLeft(int boyut);//stringin uzunluğu boyuta eşit olana kadar stringin soluna boşluk ekler string PadLeft(int boyut,char karakter);//stringin uzunluğu boyuta eşit olana kadar stringin sağına 'a' karakterini ekler

C# Temel Tür Yapıları Split() ve Join() Metotları string [] Split(params char[] ayırıcı) string [] Split(params char[] ayırıcı, int toplam) İkinci metotta ise bu parçalama işlemi en fazla toplam sayısı kadar yapılır. using System; class Ayırmaişlemi { public static void Main() string str="Eektronik Bilgisayar Eğitimi Bölümü"; char[] ayırıcı={' '}; string[] ayır=str.Split(ayırıcı); foreach(string i in ayır) Console.WriteLine(i); }

C# Temel Tür Yapıları Split() ve Join() Metotları static string join(string ayırıcı,string[] yazılar) static string join(string ayırıcı,string[] yazı,int başla,int toplam) İkinci metotta ise [basla] ‘dan itibaren toplam kadar yazı elemanı birleştirilir. using System; class bireştirmeişlemi { public static void Main() string[] str={"Eektronik" ,"Bilgisayar" ,"Eğitimi" ,"Bölümü"}; string birleş=String.Join(" ",str); Console.WriteLine(birleş); }

C# Temel Tür Yapıları using System; class digermetotlar { public static void Main() string str="Elektronik Bilgisayar Eğitimi Bölümü"; str=str.ToUpper(); Console.WriteLine(str+"\n"); str=str.ToLower(); str=str.Remove(11,10); str=str.Insert(11,"Bilgisayar"); str=str.Replace('B','S'); str=str.Substring(11); }

C# Temel Tür Yapıları Yazıları Biçimlendirme using System; class Biçimlendiriciler { public static void Main() float f=123.45F; int a=12; Console.WriteLine("{0:D5}",a); Console.WriteLine("{0:E3}",f); Console.WriteLine("{0:F4}",f); //virgülden sonra 4 rakam }

C# Temel Tür Yapıları String.Format() ve ToString() Metotları İle Biçimlendirme using System; class StringFormat { public static void Main() int a=12; string str=String.Format("{0:d3}",a); Console.WriteLine(str); } class Tostring string str=a.ToString("C3"); //virgülden sonra 3 rakam

C# İstisnai Durum Yakalama try: Kaynak koddaki hataların bulunacağı kod bloklarını temsil eder. catch: try bloğundan fırlatılan hatayı yakalayarak bunu mantıksal bir şekilde kontrol altına alır. Birden fazla olabilir. finally: try bloğundan çıktıktan sonra kesinlikle yazılması gereken kod buraya yazılır. throw: Kural dışı bir durumu elle fırlatmak için kullanılır. İstisnai durum yakalama mekanizması aşağıda verilmiştir. try { //hatanın fırlatıldığı bölüm } catch(kuraldışı_tip a) //kural dışı ip için yönetici finally //kaynakların temizlenmesi

C# System isim uzayında tanımlı, sıkça kullanılan kural dışı durumlar aşağıda verilmiştir ArrayTypeMismatchException: Depolanmakta olan değerin tipi dizi tipi ile uyumsuz. DivideByZeroException: Sıfıra bölünme hatasında fırlatılır. IndexOutOfRangeException: Dizi indexi sınıf dışına taştığında fırlatılır. InvalidCatsException: Programın çalışması sırasında geçersiz tür dönüşümü yapıldığında fırlatılır. OverflowExcepiton: Aritmetik taşma meydana geldiğinde fırlatılır. NullReferanceExcepiton: Null referans üzerinde işlem yapıldığında fırlatılır. StackOverflowException: Yığın taşmıştır. FormatException: Metotlarda yanlış formatta parametre gönderildiğinde fırlatılır. ArithmeticExcepiton: Bu sınıf ile DivideByZeroException ve OverflowException hataları yakalanabilir. Aritmetik işlemler sonucunda oluşan istisnai durumlarda fırlatılır. OutOfMemoryExcepiton: Programın çalışması içi yeterli bellek miktarı olmadığında fırlatılır.

C# using System; class hatayakalama1 { public static void Main() try int a=50,b=0; Console.WriteLine(a/b); } catch(DivideByZeroException e) Console.WriteLine("Sıfıra bölünme hatası yakalandı"); finally Console.WriteLine("\n program sonlandırılıyor");

C# exception sınıfının önemli üye elemanları Message: Hatanın özünü tarif eden bir karakter katarı içerir. Source: catch bloğunda yakalanan istisnai durum nesnesinin gönderildiği uygulamanın ya da sınıfın adıdır. HelpLink: Fırlatın hata ile ilgili yardım dosyasının yol bilgisini saklar. StackTrace: İstisnai durumun fırlatıldığı metot ve programla ilgili bilgi içerir. TargetSite: İstisnai durumun hangi metot tarafından üretildiğini belirten bir nesne alır. InnerException: Eğer catch bloğu içerisinde bir hata fırlatılırsa catch bloğuna gelinmesini sağlayan istisnai durumun exception nesnesidir.

C# throw anahtar Sözcüğü throw ifadesini kullanarak bir kural dışı durumu elle fırlatmak mümkündür. Örneğin try bloğu içerisinde bir IndexOutOfRangeExcepiton hatasını fırlatmak için; throw new IndexOutOfRangeException("dizinin sınırları aşıldı"); yazılır. Burada throw ile beraber new anahtar sözcüğünü kullanmak şart değildir. İstisnai durum nesnesini oluşturup throw ile aşağıdaki gibide fırlatabiliriz. IndexOutOfRangeException e=new IndexOutOfRangeException("dizinin sınırları aşıldı"); throw e;

C# using System; class hatayakalama1{ public static void Main(){ try { int a=50,b=0; throw new DivideByZeroException("sıfıra bölünme hatasıyakalandı"); Console.WriteLine(a/b); } catch(DivideByZeroException e) { Console.WriteLine(e.Source); Console.WriteLine(e.TargetSite); Console.WriteLine(e.ToString()); Console.WriteLine("program bilgisi : "+e.StackTrace); } finally { Console.WriteLine("\n program sonlandırılıyor"); } }