C# ile İlk Uygulamalar ve Değişkenler
Transkript
C# ile İlk Uygulamalar ve Değişkenler
C# ile İlk Uygulamalar ve Değişkenler C# ilk program-konsol uygulaması C# açıkdıktan sonra File-New-Project C# ilk program Açılan pencererede ilk olarak konsol uygulamasını seçiyoruz C# ilk program Karşımıza çıkacak olan ekran : C# ilk program Kodu yazdıktan sonra yeşil üçgene veya F5 tuşuna programı çalıştırmak için basalım Kod bu araya yazılacak C# ilk program İstediğimiz yazı konsol ekranında görülmüştür. Enter tuşuna basarsak program sonlanır… C# ilk program Programı tekrar nasıl çalıştıracağız? Projeyi nasıl açacağız? Proje nereye kaydedildi? C# ilk program detaylı inceleme Console.WriteLine("Merhaba, Bu benim ilk programim"); Sınıf (Class) Metod (Method) Parametre (Parameter) Console.ReadLine(); Sınıf Metod Parametre Kabul Etmiyor C# ilk program detaylı inceleme C# dilinde herşey bi sınıftır. Her sınıfın iş yapan çeşitli elemanları vardır. İş yapan elemanlara metot yada işlev denilir. C# dili .NET platformu üzerinde yazılım geliştirmek için kullanılan bir araçtır. .NET sınıf kütüphanesinden faydalanma imkanımız vardır. Zaten .NET’i ve C# ı güçlü kılan özelliklerinden biri .NET platformunda binlerce hiyerarşik olarak düzenlenmiş ulaşımı kolay sınıflar bulunur. Bunlardan biri de console sınıfıdır. Namespace (isim alanı) İsim alanı (namespace) C# ilk program detaylı inceleme Namespace (isim alanı) .NET Framework dediğimiz altyapının bize veya diğer programlama dillerini kullanan programcılara sunduğu bir takım temel türler ve sınıflar mevcuttur. Bütün bu sınıfları ve türleri iyi organize edebilmek için .NET, namespace kavramını sıklıkla kullanmaktadır. Demekki .NET teki sınıf kütüphaneleri bir dilden bağımsız bir yapıdadır. Namespace ler .NET Framework sınıf kütüphanesindeki veri türlerini ve sınıfları kullanabilmemiz için C# dilinde using anahtar sözcüğü ile birlikte kullanılır ve derleyiciye bildirilir. Diğer dillerde ise bu isimalanları farklı şekilde derleyiciye bildirilir, ama temelde yapılan iş .NET Framework sınıf kütüphanelerini kullanma hakkı almaktır. Şimdi Programımızda using ile başlayan satırları silelim ve programı çalıştıralım C# ilk program detaylı inceleme Namespace (isim alanı) Aşağıdaki gibi bir hatayla karşılaşırsınız C# ilk program detaylı inceleme Namespace (isim alanı) İsim alanlarını baştan belirtmek yerine alternatif olarak kodunuzu isim alanlarını belirterek de yazabilirisiniz. System.Console.WriteLine("Merhaba, Bu benim ilk programim"); System.Console.ReadLine() ; Sınıfların bu şekilde belirtilmesi pek tercih edilmeyen bir yöntemdir. Çünkü içiçe bir çok isimalanının tanımlandığı durumlarda kaynak kodumuz gereksiz yere isimalanlarını yazmakla uzamaktadır. Bu hem okunabilirliği bozmakta hemde programcıya zaman kaybettirmektedir. C# ilk program detaylı inceleme Çift Tırnak İşareti Console.WriteLine("Merhaba, Bu benim ilk programim"); Tırnak işaretlerini kaldırırsak ne olur? Console.WriteLine(Merhaba, Bu benim ilk programim); C# ilk program detaylı inceleme Çift Tırnak İşareti " Programlama dillerinde karakter kelimesi, bir harf, sayı, noktalama işareti ya da bir sembol anlamına gelir. String kelimesi ise karakterlerin yan yana gelerek oluşturdukları dizi anlamına gelir. Stringlerden oluşan bir değişken c#’da çift tırnak işareti ile belirtilir. Ödev1 : Ekran çıktısı olarak ‘’Merhaba Bu benim ilk programım’’ veren konsol uygulamasını yazınız. Ekranda tırnak işaretleri görünecektir. C# ilk program detaylı inceleme Noktalı virgül ; Herhangi bir C# deyiminin sonuna noktalı virgül eklemeyi unutmak programımızın hata vermesine neden olur. Boş satır Programın daha kolay okunabilmesini ve anlaşılabilmesini sağlar. Boş satırlar derleyici tarafından dikkate alınmazlar. C# ilk program detaylı inceleme Aşağıdaki kod satırları hata verir mi? Console.WriteLine("Merhaba, Bu benim ilk programim") //çalışmaz ; yok Console. WriteLine("Merhaba, Bu benim ilk programim"); Console.WriteLine("Merhaba, Bu benim ilk programim"); // çalışır Çalışmaz Bir string tek satır olmak zorundadır C# ilk program detaylı inceleme Bütün C# konsol uygulamaları çalışmaya Main fonksiyonunu işleterek başlar. Main fonksiyonu olmayan bir C# uygulaması düşünülemez. Main kelimesinin ilk harfi olan M daima büyük harfle yazılmalıdır. (C#’ın casesensitive olduğunu unutmayınız.) Main kelimesinden sonra kullanılan normal parantezler bir fonksiyonun (metodun varlığına işaret eder. Metodlar belirli işler yaparlar ve genelde geriye değer döndürürler. void anahtar kelimesi Main fonksiyonunun geriye hiçbir değer döndürmediğini belirtir. örnek Ekran çıktısı resimdeki gibi olan kodu sadece writeline metodunu kullanarak gerçekleştiriniz. Örnek-Kod Console.WriteLine("--------------------------------"); Console.WriteLine(" "); Console.WriteLine("------ATATURK UNİVERSİTESİ------"); Console.WriteLine(" "); Console.WriteLine("--ENDUSTRİ MÜHENDİSLİGİ BÖLÜMÜ--"); Console.WriteLine(" "); Console.WriteLine("---------ERZURUM 2012-----------"); Console.WriteLine(" "); Console.WriteLine("--------------------------------"); Console.ReadLine(); C# ilk program görsel uygulama File-new-project C# ilk program görsel uygulama Form1’e bir button ve bir textbox sürükleyip bırakıyoruz C# ilk program görsel uygulama Button1’e çift tıkladığımızda: butonun click olayına erişiriz. Yani butona tıkladığımızda programın ne yapmasını istiyorsak buraya yazıyoruz. C# ilk program görsel uygulama Biz programımızda butona tıklandığında textbox içine bir yazı yazılmasını istiyoruz. Yazılan kod ve program çalıştığında oluşacak görüntü aşağıdadır. private void button1_Click(object sender, EventArgs e) { textBox1.Text = "Merhaba Bu benim ilk Programım"; } Örnek:2-1 Uygulamayı biraz daha görselleştirmek istersek. Proje ismi ornek_2_1 olan bir c# projesi için İstenenler From üzerinde 3 buton 1 textbox Buton1 üzerindeki yazı : textbox’a yaz Buton2 üzerindeki yazı : sil Buton3 üzerindeki yazı : kapat Textbox arka plan rengi kırmızı Textbox üzerindeki yazının rengi sarı Buton1’e basıldığında textbox üzerinde istediğimiz mesajı yazacaz Buton2’ye basıldığında textbox üzerindeki yazı silinecek ve Buton3’e basılınca program kapanacaktır. Örnek:2-1 İstenenlere göre adım adım gidelim. Öncelikle ismi Ornek_2_1 olan yeni bir proje oluşturuyoruz. Örnek:2-1 Form üzerine araç kutusundan 3 adet button ve 1 adet textbox sürükleyip bırakıyoruz. Not : Eğer tasarım aşamasında buton isimlerini değiştirmek istersek, properties penceresini kullanarak butonun text özellğini değiştirebiliriz. Ancak biz program çalıştıkdan sonra yani form yüklenirken buton isimlerinin değişmesini istiyoruz. Form üzerinde boş olan herhangi bir yere çift tıklayalım. Örnek:2-1 Karşımıza çıkan ekranda form yüklendiğinde oluşmasını istediğimiz durumları yazıyoruz button1.AutoSize = true; (butonun büyüklüğünün üzerinde yazan yazıya göre otomatik olarak değişmesini sağlar) button1.Text = "textbox'a yaz"; (butonun text özelliğini değiştirir. Örnek:2-1 Deneme amaçlı programımızı çalıştırırsak : ÖNCE SONRA Şimdi button1’e çift tıklayalım ve textbox özelliklerini istenen duruma getirelim; Örnek:2-1 Buton1’in tıklama olayına yazmamız gereken kodlar private void button1_Click(object sender, EventArgs e) { textBox1.Text = "Merhaba, Bu benim ilk programım!!"; textBox1.ForeColor = Color.Yellow; textBox1.BackColor = Color.Red; } Bu haldeyken üzerinde sil yazn butona ve programı kapat yazan butona hiçbir kod yazılmadığı için bu butonlara basıldığında hiçbir olay gerçekleşmez Örnek:2-1 Şimdi buton2 ve buton3’için gereken kodları yazalım. private void button2_Click(object sender, EventArgs e) { textBox1.Text = ""; } private void button3_Click(object sender, EventArgs e) { this.Close(); } Buton2’deki kod yazıyı siler, buton3 deki this.Close() ise formu kapatır. Eğer buton2’nin textbox’ın kırmızı olan arka plan rengini beyaz yapması istenseydi hangi kod satırı yazılırdı? Değişkenler 33,6 “Demirci” True • Değişken 3.11.2009 12:40 • İstediğimiz değerleri bilgisayarın hafızasında tutmak için kullandığımız hafıza alanlarıdır. » x=33,6; » Soyad=“Demirci”; » ConnectionString=“RecordDataBase.mdb”; » Result=True/False; » SpecialDay=3.11.2009; • Bir ifade içinde ya da parametre olarak kullanılabilirler » MessageBox.Show(“Merhaba Sayın ” + Soyad); » If(x<50){IncreaseSize()}; » CalculateMyAge(SpecialDay,Now); » Lenght=Form1.Width; » txtUsersurname.Text = Soyad; 31 Veri Tipleri C# type Common language runtime type structure Değişkenler Uzunluk (Byte) Value range – 128 and 127 sbyte System.SByte 1 Integer between byte System.Byte 1 Integer between 0 and 255 short System.Int16 2 Integer between ushort System.UInt16 2 Integer between 0 and 65535 int System.Int32 4 Integer between – 2147483648 and 2147483647 uint System.UInt32 4 Integer between 0 and 4294967295 long System.Int64 8 Integer between – 9223372036854775808 and +9223372036854775807 ulong System.UInt64 8 Integer between 0 and 18446744073709551615 decimal System.Decimal 12 1.0x10- 28 - 7.9 x1028 float System.Single 4 1.5x10-45 double System.Double 8 5.0 x 10- 324 - 1.7 x 10308 char System.Char 2 Tek karakter, Integer olarak tutulur (between 0 and 65535 (‘a’, ‘?’, ‘7’,’-’) string System.String - Karakterler dizisi (karakter sınır yoktur) “halil”, “123” bool System.Boolean 1 true ve false - – 32768 and 32767 3.4x1038 32 Değişkenler • En sık kullanılan tipler • int x; – x = 0, 1, 10000, -4323, 100, 2147483647 olabilir Ondalıklı sayıların ayracı olarak nokta (1.2) ya da virgül (1,2) kullanmak, makineden makineye değişir, C#’a özgü değildir. Türkçede nokta kullanılır, biz de nokta kullanacağız, ancak ekrana çıktılarda virgül görebilirsiniz! • double y; – y = 0,0, 1.5, 3.14, 0.0000005, -23232.0 olabilir • string z; – z = “”, “mehmet”, “3.sınıf”, “3.14”, “23 ocak 2003”, olabilir • bool t; – t = true ya da false olabilir, “false” olmaz, tırnaksız! 33 Değişkenler • Değişkenler Nasıl Kullanılır? – Önce tanımlamak gerekir (Adını ve tipini belirtme) { int myInteger; string myString; Sonra değer atanmak zorundadır, daha sonra bu değerini kullanabilirsiniz myInteger = 17; myString = “Benim yaşım =”; Messagebox.Show(myString + myInteger); } – İlk değeri atanmayan değişken okunamaz! Hata Olur string myString; Messagebox.Show(myString); X HATA 34 Değişkenler • İsimlendirme Kuralları – İlk karakter bir harf,alt çizgi karakteri ya da “@” karakteri olmalıdır A-Z, a-z, _, @ – Daha sonraki karakterler harf ,rakam ya da alt çizgi karakteri olabilir A- Z, a-z, 0-9, _ ClassSize, Screen1024, File_Extension, _RootPath, @DriveLetter – İki farklı isimlendirme geleneği vardır: • deveNotasyonu (camelCase): firstStudent, classCourseHour (İlk kelime küçük başlar, diğer kelimeler büyük başlar) • PascalNotasyonu (PascalCase): FirstStudent, ClassCourseHour (Tüm kelimeler büyük başlar) – Fonksiyon ve metotları fiil kullanarak isimlendirin CloseDialog(), StartRecord(), PlayMusic() 35 Değişkenler • Değişken Tanımlama Örnekleri – Aynı Satırda Birden fazla değişken tanımlanabilir • int age, birthYear, numberOfStudents; • double faizOranı = 0.89; • float faizOranı = 0.89, indirimOranı; • char myChar = ‘A’; • string myBloodType=“A”; • int numberOfStudents=100; • bool IsUserNameCorrect = false; • bool IsMusicFileFound = true; 36 Değişkenler • Değişken Geçerliliği – Değişkenler tanımlandıkları bloklarda geçerlidir! private void btnHesapla_Click(object sender, EventArgs e) { int age=0; // lokaldir MessageBox.Show(“Yaşınız=" + age); //Çalışır MessageBox.Show(“Kilonuz=" + agirlik); //Çalışır Blok } kapandı! int agirlik=0; // globaldir private void btnGoster_Click(object sender, EventArgs e) { MessageBox.Show("age=" + age); // Hata Verir MessageBox.Show(“Kilonuz=" + agirlik); //Çalışır } Lokal Değişkenler: Bir blok (fonksiyon, metot, döngü) içinde tanımlanan değişkenlere lokal (yerel) değişkenler denir. Global Değişkenler: Herhangi bir fonksiyon yada döngü içinde değil de, en dış blokta tanımlanan değişkenlerdir. Diğer tüm fonksiyonların içinde geçerlidirler. 37 • Değişkenler Değişken Geçerliliği – Değişkenler tanımlandıkları blokların alt bloklarında da geçerlidir private void btnHesapla_Click(object sender, EventArgs e) { int age=0; MessageBox.Show("age=" + age); //Çalışır if(age>35) { MessageBox.Show(age); //Çalışır } Alt blok } private void btnGoster_Click(object sender, EventArgs e) { MessageBox.Show("age=" + age); // Hala hata Verir } 38 Değişkenler • Değişken Geçerliliği – Değişkenler tanımlandıkları blokların alt bloklarında da geçerlidir, üst bloklarda geçersizdir. private void btnHesapla_Click(object sender, EventArgs e) { int age=0; MessageBox.Show("age=" + age); //Çalışır if(age>35) { MessageBox.Show(age); //Çalışır int bornYear = 2012 – age; MessageBox.Show(bornYear); //Çalışır } MessageBox.Show(bornYear); // Hata Verir } private void btnGoster_Click(object sender, EventArgs e) { MessageBox.Show("age=" + age); // Hala hata Verir } 39 Değişkenler • Veri Tipi Dönüşümleri (Casting) – Bir veri tipinden başka bir veri tipine dönüşüm yapmaktır • İstemsiz (implicit) dönüşüm: Hiçbir dönüşüm operatörü kullanmadan yapılır. Veri kaybının olmadığı durumlarda yapılır int x = 10; int x = 10; double y = 50.45; double y = 50.45; x = y; // HATA İstemsiz y = x; // y 10.0 olur dönüşüm • İstemli (explicit dönüşüm): Dönüşüm tipine göre bir operatör kullanılarak yapılır. Veri kaybı olsa bile sorunsuz yapılır int x = 10; double y = 50.45; x = Convert.ToInt32(y); //x=50 olur Dönüşüm fonksiyonu Diğer dönüşüm fonksiyonları …=Convert.ToInt32(2.34); …=Convert.ToDouble(100); …=Convert.ToString(13.14); …=Convert.ToByte(23.09); 40 Değişkenler 41 Değişkenler • Özetle: • int, double, string, bool değişken tipleridir • x,y,z intAge, strFullName, dbDolar değişken isimleridir • Convert.ToInt32(), Convert.ToDouble(), x.ToString() dönüşüm fonksiyonları/operatörleridir – intSayi = (int)dblBaskaSayi; // double int (sadece sayısal tipler arası geçerli!) – float fDegisken1=(float)Ldegisken2; // Long float (sadece sayısal tipler arası!) • Değişkenler tanımlandıkları bloklarda ve bu bloğun alt bloklarında geçerlidirler. – Lokal ve Global değişkenler 42 SORULAR Değişkenler Soru: Bir dosyanın adını tutmak için lokal bir değişken tanımlayınız. Soru: İlk değeri 1000 olan ve tamsayı tutmak için lokal bir değişken tanımlayınız. Soru: Pi sayısını tutan global bir değişken tanımlayınız Soru: İlk değeri false olan bir değişken tanımlayınız. Soru: Bir tamsayı ile bir ondalıklı sayının toplamını bulan program için lokal değişkenler tanımlayınız. 43
Benzer belgeler
bu döküman kaan aslan tarafından c ve sistem programcıları
Aşağıdaki kod satırları hata verir mi?
Console.WriteLine("Merhaba, Bu benim ilk programim")