Son Haberler
Anasayfa / Yazılım / C# / Arttırma ve Azaltma Operatörleri

Arttırma ve Azaltma Operatörleri

Csharpta sayısal bir değerden 1 çıkarmak veya sayısal bir değere 1 eklemek için kullanılan iki operatör mevcuttur. Bunlar ++ ve — operatörleridir. ++ toplama işlemi için kullanılırken, — operatörü çıkarma işlemi için kullanılır. Aslında biz buna toplama ve çıkarme demeyelim yine başlıkta olduğu gibi arttırma ve azaltma diyelim. Örneğin sayi adında bir değişkenimiz olsun. Bu sayi değişkenini 1 arttırmak için aşağıdaki gibi kodlar yazabiliriz.

sayi = sayi + 1;
sayi += 1;
sayi++;

Bizim bu yazımızda bahsettiğimiz 3. örnekte olduğu gibidir. Tabi bu kullanımlarda dikkat etmemiz gereken bir takım durumlar var. ++ ve — operatörleri bir değişkenin önünde veya ardında yer alabilir. Yani prefix veya postfix olarak kullanılabilir. Ne demek bu, örnekleyelim. İlk kullanım postfix ikinci kullanım ise prefixtir.

sayi++;
++sayi;

Aynı şekilde — operatörü de kullanılabilir;

sayi--;
--sayi;

Yine ilk kullanım postfix ikinci kullanım ise prefixtir. Peki farkı nedir?

Bu sayi değişkenimizi uygulamamız içinde kullandığımızı farzedelim. Eğer postfix kullanıyorsak öncelikle sayi değerini 1 arttırırız ve daha sonra uygulamamızda bu arttırılmış değeri kullanırız. Eğer prefix kullanıyorsak önce değerimizi uygulamamızda kullanırız ve ardından 1 arttırırız. Aynısı azaltma içinde geçerlidir. Bu operatörleri kullanırken dikkat etmemiz gereken bir diğer konu ise birlikte kullanılan operandları ile birleşik şekilde yazılmalarıdır. Yani sayi++; doğru bir yazımdır ama sayi ++; yanliş bir yazimdir.

Kod parçacağı ile aradaki farkı görelim :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication7
{
    class Program
    {
        static void Main(string[] args)
        {
            int sayi1 = 3;
            int sayi2 = 5;
            //sayımın ilk andaki değerini yazacak, yani 3.
            Console.WriteLine("Sayı 1 değeri : {0}", sayi1);
            //sayıyı arttırıyorum sonra yazdırıyorum yani 4 yazacak           
            Console.WriteLine("Prefix Kullanarak sayımızın son değeri : {0}", ++sayi1);
            //şimdi sayımın değeri 4 oldu en son, bu sefer postfix kullanıyorum,
            //arttırma yapacak ancak 4 yazacak
            Console.WriteLine("Postfix kullanarak sayımızın son değeri : {0}", sayi1++);
            //Şimdi son değeri yazalım yeniden, bu sefer 5 yazacak
            Console.WriteLine("Sayı 1 son değeri : {0}", sayi1);

            Console.WriteLine();
            Console.WriteLine("********************************");
            Console.WriteLine();

            //Sayımızın ilk değeri 5
            Console.WriteLine("Sayı 2 değeri : {0}", sayi2);
            //sayıyı azaltıyorum ve yazdırıyorum. Yani 4 yazacak.
            Console.WriteLine("Prefix kullanarak sayımızın son değeri : {0}", --sayi2);
            //şimdi sayımın değeri 4 oldu en son, bu sefer postfix kullanıyorum,
            //azaltma yapacak ancak 4 yazacak
            Console.WriteLine("Postfix kullanarak sayımızın son değeri : {0}", sayi2--);
            //Şimdi son değeri yazalım yeniden. Bu sefer 3 yazacak.
            Console.WriteLine("Sayı 2 son değeri : {0}", sayi2);

            Console.ReadLine();
        }
    }
}

Görüleceği üzere üstteki kod bloğundan anlaşılacağı gibi postfix ve prefix şeklinde operatörlerin kullanım farkı ortaya çıkıyor.

2013042906

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir