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

GRAFİK ANİMASYON DERSİ

GRAFİK ANİMASYON DERSİ button1.Text = "textbox'a yaz"; (butonun text özelliğini değiştirir.

Detaylı

bu döküman kaan aslan tarafından c ve sistem programcıları

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")

Detaylı