Bu yazıda, C # programlama dilinde farklı operatör türleri ve bunların nasıl kullanılacağı hakkında her şeyi öğreneceğiz.
Operatörler, işlenenler üzerinde işlem yapmak için kullanılan sembollerdir. Operandlar, değişkenler ve / veya sabitler olabilir.
Örneğin , içinde 2+3
, işlenenler +
iken 2
ve 3
işlenenler toplama işlemini gerçekleştirmek için kullanılan bir işleçtir.
Operatörler, bir programdaki değişkenleri ve değerleri işlemek için kullanılır. C #, gerçekleştirdikleri işlemlerin türüne göre sınıflandırılan bir dizi operatörü destekler.
1. Temel Atama Operatörü
Değişkenlere değer atamak için temel atama operatörü (=) kullanılır. Örneğin,
Çift x; x = 50.05;
Burada 50.05 x'e atanmıştır.
Örnek 1: Temel Atama Operatörü
using System; namespace Operator ( class AssignmentOperator ( public static void Main(string() args) ( int firstNumber, secondNumber; // Assigning a constant to variable firstNumber = 10; Console.WriteLine("First Number = (0)", firstNumber); // Assigning a variable to another variable secondNumber = firstNumber; Console.WriteLine("Second Number = (0)", secondNumber); ) ) )
Programı çalıştırdığımızda çıktı şöyle olacaktır:
İlk Sayı = 10 İkinci Sayı = 10
Bu, atama operatörünün kullanımını gösteren basit bir örnektir.
( )
Örnekte küme parantezlerinin kullanıldığını fark etmiş olabilirsiniz . Bunları dize biçimlendirmesinde tartışacağız. Şimdilik (0)
, dizeyi izleyen ilk değişkenle (1)
değiştirilenin, ikinci değişkenle değiştirildiğini vb.
2. Aritmetik Operatörler
Aritmetik operatörler, toplama, çıkarma, çarpma, bölme gibi aritmetik işlemleri gerçekleştirmek için kullanılır.
Örneğin,
int x = 5; int y = 10; int z = x + y; // z = 15C # Aritmetik Operatörleri
Şebeke | Operatör ismi | Misal |
---|---|---|
+ | Toplama Operatörü | 6 + 3, 9 olarak değerlendirilir |
- | Çıkarma Operatörü | 10 - 6, 4 olarak değerlendirilir |
* | Çarpma Operatörü | 4 * 2, 8 olarak değerlendirilir |
/ | Bölüm Operatörü | 10/5, 2 olarak değerlendirilir |
% | Modulo Operatörü (Kalan) | 16% 3, 1 olarak değerlendirilir |
Örnek 2: Aritmetik Operatörler
using System; namespace Operator ( class ArithmeticOperator ( public static void Main(string() args) ( double firstNumber = 14.40, secondNumber = 4.60, result; int num1 = 26, num2 = 4, rem; // Addition operator result = firstNumber + secondNumber; Console.WriteLine("(0) + (1) = (2)", firstNumber, secondNumber, result); // Subtraction operator result = firstNumber - secondNumber; Console.WriteLine("(0) - (1) = (2)", firstNumber, secondNumber, result); // Multiplication operator result = firstNumber * secondNumber; Console.WriteLine("(0) * (1) = (2)", firstNumber, secondNumber, result); // Division operator result = firstNumber / secondNumber; Console.WriteLine("(0) / (1) = (2)", firstNumber, secondNumber, result); // Modulo operator rem = num1 % num2; Console.WriteLine("(0) % (1) = (2)", num1, num2, rem); ) ) )
Programı çalıştırdığımızda çıktı şöyle olacaktır:
14,4 + 4,6 = 19 14,4 - 4,6 = 9,8 14,4 * 4,6 = 66,24 14,4 / 4,6 = 3,1304347826087% 26 4 = 2
Yukarıdaki örnekte aritmetik işlemler gerçekleştirilmiştir. İfadelerde değişkenler sabitlerle değiştirilebilir. Örneğin,
sonuç = 4,5 + 2,7; // sonuç 7.2 olacak sonuç = ilkNumara - 3.2; // sonuç 11,2 olacaktır
3. İlişkisel Operatörler
İlişkisel operatörler, iki işlenen arasındaki ilişkiyi kontrol etmek için kullanılır. İlişki doğruysa sonuç olur true
, aksi halde sonuçlanır false
.
İlişkisel operatörler karar vermede ve döngülerde kullanılır.
C # İlişkisel OperatörlerŞebeke | Operatör ismi | Misal |
---|---|---|
== | Eşittir | 6 == 4 yanlış olarak değerlendirilir |
> | Büyüktür | 3> -1 doğru olarak değerlendirilir |
< | Daha az | 5 <3 yanlış olarak değerlendirilir |
> = | Büyük veya eşit | 4> = 4 doğru olarak değerlendirilir |
<= | Küçüktür veya eşittir | 5 <= 3 yanlış olarak değerlendirilir |
! = | Eşit değil | 10! = 2 doğru olarak değerlendirilir |
Örnek 3: İlişkisel Operatörler
using System; namespace Operator ( class RelationalOperator ( public static void Main(string() args) ( bool result; int firstNumber = 10, secondNumber = 20; result = (firstNumber==secondNumber); Console.WriteLine("(0) == (1) returns (2)",firstNumber, secondNumber, result); result = (firstNumber> secondNumber); Console.WriteLine("(0)> (1) returns (2)",firstNumber, secondNumber, result); result = (firstNumber < secondNumber); Console.WriteLine("(0) = secondNumber); Console.WriteLine("(0)>= (1) returns (2)",firstNumber, secondNumber, result); result = (firstNumber <= secondNumber); Console.WriteLine("(0) <= (1) returns (2)",firstNumber, secondNumber, result); result = (firstNumber != secondNumber); Console.WriteLine("(0) != (1) returns (2)",firstNumber, secondNumber, result); ) ) )
Programı çalıştırdığımızda çıktı şöyle olacaktır:
10 == 20, False 10'u döndürür> 20, False 10 = 20, False 10'u döndürür <= 20, True 10'u döndürür! = 20, True döndürür
4. Mantıksal Operatörler
Mantıksal operatörler gibi mantıksal işlem gerçekleştirmek için kullanılan and
, or
. Mantıksal operatörler, boole ifadeleri ( true
ve false
) üzerinde çalışır ve boole değerlerini döndürür. Mantıksal operatörler karar vermede ve döngülerde kullanılır.
Mantıksal AND
ve OR
operatörler için sonucun nasıl değerlendirildiği aşağıda açıklanmıştır .
Operand 1 | Operand 2 | VEYA (||) | VE (&&) |
---|---|---|---|
doğru | doğru | doğru | doğru |
doğru | yanlış | doğru | yanlış |
yanlış | doğru | doğru | yanlış |
yanlış | yanlış | yanlış | yanlış |
Basit bir deyişle, tablo şu şekilde özetlenebilir:
- İşlenenlerden biri doğruysa,
OR
operatör bunu olarak değerlendirecektirtrue
. - İşlenenlerden biri yanlışsa,
AND
operatör bunu olarak değerlendirecektirfalse
.
Örnek 4: Mantıksal Operatörler
using System; namespace Operator ( class LogicalOperator ( public static void Main(string() args) ( bool result; int firstNumber = 10, secondNumber = 20; // OR operator result = (firstNumber == secondNumber) || (firstNumber> 5); Console.WriteLine(result); // AND operator result = (firstNumber == secondNumber) && (firstNumber> 5); Console.WriteLine(result); ) ) )
Programı çalıştırdığımızda çıktı şöyle olacaktır:
Doğru yanlış
5. Tekli Operatörler
Diğer operatörlerin aksine, tekli operatörler tek bir operand üzerinde çalışır.
C # tekli operatörlerŞebeke | Operatör ismi | Açıklama |
---|---|---|
+ | Unary Plus | İşlenenin işaretini olduğu gibi bırakır |
- | Tekli Eksi | İşlenen işaretini tersine çevirir |
++ | Artış | Değeri 1 artır |
- | Azaltma | Değeri 1 azalt |
! | Mantıksal Olumsuzluk (Değil) | Bir boolean değerini tersine çevirir |
Örnek 5: Tekli Operatörler
using System; namespace Operator ( class UnaryOperator ( public static void Main(string() args) ( int number = 10, result; bool flag = true; result = +number; Console.WriteLine("+number = " + result); result = -number; Console.WriteLine("-number = " + result); result = ++number; Console.WriteLine("++number = " + result); result = --number; Console.WriteLine("--number = " + result); Console.WriteLine("!flag = " + (!flag)); ) ) )
Programı çalıştırdığımızda çıktı şöyle olacaktır:
+ sayı = 10-sayı = -10 ++ sayı = 11 - sayı = 10! bayrak = Yanlış
Arttırma (++)
ve eksiltme (--)
operatörleri önek ve sonek olarak kullanılabilir. Önek olarak kullanılırsa değişkenin değerindeki değişiklik aynı satırda, sonek olarak kullanılırsa değişkenin değerindeki değişiklik sonraki satırda görülür. Bu, aşağıdaki örnekle netleşecektir.
Örnek 6: C # 'ta Arttırma ve Ön Arttırma operatörleri
using System; namespace Operator ( class UnaryOperator ( public static void Main(string() args) ( int number = 10; Console.WriteLine((number++)); Console.WriteLine((number)); Console.WriteLine((++number)); Console.WriteLine((number)); ) ) )
Programı çalıştırdığımızda çıktı şöyle olacaktır:
10 11 12 12
We can see the effect of using ++
as prefix and postfix. When ++
is used after the operand, the value is first evaluated and then it is incremented by 1
. Hence the statement
Console.WriteLine((number++));
prints 10
instead of 11
. After the value is printed, the value of number is incremented by 1
.
The process is opposite when ++
is used as prefix. The value is incremented before printing. Hence the statement
Console.WriteLine((++number));
prints 12
.
The case is same for decrement operator (--)
.
6. Ternary Operator
The ternary operator ? :
operates on three operands. It is a shorthand for if-then-else
statement. Ternary operator can be used as follows:
variable = Condition? Expression1 : Expression2;
Üçlü operatör şu şekilde çalışır:
- Koşul tarafından belirtilen ifade ise
true
, İfade1'in sonucu değişkene atanır. - Öyleyse
false
, Expression2'nin sonucu değişkene atanır.
Örnek 7: Üçlü Operatör
using System; namespace Operator ( class TernaryOperator ( public static void Main(string() args) ( int number = 10; string result; result = (number % 2 == 0)? "Even Number" : "Odd Number"; Console.WriteLine("(0) is (1)", number, result); ) ) )
Programı çalıştırdığımızda çıktı şöyle olacaktır:
10 Çift Sayıdır
Daha fazla bilgi edinmek için C # üçlü operatörünü ziyaret edin.
7. Bitsel ve Bit Kaydırma Operatörleri
Bitsel ve bit kaydırma operatörleri, bit işleme işlemlerini gerçekleştirmek için kullanılır.
C # Bitsel ve Bit Kaydırma operatörleriŞebeke | Operatör ismi |
---|---|
~ | Bitsel Tamamlayıcı |
& | Bitsel AND |
| | Bit tabanlı VEYA |
^ | Bitsel Ayrıcalıklı VEYA |
<< | Bit Düzeyinde Sola Kaydırma |
>> | Bit Düzeyinde Sağa Kaydırma |
Örnek 8: Bit Yönünde ve Bit Kaydırma Operatörü
using System; namespace Operator ( class BitOperator ( public static void Main(string() args) ( int firstNumber = 10; int secondNumber = 20; int result; result = ~firstNumber; Console.WriteLine("~(0) = (1)", firstNumber, result); result = firstNumber & secondNumber; Console.WriteLine("(0) & (1) = (2)", firstNumber,secondNumber, result); result = firstNumber | secondNumber; Console.WriteLine("(0) | (1) = (2)", firstNumber,secondNumber, result); result = firstNumber secondNumber; Console.WriteLine("(0) (1) = (2)", firstNumber,secondNumber, result); result = firstNumber << 2; Console.WriteLine("(0) <> 2; Console.WriteLine("(0)>> 2 = (1)", firstNumber, result); ) ) )
Programı çalıştırdığımızda çıktı şöyle olacaktır:
~ 10 = -11 10 ve 20 = 0 10 | 20 = 30 10 20 = 30 10 <> 2 = 2
Daha fazla bilgi edinmek için C # Bitwise ve Bit Shift operatörünü ziyaret edin.
8. Bileşik Atama Operatörleri
C # Bileşik Atama OperatörleriŞebeke | Operatör ismi | Misal | Eşittir |
---|---|---|---|
+ = | Ek Atama | x += 5 | x = x + 5 |
- = | Çıkarma Ataması | x -= 5 | x = x - 5 |
* = | Çarpma Ataması | x *= 5 | x = x * 5 |
/ = | Bölüm Atama | x /= 5 | x = x / 5 |
% = | Modulo Ataması | x %= 5 | x = x % 5 |
& = | Bitsel VE Atama | x &= 5 | x = x & 5 |
| = | Bitsel VEYA Atama | x |= 5 | x = x | 5 |
= | Bitsel XOR Ataması | x ^= 5 | x = x 5 |
<< = | Sola Kaydırma Ataması | x <<= 5 | x = x << 5 |
>> = | Sağ Vites Ataması | x>>= 5 | x = x>> 5 |
=> | Lambda Operatörü | x => x*x | Returns x*x |
Örnek 9: Bileşik Atama Operatörü
using System; namespace Operator ( class BitOperator ( public static void Main(string() args) ( int number = 10; number += 5; Console.WriteLine(number); number -= 3; Console.WriteLine(number); number *= 2; Console.WriteLine(number); number /= 3; Console.WriteLine(number); number %= 3; Console.WriteLine(number); number &= 10; Console.WriteLine(number); number |= 14; Console.WriteLine(number); number ^= 12; Console.WriteLine(number); number <>= 3; Console.WriteLine(number); ) ) )
Programı çalıştırdığımızda çıktı şöyle olacaktır:
15 12 24 8 2 2 14 2 8 1
Lambda operatörleri hakkında sonraki eğitimde tartışacağız.