|
C#'da İfadeler, Tipler ve Değişkenler |
|
Gönderiliyor lütfen bekleyin... |
|
|
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
|
|
|
-
-
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
|
|