Bu site emekli olmuştur. Arşiv amaçlı olarak BT AKADEMİ sponsorluğunda yayın hayatına devam etmektedir.




C#nedir?com
 
YAZAR HAKKINDA
Ahmet Faruk Nacaroğlu
Ahmet Faruk Nacaroğlu
http://www.csharpnedir.com/
İletişme geçmek için tıklayın.
40 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler:  C# / VC#/.NET Ahmet Faruk Nacaroğlu
 
YAZI HAKKINDA
Türü : Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : Başlangıç
Kategori : C# / VC#/.NET
Yayınlanma Tarihi : 12.10.2002
Okunma Sayısı : 61876
Yorum Sayısı : 6     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
Kullanıcı Adı
Şifre
 
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
 
Şifremi / Kullanıcı Adımı unuttum.
 
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
Silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer
Conda install environment.yml Package 25.4.2024
Turhal Temizer
Mac OS/X Removing CUDA 25.4.2024
Burak Selim Şenyurt
Kurumsal Yazılımcının Oyun Geliştirme ile İmtihanı 25.4.2024
Burak Selim Şenyurt
Matematik ve Oyun Programlama - Missile Command - Final 25.4.2024
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
C#'da İfadeler, Tipler ve Değişkenler
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon
Bu derste C# dilindeki ifadeler,tipler ve değişkenler anlatılacaktır.

Dersimizin hedefleri : 
  • Değişken kavramının anlaşılması. 
  • C# dilinde bulunan basit tiplerin öğrenilmesi.
  • C# dilindeki ifadelerin temel olarak anlaşılması. 
  • String veri tipinin öğrenilmesi.
Değişkenleri en sabit şekilde verilerin depolandğı yerler olarak tanımlayabiliriz. Değişkenlerin içine verilerimizi koyabilirirz veya değişkenlerimizin içindeki verileri C# programındaki işlemlerimiz için kullanabilliriz. Değişkelerin tipini belirleyen faktör, onların içerdikleri verilerin çeşitleridir. 

C# dilinde kullanacağımız her değişkenin bir tipi olmak zorundadır ( Vbscript ve JavaScript gibi dillerde değişken tanımlarken onun tipini de ayrıca belirtmeye gerek yoktur.) Bir değişken üzerinde yapılan tüm işlemler de onun hangi tipte bir değişken olduğu göz önüne alınarak yapılır. Böylece programda bütünlük ve güvenlik korunmuş olur.

Boolean ( doğru/yanlış ), ve üç sayısal veri tipi; integer( tamsayı ), floating point (ondalıklı sayı ) ve decimal( muhasebe ve finansal işlemler için) C# dilinin en basit veri tipleri olarak sayılabilir.

 Kod 1 : Boolean değerlerin görüntülenmesi : Boolean.cs

 using System;

 class Booleans

{

 public static void Main()

{

  bool content = true;

 bool  noContent = false;

 Console.WriteLine("It is {0} that C# Station provides C# programming language content.", content);

 Console.WriteLine("The statement above is not {0}.", noContent);

}

}

Yukarıdaki Kod 1’de de görüleceği gibi boolean değişkenler ya true(doğru) veya false(yanlış) değerlerini alabilirler. Programın çıktısı şöyle olacaktır.

>It is True that C# Station provides C# programming language content.
>The statement above is not False.

Aşağıdaki tablo tamsayı tiplerini, boyutlarını ve alabilecekleri değer aralıklarını göstermektedir.

Type ( Tip ) Size (in bits)(boyut ) Range (aralık)
sbyte 8 -128 to 127
byte 87 0 to 255
short 16 -32768 to 32767
ushort 16 0 to 65535
int 32 -2147483648 to 2147483647
uint 32 0 to 4294967295
long 64 -9223372036854775808 to 9223372036854775807
ulong 64 0 to 18446744073709551615
char 16 0 to 65535
Tamsayı tipleri küsuratsız işlemler için çok elverişlidirler. Fakat char( karakter) tipi Unicode standartlarına uygun olarak bir karakteri temsil eder. Yukarıdaki tablodan da göreceğiniz gibi elimizde çok sayıda tamsayı tipimiz vardır. Bunlardan istedikleriminizi ihitiyaçlarımıza göre rahatça kullanabiliriz.

Bir sonraki tablo ise ondalık (floating point ) ve decimal veri tiplerini,boyutlarını, hassasiyetlerini ve geçerli oldukları aralıkları listeler.

Type ( Tip ) Size (in bits)(boyut ) Precision Range
float 32 7 digits 1.5 x 10-45 to 3.4 x 1038
Double 64 15-16 digits 5.0 x 10-324 to 1.7 x 10308
Decimal 128 28-29 decimal places 1.0 x 10-28 to 7.9 x 1028
Ondalıklı sayıları küsuratlı işlemlerde kullanmak iyi olur. Bunun yanında muhasebe ve finansal işlemler için decimal veri tipi daha uygun olacak şekilde tasarlanmıştır.

Bilgisayar programları işlemleri yaparken ifadeleri kullanırlar ve sonuç ortaya çıkartırlar. Programlarda yer alan ifadeler değişkenler ve işleçlerden ( operatör) oluşurular. Bir sonraki tabloda işleçleri, işleçlerin işlem sıralarını ve işleme yönlerini görebilirsiniz.

Category ( kategori) Operator(s) (işleç/işleçler) Associativity(işeme yönü)
Primary (x) x.y f(x) a[x] x++ x-- new typeof sizeof checked unchecked left Unary + - ! ~ ++x --x (T)x left
Multiplicative * / % left
Additive + - left
Shift << >> left
Relational < > <= >= is left
Equality == != right
Logical AND & left
Logical XOR ^ left
Logical OR | left
Conditional AND && left
Conditional OR || left
Conditional ?: right
Assignment = *= /= %= += -= <<= >>= &= ^= |= right
Sol işleme yönü demek işlemlerin soldan sağa doğru yapıldığıdır. Sağ işleme yönü demek işlemlerin sağdan sola doğru yapıldığıdır. Mesala atama işleçlerinin hepsinde önce sağ tarafın sonucu bulunur ve bu sonuç sol tarafa aktarılır.

Kod 2 : Unary Operators: Unary.cs

using System;

class Unary
{
    public static void Main()
      {
          int unary = 0;
          int preIncrement;
          int preDecrement;
          int postIncrement;
          int postDecrement;
          int positive;
          int negative;
          sbyte bitNot;
          bool logNot;
         

         preIncrement = ++unary;
           Console.WriteLine("Pre-Increment: {0}", preIncrement);

           preDecrement = --unary;
         Console.WriteLine("Pre-Decrement: {0}", preDecrement);

         postDecrement = unary--;
         Console.WriteLine("Post-Decrement: {0}", postDecrement);

         postIncrement = unary++;
         Console.WriteLine("Post-Increment: {0}", postIncrement);
         Console.WriteLine("Final Value of Unary: {0}", unary);

         positive = -postIncrement;
         Console.WriteLine("Positive: {0}", positive);

         negative = +postIncrement;
         Console.WriteLine("Negative: {0}", negative);

        logNot = false;
        logNot = !logNot;
        Console.WriteLine("Logical Not: {0}", logNot);

     }

}

 

İfadeler işlemler yapılırken arka-artırma ve arka-azaltma işleçleri önce değişkenin değerini döndürür sonra değişken üzerinde artırma veya azaltma işlemini yapar. Diğer taraftan, ön-artırma ve ön-azaltma işleçleri önce değişken üzerinde artırma veya azaltma işlemini yapar sonra değişkenin son halini döndürür.

Kod 2‘de unary (tek) değişken önce sıfır olarak atanıyor. Ön-artırma (pre-increment) işleci uygulandığında, unary değişkenin değeri 1’e çıkıyor ve “preIncrement” değişkenine atanıyor. Hemen arkasında Ön-azaltma(pred-decrement) işleci sayesinde unary değişkenimiz tekrar sıfır değerini alıyor preDecrement değişkenine bu değer atanıyor.

Arka-azaltma (post-decrement) işleci unary değişkenimize uygularsak bu değişkenimizin değeri değişiyor ama önce değişkenin ilk değeri postDecrement değişkenine atanıyor. Sonra ise arka-artırma (post-increment) işlecini uygularsak unary değişkenimizin değeri azalıyor fakat postIncrement değişkenin değeri unary değişkenimizin ilk değeri olarak kalıyor.

Mantıksal değil işareti, doğru ifadeyi yanlış, yanlış ifadeyi ise doğru olarak değiştirir. Kod 2’inin çıktısı şöyle olacaktır :

   >Pre-Increment: 1
   >Pre-Decrement 0
   >Post-Decrement: 0
   >Post-Increment -1
   >Final Value of Unary: 0
   >Positive: 1
   >Negative: -1
   >Logical Not: True

Kod 3. Binary Operators: Binary.cs

using System;

class Binary
{
     public static void Main()
       {
          int x, y, result;
          float floatResult;

          x = 7; y = 5;


         result = x+y;
         Console.WriteLine("x+y: {0}", result);

         result = x-y;
         Console.WriteLine("x-y: {0}", result);

         result = x*y;
         Console.WriteLine("x*y: {0}", result);

         result = x/y;
         Console.WriteLine("x/y: {0}", result);

         floatResult = (float)x/(float)y;
         Console.WriteLine("x/y: {0}", floatResult);

         result = x%y;
         Console.WriteLine("x%y: {0}", result);

         result += x;
         Console.WriteLine("result+=x: {0}", result);

     }

}

Kod 3: te birçok aritmetik işlemler yapılıyor. Bu işlemlerin sonucunu da sizler tahmin edebilirsiniz...

“floatResult” değişkenin tipi ondalıklı sayı tipi olduğu ve “x” ve “y” değişkenlerimiz tamsayı tiplerinde oldukları onları açık biçimde ondalıklı sayı tipine çevirdik ( explicitly cast ) ve bu şekilde işlem yaptık.

Yukarıdaki kod parçasında bir de kalan (remainder % ) işlecinin kullanılışına dair örnek verdik. Bu işleç, iki sayının bölümününden kalan sayıyı sonuç olarak döndürür.

Son olarak yazdığımız ifadede yeralan atama işleci de (+=) C/C++ ve C# programcılarının sıklıkla kullandıkları bir atama ve işlem yapma türüdür. Bu ifade aslında şu ifadenin kısa yoludur : “result = result + x”.

Şimdiye kadar burada sıkça gördüğünüz diğer veri tipi ise string ( karakter dizisi veya karakter katarı)’dir. String veri tipi Unicode karakter tiplerinin bir listesini içerirler ve tek çift tırnak işaretleri arasında yazılırlar.

* Bu makale The C# Station Tutorial adresinde Joe Mayo tarafından yazılmıştır.

Makale:
C#'da İfadeler, Tipler ve Değişkenler C#, Visual C# ve .NET Ahmet Faruk Nacaroğlu
  • Yazılan Yorumlar
  • Yorum Yaz
HAZ
17
2012
Teşekkürler. Ben de bu konu ile ilgili bir makale yayınladım. http://sonergonul.net/?p=51
EKİ
3
2010
yazınıza uzun bi süreden sonra yorum yazmıs olacam fakat bi isteğim olaCAktı yukarıdaki işleç tablosundaki ifadelerin daha detaylı acıklamasını yapabilirseniz cok memnun olurum emeğinize sağlık şimdiden...
ŞUB
24
2005
Yeteri kadar açıklayıcı olmadığını düşünüyorum.
TEM
15
2004
uyardığınız için teşekkürler. Düzelttim
TEM
14
2004
The c# station adres yanlış verilmiş URL açılmıyor.. "s" unutulmuş http://www.csharpstation.com
EKİ
13
2002
güzel bir kaynak olmuş ahmet bey..elinize sağlık
Sayfalar : 1 
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için tıklayın.
Üye değilseniz Üyel Ol linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
 
  • Bu Konuda Son 10
  • Eklenen Son 10
  • Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor