PROGRAMLAMA ORTAMI
ToolBox: Kullanılabilecek hazır nesnelerden yararlanmak amacıyla kullanılan (TextBox, Label,
Button, vs.) bölümdür.
Recent Project: Daha önce oluşturulan projelerin listelendiği bölüm, projelere hızlı erişim imkanı
sağlar.
Solution Explorer: Üzerinde çalışılan projeye ait dosyalara hızlı erişim amacıyla kullanılır.
Properties: Seçili olan nesnelere ait özelliklerin ayarlanabileceği bölümdür.
Yeni bir proje oluşturmak amacıyla;
• Klavyeden Ctrl + N kısayol tuşu kullanılabilir.
• File/New/Project menü seçeneği kullanılabilir.
• Recent Project bölümünden Create/Project seçeneği kullanılabilir.
Yeni bir proje oluştururken;
• Project Types: Projeye uygun programlama dilinin seçildiği kontrol edilir.
• Templates: Proje oluşturmak için uygulama yazılımı ile birlikte gelen hazır şablonların
bulunduğu bölümdür. Burada oluşturulacak projenin türüne göre; “Console Application”
veya “Windows Form Application” seçeneklerinden birinin seçili olduğu kontrol edilir.
• Name: Uygulamalara isim vermek amacıyla kullanılan alandır. Hazırlanacak projenin
amacına uygun olarak kısa ve öz bir isim verildiği kontrol edilmelidir.
Programda kod yazarken aşağıdaki hususlara dikkat etmek gerekir;
• Program büyük-küçük harf duyarlıdır. Büyük ve Küçük harf kullanarak yazılan
ifadelerin farklı anlam taşıyacağı unutulmamalıdır.
• Program kodu “static void Main” metodu altındaki küme parantezleri içerisine yazılır ve
program ilk olarak buradan çalışmaya başlar.
• Tek satırlık komutların (for, if, while, switch v.s. Hariç) satır sonları noktalı virgül (;) ile
sonlandırılmalıdır.
• “Console.WriteLine” ifadesinde parantez içerisindeki ifade çift tırnak (“ ”) içerisine
yazılırsa olduğu gibi ekrana yazdırılır. Tırnak kullanılmazsa değişken olarak kabul edilir
ve bu değişkenin içeriği ekrana yazdırılır.
Hazırlanan programı çalıştırmak için klavyeden F5 kısayol tuşu kullanılır. Eğer program
ekranda görüntülenemeden sonlandırılıyorsa ya Ctrl + F5 ile çalıştırılarak sonda bekletilir, ya da
programda bilgi girişi amacıyla kullanılan “Console.ReadLine()”, “Console.ReadKey()” gibi
ifadeler kullanılabilir.
Kod yazma aşamasında, yazılacak olan komutun önerilmesi amacıyla kullanılan otomatik
tamamlama özelliği Intellisense (akıllı his) olarak adlandırılır. Bu özelliği herhangi bir anda
kullanmak amacıyla klavyeden Ctrl + Boşluk kısayol tuşu kullanılabilir.
İSİM UZAYLARI (Namespace)
Namespace'ler; nesneye dayalı, hiyerarşik ve birleşik, içinde çok sayıda sınıf, arayüz ve yapı
bulundurabilen kütüphaneler olarak tanımlanabilir. Kullanılacak tüm sınıflar bir namespace
içerisinde tanımlanmalıdır. Normal şartlarda her uygulamada aynı isme sahip sadece tek bir class
(sınıf) tanımlanabilirken, farklı namespace'ler tanımlayarak bu sorun ortadan kaldırılabilir. Bu
problemin ortadan kaldırılması ve namespace'lerin tanımlanmasına ait örnek aşağıda verilmiştir.
namespace toplama
{
class Islem
{
//Çalıştırılacak komutlar
}
}
namespace bolme
{
class Islem
{
//Çalıştırılacak komutlar
}
}
Tüm sınıflar bir namespace içinde yer alır. Hatta kullandığımız Console.WriteLine() komutu dahi
bir namespace içerisinde tanımlanmıştır. Programın başlangıcında using ifadesi ile projede
kullanılan namespace'ler dahil edilerek kısa komutlar halinde kullanılabilir. Aksi taktirde, using
System ile System namespace dahil edilmediğinde, her bir Console.WriteLine() komutunu
System.Console.WrtieLine() şekilinde kullanmak zorunda kalınırdı.
Grafiksel Arayüz
Genel olarak hazırlanan çoğu proje siyah ekran olarak tabir edilen Console Application olarak
hazırlanmıştı. Fakat Windows işletim sistemi içerisinde fare yardımıyla yönetilebilecek
uygulamalar da geliştirilebilir. Bunlar WPF (Windows Presentation Foundation) Application ve
Windows Form Application olmak üzere iki şekilde hazırlanabilir.
WPF Application kendine özgü XML tabanlı XAML dilini kullanır. XAML (Extensible Application
Markup Language); XML benzeri, oluşturulan forma ve daha sonra form üzerine yerleştirilecek
nesnelere müdahale imkanı tanıyan bir işaretleme dilidir. Ayrıca bu projede temel olarak görsel
arayüzün oluşturulduğu Window1.xaml ve bu arayüze ait kodların yer aldığı Window1.xaml.cs
isimli iki temel dosya oluşturulur.
DEĞİŞKENLER VE VERİ TÜRLERİ
Değişken tanımlarken aşağıdaki kurallara uyulur;
• Değişken adlarında yalnızca harf, rakam ve alt çizgi karakteri kullanılabilir. Boşluk içermez.
• Değişken adı, bir harf ile başlamak zorundadır, rakamlarla başlayamaz.
• Türkçe karakterler kullanılabilir ama önerilmez.
• Programlama dili bazı tanımlayıcı kelimeleri kendisi kullanmak için ayırmıştır (class, enum,
base, const, int, v.s.). Bu anahtar sözcükler değişken adı olarak kullanılamaz.
Bir değişken tanımlarken önce değişkenin tutacağı verinin türü, ardından değişkenin adı yazılır.
Örnek;
int yas;
int adet = 5;
Burada eşittir (=) ifadesi, değişken içerisine sağda verilen değerin aktarılması, atanması amacıyla
kullanılır. Yani bu işlemin ardından adet değişkeni içerisinde 5 sayısı bulunur.
Temel Veri Türleri
Veri Türü
int
Açıklama
Boyut (Bit)
Tam sayılar
32
long
Tam sayılar(daha büyük aralık)
64
float
Kayan noktalı sayılar
32
double
İki kat daha hassas kayan noktalı sayılar
64
decimal
Parasal değerler
128
string
Karakter sıraları
Karakter başı 16 bit
char
Tek karakter
16
bool
Mantıksal
8
Sayısal değere sahip olan x değişkeninin değerini string gibi işlem yapmaya devam etmek
üzere dönüştürme işlemi kullanılır.
int x = 5;
string a = x.ToString();
String değere sahip bir değişkenin içeriğini sayısal olarak işleme devam etmek için
dönüştürme işlemi kullanılır.
string x = “5”;
int a = Convert.ToInt16(x);
OPERATÖRLER
Programlama dillerinde tanımlanmış sabit ve değişkenler üzerinde işlemler yapmayı sağlayan
karakter ya da karakter topluluklarına operatör denir. Temel olarak şu işleçler kullanılır;
•
Toplama: +
•
Çıkarma: •
Çarpma: *
•
Bölme : /
•
Mod (Bölmede kalan): %
İşlem Önceliği
Hesaplama işleminin doğru sonuçlandırılabilmesi amacıyla, işlemler yapılırken belirli sırayla
değerlendirme yapılır. Bu sıra aşağıdaki tabloda belirtildiği gibidir.
En yüksek öncelik
()
!
*, /, %
+, <, >
==, !=
&&
||
En düşük öncelikli
Programlama yazılımında kullanılan parantezlerin bir anlamı vardır ve uygun yerlerde kullanılması
gerekir. Aksi taktirde program hata verir ve çalışmaz. Bunlar;
•
Küme Parantezi { }: Bir komut bloğunun başlangıç ve bitişini belirtir.
•
Normal Parantez ( ): Parametre listesinde ve bir metoda değer göndermekte kullanılır.
•
Köşeli Parantez [ ]: Dizilerde eleman index değerlerinin ifade edilmesi için kullanılır.
Artırma ve Azaltma Operatörleri
Sayısal değişken değerlerinin bir artırılması ya da azaltılması amacıyla pratik olarak ++ ve –
işleçleri kullanılmaktadır. Bu işleçlerin kullanım şekilleri şunlardır.
Kullanım Şekli Açıklama
Örnek (x=4 için)
x++
Satırdaki işlemler tamamlandıktan sonra değişkenin y=5 * x++
değerini bir artır.
Sonuç: y=20, x=5
++x
Önce değişkenin değerini artır, daha sonra satırdaki Y=5 * ++x
işlemi hesapla.
Sonuç: y= 25, x=5
x--
Satırdaki işlemler tamamlandıktan sonra değişkenin Y=5 * x- değerini bir azalt.
Sonuç: y=20, x=3
--x
Önce değişkenin değerini azalt, daha sonra satırdaki Y=5 * --x
işlemi hesapla.
Sonuç: y= 15, x=3
METOTLAR
Metotlar kısaca bir işlem yapmak amacıyla tasarlanmış kodlar topluluğudur. Genel haliyle bir
metot;
dönüş_türü metot_adı(parametre_listesi){
//Çalıştırılacak komutlar.
}
şeklinde tanımlanır. Burada;
dönüş_türü: Bir veri türü adıdır ve metot tamamlandığında çağırılacağı noktaya döndüreceği
verinin türünü tanımlar. Eğer metot geriye değer döndürmeyecekse buraya void yazılır.
metot_adı: Metot çağırılacağında kullanılacak adının tanımlandığı kısımdır. Burada da değişken
tanımlama kuralları geçerlidir.
Parametre_listesi: İsteğe bağlıdır ve metot ilgili işlemleri yaparken daha önceden bilinen değerlere
ihtiyaç duyacaksa bu değerlerin metota bildirilmesi amacıyla kullanılır.
Tanımlanan metot, çağırıldığı noktaya değer döndürecekse return anahtar kelimesiyle dönecek olan
değer işaret edilir.
KAPSAM
Bir değişken, belirli bir yerde kullanılabiliyorsa değişken o konumda kapsam (scope) içindedir
denir. Bu değişken kapsam içinde olduğu her alanda kullanılabilir. Bir metotta açılıp kapanan süslü
parantezler o metodun kapsamını tanımlar. Yerel kapsam dahilindeki değişkenler, sadece
tanımlandıkları metot içerisinde kullanılabilir ve bu değişkenler yerel değişken olarak adlandırılır.
Eğer değişkenler metot dışında tanımlanırsa bu sefer sınıf kapsamında olur ve field (alan) olarak
adlandırılır.
Metotların Aşırı Yüklenmesi (Overloading): Normal şartlarda bir metot, aynı isimde yeniden
tanımlanamaz. Fakat metodun aldığı parametre veri türü ya da sayısı değiştirilirse aynı isimle
yeniden tanımlanabilir ve bu işleme metotların aşırı yüklenmesi (overloading) denir.
Metodun sadece geri dönüş değeri türünün değiştirilmesi aşırı yükleme sayılmaz, ayırt edici bir
özellik değildir.
MANTIKSAL OPERATÖRLER
Geçekleştirdiği işlemlerini sonucunu true ya da false olarak üreten operatörlere mantıksal
operatörler denir. Bunlar;
Operatör Anlamı
Örnek
Sonuç(puan=70 için)
==
Eşit mi?
Puan ==80
False (80 eşit değil 70)
!=
Eşit değil mi?
Puan!=80
True (80 eşit değil 70)
<=
Küçük veya eşit mi?
Puan<=80
True (80 küçüktür 70)
<
Küçükmüdür?
Puan<80
True (80 küçüktür 70)
>
Büyükmüdür?
Puan>80
False (80 büyük değildir 70)
>=
Büyük veya eşitmidir? Puan>=80
False (80 büyük veya eşit değildir 70)
Yukarıda verilen mantıksal operatörlerin birden çoğunun aynı koşulda yer alması durumunda bu
ifadeleri birleştirmek amacıyla VE ve VEYA operatörleri kullanılır.
Mantıksal VE (&&) Operatörü: Her iki şart da true olduğunda true, diğer durumlarda false sonucu
üreten operatördür.
Mantıksal VEYA (||) Operatörü: Her iki şart da false olduğunda false, diğer durumlarda true sonucu
üreten operatördür.
GÜNCELLENEN VE EKLENEN BÖLÜM AŞAĞIDADIR...
ŞART İFADELERİ
En genel haliyle; if-else ve switch olmak üzere iki tür şart ifadesi bulunmaktadır. Şart ifadeleri,
belirli bir şarta bağlı olarak hangi komutların çalıştırılması gerektiğini belirleyen yapılardır.
if Deyimi: Türkçe anlamı Eğer olan if ifadesinde, belirtilen koşul sağlandığı taktirde doğruysa
bloğundaki komutların çalıştırılmasını, koşul sağlanmadığında ise yanlışsa bloğundaki komutların
çalıştırılmasını sağlar. Genel kullanım şekli aşağıdaki gibidir;
if(şart){
// Şart doğruysa çalıştırılacak komutlar buraya yazılır.
}else{
// Şart yanlışsa çalıştırılacak komutlar buraya yazılır.
}
Tek bir şartın bulunduğu durumlarda yukarıdaki ifadenin kullanılması yeterli olacaktır. Fakat şartı
oluşturacak birden çok değerin ayırtedilmesi gerektiğinde birden çok if ifadesi iç içe ya d alt alta
kullanılabilir. İç içe kullanılacağında yapı aşağıdaki şekilde olacaktır;
if(şart1){
// Şart1 doğruysa çalıştırılacak komutlar buraya yazılır.
if(şart2){
// Şart1 ve Şart2 aynı anda doğruysa çalıştırılacak komutlar.
}else{
// Şart1 doğru, fakat Şart2 yanlışsa çalıştırılacak komutlar.
}
}else{
// Şart1 yanlışsa çalıştırılacak komutlar buraya yazılır.
}
Eğer şarta bağlı durumlar alt alta yazılacaksa o zaman if-else if yapısı kullanılabilir.
if(ŞartA){
// ŞartA sağlandığında çalıştırılacak komutlar.
}else if(ŞartB){
// ŞartB sağlandığında çalıştırılacak komutlar.
}else if(ŞartC){
// ŞartC sağlandığında çalıştırılacak komutlar.
}else{
// Hiçbir şart sağlanmadığında çalıştırılacak komutlar.
}
Yukarıdaki iki yazım şeklinde girintileri dikkate alındığında aralarındaki fark ortaya çıkmaktadır.
Önemli Not: Her süslü parantez kullanan yapı gibi (metotlar hariç), eğer süslü parantezler
kullanılırsa parantezler içerisine istediğiniz kadar komut satırı yazabilirsiniz. Ancak süslü parantez
kullanmadan da bu ifadeler kullanılabilir ve süslü parantez kullanılmazsa sadece ifadeden sonra
gelen tek bir satır için geçerli olur.
Switch Deyimi: Yukarıda ifade edilen alt alta if yapısı gibi çalışan switch, şartı ifade eden değişken
belirli değerlere sahip olduğunda çalışacak komutları belirtmek için kullanılır. Anahtar anlamına
gelen Switch ifadesinin ardından parantezle belirtilen değişkenin değerleri incelenir. Durum
anlamına gelen Case ile ifade edilen değerlere eşit olduğunda, ilgili durumun ardından gelen
komutlar çalıştırılır. Unutulmaması gereken önemli bir özellik, her bir case ile tanımlanan
komutların sonunda mutlaka break; ifadesinin kullanılması gerektiğidir. Genel kullanımı aşağıdaki
gibidir;
switch(değişken){
case durum1:
// Çalışacak komutlar.
break;
case durum2:
// Çalışacak komutlar.
break;
case durum3:
// Çalışacak komutlar.
break;
default:
// Şartlar uymadığında varsa çalışacak komutlar.
break;
}
Bileşik Atama Operatörleri: Bazı işlem operatörlerine ait komut satırlarını daha kısa yazabilmeyi
sağlayan birleştirilmiş operatörlerdir.
Değişken1 = Değişken1 + Değişken 2
yerine
Değişken1 += Değişken2 yazılabilir.
Aynı durum; +, -, *, / ve % operatörleri için geçerlidir.
DÖNGÜLER
Kullandığımız Visual Studio programı için genel olarak döngüler; while, For, do-while ve
foreach olmak üzere sayılabilir. Döngüler; belirli komut bloklarının istenilen sayıda tekrar tekrar
çalıştırılabilmesini sağlamak için kullanılan yapılardır.
While döngüsü: Döngü işlemlerinin başlangıcında şartın kontrol edilmesi ve şart sağlandığı sürece
komut bloklarının çalıştırılmasını sağlayan döngü çeşididir. Genel kullanımı aşağıdaki gibidir;
while(şart){
// Tekrarlanacak komutlar.
}
Burada önemli olan;
•
Döngü değişkeni, döngüye başlamadan önce tanımlanmalı,
•
Döngü değişkeninin başlangıç değeri döngüye başlamadan ayarlanmalı,
•
Döngü değişkeninin değeri döngü içerisinde her işlemde değiştirilmelidir.
Download

Nesne Tabanlı Programlama Çalışma Kağıdı