C# Aritmetik İşlemler dersimiz ile C Sharp eğitimlerine devam ediyoruz. C Sharp aritmetik işlemler bildiğiniz üzere matematiksel işlemleri kapsamaktadır. Ancak bu dersimizde C# Math sınıfını işlemeyeceğiz. C# Math sınıfını ayrı bir derste işleyeceğiz.
Tüm dünyada kabul edilen işlem önceliği programlama dillerinde de mevcuttur. Ancak önceliği parantezler ile göstermeliyiz. Aksi takdirde soldan sağa işlemleri yaparak devam eder ve bu da işlem hatalarına yol açar.
C Sharp Aritmetik İşlemler
Aritmetik operatörlere bir bakalım..
( + ) Toplama
( – ) Çıkarma
( * ) Çarpma
( / ) Bölme
( % ) Mod Alma
( ++ ) Birer Birer Arttırma
( — ) Birer Birer Azaltma
( – ) Negatif / Pozitif Yapmak
Toplama
Standart toplama işlemi…
int _Int_1 = 1, _Int_2 = 2, _Int_3 = 3, _Int_4 = 4; int _Sonuc = 0; _Sonuc = 10 + _Int_1 + _Int_2 + _Int_3 + _Int_4; // Bildiğimiz toplama işlemi. Sonuç = 20 // Araya istediğimiz şekilde bir sabit yazabiliriz.
Çıkarma
Standart çıkarma işlemi…
int _Int_1 = 1, _Int_2 = 2, _Int_3 = 3, _Int_4 = 4; int _Sonuc = 0; _Sonuc = 10 - _Int_1 - _Int_2 - _Int_3 - _Int_4; // Bildiğimiz çıkarma işlemi. Sonuç = 0 // Araya istediğimiz şekilde bir sabit yazabiliriz.
Çarpma
Standart çarpma işlemi…
int _Int_1 = 1, _Int_2 = 2, _Int_3 = 3, _Int_4 = 4; int _Sonuc = 0; _Sonuc = 10 * _Int_1 * _Int_2 * _Int_3 * _Int_4; // Bildiğimiz çarpma işlemi. Sonuç = 240 // Araya istediğimiz şekilde bir sabit yazabiliriz.
Bölme
Standart çarpma işlemi… Açıklamalara Dikkat!!!
int _Int_1 = 1, _Int_2 = 2, _Int_3 = 3, _Int_4 = 4; int _Sonuc = 0; _Sonuc = 10 / _Int_1 / _Int_2 / _Int_3 / _Int_4; // Bildiğimiz çarpma işlemi. Sonuç = 0,41 // _Sonuc değişkenimiz int türünde olduğundan dolayı sonuç 0 olacaktır // Eğer sonuç ondalıklı değer olacaksa double, float yada decimal türlerini kullanmalıyız. // Araya istediğimiz şekilde bir sabit yazabiliriz.
Biliyorsunuz ki, bölme işleminde sıfıra bölme diye bir şey yoktur. Bu kural C#’da da geçerlidir. Bir sayıyı sıfıra bölmeye kalktığınızda “Sıfıra Bölme Hatası” alırsınız. Bu hatayı try catch ile yakalayıp kullanıcıya sıfır değeri girmemesi gerektiği hakkında uyarı verebilirsiniz.
Ayrıntılı Try Catch Finally dersi için tıklayınız.
C# Mod Alma (Bölümden Kalan Bulma)
int _Int_1 = 1, _Int_2 = 2, _Int_3 = 3, _Int_4 = 4; int _Sonuc = 0; _Sonuc = _Int_4 % _Int_3; // Mod alma işlemi, bir bölme işleminden kalan bulma işlemidir. // 4 / 3 işleminden kalan 1 olduğundan sonuç = 1 'dir
Şimdi geldik arttırma operatörlerine…
++ yada — operatörleri birer birer arttırma yada eksiltme yaparlar. Değişkenlerin önüne veya arkasına gelebilirler. Değişkenin önüne gelirse farklı arkasına gelirse farklı davranırlar. Nasıl olduğunu görelim.
Birer Birer Arttırma (++)
int _Int_Arttir; // NOT: Eğer değişkene bir değer vermeden tanımlarsanız ++ yada -- kullanımında hata verecektir. // İçerisinde değer olmayan bir değişkenin değerini arttıramaz yada azaltamaz. // Bu sebeple bir değer verilerek tanımlanmalıdırlar. Yada mutlaka değer atanmış olmalıdır. _Int_Arttir = 10; MessageBox.Show((_Int_Arttir++).ToString()); // Değişkeni bir sonraki işlemde bir arttırır //Çıktı : 10 _Int_Arttir = 10; MessageBox.Show((++_Int_Arttir).ToString()); // Değişkeni hemen bir arttırır. //Çıktı : 11
Birer Birer Azaltma (–)
int _Int_Azalt; // NOT: Eğer değişkene bir değer vermeden tanımlarsanız ++ yada -- kullanımında hata verecektir. // İçerisinde değer olmayan bir değişkenin değerini arttıramaz yada azaltamaz. // Bu sebeple bir değer verilerek tanımlanmalıdırlar. Yada mutlaka değer atanmış olmalıdır. _Int_Azalt = 10; // MessageBox.Show((_Int_Azalt--).ToString()); // Değişkeni bir sonraki işlemde bir azaltır. //Çıktı : 10 _Int_Azalt = 10; // MessageBox.Show((--_Int_Azalt).ToString()); // Değişkeni hemen bir azaltır. //Çıktı : 9
Negatif / Pozitif Yapmak
Bu anlatacağım kısmı başka bir yerde kolay kolay göremezsiniz. ;) Pozitif bir sayıyı negatif, negatif bir sayıyı pozitif yapmak için ( – ) çıkarma operatörünü kullanırız. Bu işlemi yapabilmek için de değişkenin önüne bir ( – ) atarız. Eğer değer negatif ise pozitif, pozitif ise negatif olur.
int i1 = -10; MessageBox.Show((-i1).ToString()); // Çıktı : 10 (Pozitif) int i2 = 10; MessageBox.Show((-i2).ToString()); // Çıktı : -10 (Negatif)
İşleme bakacak olursak, negatif bir değerin önüne ( – ) atarsak şu şekilde görünür – -10 . Matematik derslerinde birçok kez bu konuyu görmüşüzdür. Negatif sayılar, her zaman görünmez bir parantez içerisindedir.
Yukarıdaki ilk işlemin açılımına bakarsak – (-10) şeklinde değil midir? O zaman, Eksi çarpı eksi ‘den işaret pozitif olur.
Yukarıdaki ikinci işlemin açılımına bakarsak – (+10) şeklinde değil midir? O zaman, Eksi çarpı artı ‘dan işaret negatif olur.
Şimdi anlatacağım işlemi de kolay kolay bir yerde bulamazsınız. Bu aslında tam olarak aritmetik operatörler hakkında değil ancak matematiksel işlemlerde işinize yaracak bir yöntem olduğundan dolayı bu işlemi de vermek istiyorum. Bu işlemin adı C# DataTable Compute ‘dir. DataTable ne alaka la diyebilirsiniz ama kodları görene kadar sabredin. :D
Şimdi diyelim ki elinizde string olarak bir işlem var. İşlemde şöyle bir şey olsun.
100 * 8 / 100 + 10 / 2 – 3 – 5 + 5 + 1 / 3
Bu işlemi işlem önceliğine göre hesaplatmak istiyorsunuz. O zaman DataTable’in Compute metodunu kullanabilirsiniz.
string islem = "100 * 8 / 100 + 10 / 2 - 3 - 5 + 5 + 1 / 3"; double sonuc = Convert.ToDouble(new DataTable().Compute(islem, null));
C Sharp aritmetik işlemler dersimizde bu kadar dostlar. Sonraki dersimiz olan, C Sharp mantıksal işlemler dersinde görüşmek üzere.
Tüm C Sharp derslerim için tıklayınız.
C Sharp Eğitim Seti ve ERP Programlama eğitim dersleri listesi için tıklayınız.
Sağlıcakla ve takipte kalın. ;)