C # - Operatörler
Operatör, derleyiciye belirli matematiksel veya mantıksal işlemleri gerçekleştirmesini söyleyen bir semboldür. C #, zengin yerleşik işleçlere sahiptir ve aşağıdaki işleç türlerini sağlar -
- Aritmetik operatörler
- İlişkisel Operatörler
- Mantıksal operatörler
- Bitsel Operatörler
- Atama Operatörleri
- Çeşitli Operatörler
Bu eğitim, aritmetik, ilişkisel, mantıksal, bitsel, atama ve diğer operatörleri tek tek açıklamaktadır.
Aritmetik operatörler
Aşağıdaki tablo C # tarafından desteklenen tüm aritmetik operatörleri göstermektedir. Değişken varsayA 10 ve değişken tutar B 20 tutar sonra -
Örnekleri Göster
Şebeke | Açıklama | Misal |
---|---|---|
+ | İki işlenen ekler | A + B = 30 |
- | İlk işlenenden ikinci işleneni çıkarır | A - B = -10 |
* | Her iki işleneni de çarpar | A * B = 200 |
/ | Payı, numaratörden ayırıcıya böler | B / A = 2 |
% | Modül İşleci ve bir tamsayı bölmesinden sonra kalanı | B% A = 0 |
++ | Arttırma operatörü tamsayı değerini bir artırır | A ++ = 11 |
- | Azaltma operatörü tamsayı değerini bir azaltır | A-- = 9 |
İlişkisel Operatörler
Aşağıdaki tablo C # tarafından desteklenen tüm ilişkisel operatörleri göstermektedir. Değişken varsayA 10 ve değişken tutar B 20 tutar, sonra -
Örnekleri Göster
Şebeke | Açıklama | Misal |
---|---|---|
== | İki işlenenin değerlerinin eşit olup olmadığını kontrol eder, evet ise koşul doğru olur. | (A == B) doğru değil. |
! = | İki işlenenin değerlerinin eşit olup olmadığını kontrol eder, değerler eşit değilse koşul doğru olur. | (A! = B) doğrudur. |
> | Soldaki işlenenin değerinin sağ işlenenin değerinden büyük olup olmadığını kontrol eder, evet ise koşul doğru olur. | (A> B) doğru değil. |
< | Soldaki işlenenin değerinin sağ işlenenin değerinden küçük olup olmadığını kontrol eder, evet ise koşul doğru olur. | (A <B) doğrudur. |
> = | Sol işlenenin değerinin sağ işlenenin değerinden büyük veya ona eşit olup olmadığını kontrol eder, evet ise koşul doğru olur. | (A> = B) doğru değil. |
<= | Sol işlenenin değerinin sağ işlenenin değerinden küçük veya ona eşit olup olmadığını kontrol eder, evet ise koşul doğru olur. | (A <= B) doğrudur. |
Mantıksal operatörler
Aşağıdaki tablo C # tarafından desteklenen tüm mantıksal işleçleri göstermektedir. Değişken varsayA Boolean değerini true ve değişken tutar B Boolean değerini yanlış tutar, sonra -
Örnekleri Göster
Şebeke | Açıklama | Misal |
---|---|---|
&& | Mantıksal AND operatörü çağrıldı. Her iki işlenen de sıfır değilse, koşul doğru olur. | (A && B) yanlıştır. |
|| | Mantıksal VEYA Operatörü çağrıldı. İki işlenenden herhangi biri sıfır değilse, koşul doğru olur. | (A || B) doğrudur. |
! | Mantıksal NOT Operatörü olarak adlandırıldı. İşlenenin mantıksal durumunu tersine çevirmek için kullanın. Bir koşul doğruysa, Mantıksal NOT operatörü yanlış yapar. | ! (A && B) doğrudur. |
Bitsel Operatörler
Bitsel operatör bitler üzerinde çalışır ve bit işlem gerçekleştirir. &, | Ve ^ için doğruluk tabloları aşağıdaki gibidir -
p | q | p & q | p | q | p ^ q |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
A = 60 ise; ve B = 13; sonra ikili biçimde aşağıdaki gibidirler -
Bir = 0011 1100
B = 0000 1101
-------------------
A&B = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001
~ A = 1100 0011
C # tarafından desteklenen Bitsel operatörler aşağıdaki tabloda listelenmiştir. A değişkeninin 60 ve B değişkeninin 13 olduğunu varsayalım, o zaman -
Örnekleri Göster
Şebeke | Açıklama | Misal |
---|---|---|
& | İkili AND İşleci, her iki işlenende de varsa sonuca bir bit kopyalar. | (A & B) = 12, 0000 1100 |
| | İkili VEYA İşleci, işlenenlerden herhangi birinde varsa bir bit kopyalar. | (A | B) = 61, 0011 1101 |
^ | İkili XOR Operatörü, bir işlenen içinde ayarlanmışsa, ancak her ikisinde birden değil ise biti kopyalar. | (A ^ B) = 49, 0011 0001 |
~ | İkili Birler Tamamlayıcı Operatörü tekli ve bitleri 'çevirme' etkisine sahiptir. | (~ A) = -61, işaretli bir ikili sayı nedeniyle 2'nin tamamlayıcısında 1100 0011'dir. |
<< | İkili Sol Kaydırma Operatörü. Soldaki işlenenler değeri, sağ işlenen tarafından belirtilen bit sayısı kadar sola taşınır. | A << 2 = 240, yani 1111 0000 |
>> | İkili Sağ Shift Operatörü. Soldaki işlenenler değeri, sağ işlenen tarafından belirtilen bit sayısı kadar sağa taşınır. | A >> 2 = 15, 0000 1111 |
Atama Operatörleri
C # tarafından desteklenen aşağıdaki atama operatörleri vardır -
Örnekleri Göster
Şebeke | Açıklama | Misal |
---|---|---|
= | Basit atama operatörü, sağ taraftaki işlenenlerden sol taraftaki işlenenlere değerler atar | C = A + B, A + B'nin değerini C'ye atar |
+ = | VE atama operatörü ekle, Sol operanda sağ operandı ekler ve sonucu sol operanda atar. | C + = A, C = C + A'ya eşdeğerdir |
- = | Çıkar VE atama operatörü, Sağ operandı sol operanddan çıkarır ve sonucu sol operanda atar. | C - = A, C = C - A'ya eşdeğerdir |
* = | AND atama operatörünü çarpın, sağ operandı sol operandla çarpar ve sonucu sol operanda atar | C * = A, C = C * A'ya eşdeğerdir |
/ = | VE atama operatörünü bölme, sol operandı sağ operand ile böler ve sonucu sol operanda atar. | C / = A, C = C / A'ya eşdeğerdir |
% = | Modül VE atama operatörü, iki işlenen kullanarak modülü alır ve sonucu sol operanda atar | C% = A eşdeğerdir C = C% A |
<< = | Sol kaydırma VE atama operatörü | C << = 2, C = C << 2 ile aynıdır |
>> = | Sağ kaydırma VE atama operatörü | C >> = 2, C = C >> 2 ile aynıdır |
& = | Bitsel AND atama operatörü | C & = 2, C = C & 2 ile aynıdır |
^ = | bit düzeyinde özel OR ve atama operatörü | C ^ = 2, C = C ^ 2 ile aynıdır |
| = | bitsel kapsayıcı OR ve atama operatörü | C | = 2, C = C | ile aynıdır | 2 |
Çeşitli Operatörler
Aşağıdakileri içeren birkaç önemli operatör vardır: sizeof, typeof ve ? : C # tarafından desteklenmektedir.
Örnekleri Göster
Şebeke | Açıklama | Misal |
---|---|---|
boyutu() | Bir veri türünün boyutunu döndürür. | sizeof (int), 4 değerini döndürür. |
bir çeşit() | Bir sınıfın türünü döndürür. | typeof (StreamReader); |
& | Bir değişkenin adresini verir. | & a; değişkenin gerçek adresini döndürür. |
* | Bir değişkene işaretçi. | * a; bir değişkene 'a' adında bir işaretçi oluşturur. |
? : | Koşullu İfade | Koşul doğruysa? Ardından X değeri: Aksi takdirde Y değeri |
dır-dir | Bir nesnenin belirli bir türde olup olmadığını belirler. | If (Ford is Car) // Ford'un Car sınıfının bir nesnesi olup olmadığını kontrol eder. |
gibi | Atış başarısız olursa bir istisna oluşturmadan yayın yapın. | Nesne obj = new StringReader ("Merhaba"); StringReader r = nesne olarak StringReader; |
C # 'da Operatör Önceliği
Operatör önceliği, bir ifadedeki terimlerin gruplandırılmasını belirler. Bu, bir ifadenin değerlendirilmesini etkiler. Bazı operatörler diğerlerinden daha yüksek önceliğe sahiptir; örneğin, çarpma operatörü toplama operatöründen daha yüksek önceliğe sahiptir.
Örneğin x = 7 + 3 * 2; burada, x operatörü + 'dan daha yüksek önceliğe sahip olduğu için 20 değil, 13 olarak atanır, bu nedenle ilk değerlendirme 3 * 2 için yapılır ve sonra 7 eklenir.
Burada, en yüksek önceliğe sahip operatörler tablonun en üstünde, en düşük olanlar en altta görünür. Bir ifade içinde, önce yüksek öncelikli operatörler değerlendirilir.
Örnekleri Göster
Kategori | Şebeke | İlişkisellik |
---|---|---|
Postfix | () [] ->. ++ - - | Soldan sağa |
Tekli | + -! ~ ++ - - (tür) * & sizeof | Sağdan sola |
Çarpımsal | * /% | Soldan sağa |
Katkı | + - | Soldan sağa |
Vardiya | << >> | Soldan sağa |
İlişkisel | <<=>> = | Soldan sağa |
Eşitlik | ==! = | Soldan sağa |
Bitsel AND | & | Soldan sağa |
Bitsel ÖZELVEYA | ^ | Soldan sağa |
Bit tabanlı VEYA | | | Soldan sağa |
Mantıksal AND | && | Soldan sağa |
Mantıksal VEYA | || | Soldan sağa |
Koşullu | ?: | Sağdan sola |
Görev | = + = - = * = / =% = >> = << = & = ^ = | = | Sağdan sola |
Virgül | , | Soldan sağa |