C # - Operator
Operator adalah simbol yang memberi tahu kompiler untuk melakukan manipulasi matematika atau logika tertentu. C # memiliki banyak set operator built-in dan menyediakan jenis operator berikut -
- Operator Aritmatika
- Operator Relasional
- Operator Logis
- Operator Bitwise
- Operator Penugasan
- Operator Misc
Tutorial ini menjelaskan aritmatika, relasional, logika, bitwise, penugasan, dan operator lainnya satu per satu.
Operator Aritmatika
Tabel berikut menunjukkan semua operator aritmatika yang didukung oleh C #. Asumsikan variabelA memegang 10 dan variabel B memegang 20 lalu -
Tunjukkan Contoh
Operator | Deskripsi | Contoh |
---|---|---|
+ | Menambahkan dua operan | A + B = 30 |
- | Mengurangi operan kedua dari yang pertama | A - B = -10 |
* | Menggandakan kedua operan | A * B = 200 |
/ | Membagi pembilang dengan de-numerator | B / A = 2 |
% | Modulus Operator dan sisa setelah pembagian integer | B% A = 0 |
++ | Operator increment meningkatkan nilai integer satu | A ++ = 11 |
- | Operator pengurangan mengurangi nilai integer satu | A-- = 9 |
Operator Relasional
Tabel berikut menunjukkan semua operator relasional yang didukung oleh C #. Asumsikan variabelA memegang 10 dan variabel B memegang 20, lalu -
Tunjukkan Contoh
Operator | Deskripsi | Contoh |
---|---|---|
== | Memeriksa apakah nilai dari dua operan sama atau tidak, jika ya maka kondisinya menjadi benar. | (A == B) tidak benar. |
! = | Memeriksa apakah nilai dari dua operan sama atau tidak, jika nilai tidak sama maka kondisi menjadi benar. | (A! = B) benar. |
> | Memeriksa apakah nilai operan kiri lebih besar dari nilai operan kanan, jika ya maka kondisi menjadi benar. | (A> B) tidak benar. |
< | Memeriksa apakah nilai operan kiri kurang dari nilai operan kanan, jika ya maka kondisinya menjadi benar. | (A <B) benar. |
> = | Memeriksa apakah nilai operan kiri lebih besar dari atau sama dengan nilai operan kanan, jika ya maka kondisi menjadi benar. | (A> = B) tidak benar. |
<= | Memeriksa apakah nilai operan kiri kurang dari atau sama dengan nilai operan kanan, jika ya maka kondisi menjadi benar. | (A <= B) benar. |
Operator Logis
Tabel berikut menunjukkan semua operator logika yang didukung oleh C #. Asumsikan variabelA memegang nilai Boolean true dan variabel B memegang nilai Boolean salah, lalu -
Tunjukkan Contoh
Operator | Deskripsi | Contoh |
---|---|---|
&& | Disebut Logical AND operator. Jika kedua operan bukan nol maka kondisi menjadi benar. | (A && B) salah. |
|| | Disebut Logical OR Operator. Jika salah satu dari dua operan bukan nol maka kondisi menjadi benar. | (A || B) itu benar. |
! | Disebut Logical NOT Operator. Gunakan untuk membalikkan keadaan logis operannya. Jika kondisi benar maka operator NOT akan membuat salah. | ! (A && B) benar. |
Operator Bitwise
Operator bitwise bekerja pada bit dan melakukan operasi bit demi bit. Tabel kebenaran untuk &, |, dan ^ adalah sebagai berikut -
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 |
Asumsikan jika A = 60; dan B = 13; maka dalam format binernya adalah sebagai berikut -
A = 0011 1100
B = 0000 1101
-------------------
A&B = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001
~ A = 1100 0011
Operator Bitwise yang didukung oleh C # tercantum dalam tabel berikut. Asumsikan variabel A memiliki 60 dan variabel B memiliki 13, maka -
Tunjukkan Contoh
Operator | Deskripsi | Contoh |
---|---|---|
& | Biner AND Operator menyalin sedikit ke hasil jika ada di kedua operan. | (A & B) = 12, yaitu 0000 1100 |
| | Biner OR Operator menyalin sedikit jika ada di salah satu operan. | (A | B) = 61, yaitu 0011 1101 |
^ | Operator Biner XOR menyalin bit jika diatur dalam satu operan tetapi tidak keduanya. | (A ^ B) = 49, yaitu 0011 0001 |
~ | Operator Pelengkap Binary Ones adalah unary dan memiliki efek bit 'membalik'. | (~ A) = -61, yaitu 1100 0011 dalam komplemen 2 karena bilangan biner bertanda. |
<< | Operator Binary Left Shift. Nilai operan kiri dipindahkan ke kiri dengan jumlah bit yang ditentukan oleh operan kanan. | A << 2 = 240, yaitu 1111 0000 |
>> | Operator Pergeseran Kanan Biner. Nilai operan kiri dipindahkan ke kanan dengan jumlah bit yang ditentukan oleh operan kanan. | A >> 2 = 15, yaitu 0000 1111 |
Operator Penugasan
Ada operator penugasan berikut yang didukung oleh C # -
Tunjukkan Contoh
Operator | Deskripsi | Contoh |
---|---|---|
= | Operator penugasan sederhana, Menetapkan nilai dari operan sisi kanan ke operan sisi kiri | C = A + B memberikan nilai A + B ke dalam C |
+ = | Tambahkan AND operator penugasan, Ini menambahkan operan kanan ke operan kiri dan menetapkan hasilnya ke operan kiri | C + = A ekivalen dengan C = C + A |
- = | Kurangi AND operator penugasan, Ini mengurangi operan kanan dari operan kiri dan menetapkan hasilnya ke operan kiri | C - = A ekivalen dengan C = C - A |
* = | Kalikan DAN operator penugasan, Ini mengalikan operan kanan dengan operan kiri dan menetapkan hasilnya ke operan kiri | C * = A setara dengan C = C * A |
/ = | Bagi AND operator penugasan, Ini membagi operan kiri dengan operan kanan dan menetapkan hasilnya ke operan kiri | C / = A ekivalen dengan C = C / A |
% = | Modulus AND operator penugasan, Dibutuhkan modulus menggunakan dua operan dan menetapkan hasilnya ke operan kiri | C% = A ekivalen dengan C = C% A |
<< = | Pergeseran kiri DAN operator penugasan | C << = 2 sama dengan C = C << 2 |
>> = | Shift kanan DAN operator penugasan | C >> = 2 sama dengan C = C >> 2 |
& = | Bitwise AND operator penugasan | C & = 2 sama dengan C = C & 2 |
^ = | bitwise eksklusif OR dan operator penugasan | C ^ = 2 sama dengan C = C ^ 2 |
| = | bitwise inklusif OR dan operator penugasan | C | = 2 sama dengan C = C | 2 |
Operator Miscellaneous
Ada beberapa operator penting lainnya termasuk sizeof, typeof dan ? : didukung oleh C #.
Tunjukkan Contoh
Operator | Deskripsi | Contoh |
---|---|---|
ukuran dari() | Mengembalikan ukuran tipe data. | sizeof (int), mengembalikan 4. |
jenis() | Mengembalikan tipe kelas. | typeof (StreamReader); |
& | Menampilkan alamat variabel. | &Sebuah; mengembalikan alamat sebenarnya dari variabel tersebut. |
* | Pointer ke variabel. | *Sebuah; membuat pointer bernama 'a' ke variabel. |
? : | Ekspresi Bersyarat | Jika Kondisi benar? Kemudian nilai X: Jika tidak, nilai Y |
adalah | Menentukan apakah suatu objek berjenis tertentu. | If (Ford is Car) // memeriksa apakah Ford adalah objek dari kelas Mobil. |
sebagai | Lakukan cast tanpa pengecualian jika cast gagal. | Object obj = new StringReader ("Halo"); StringReader r = obj sebagai StringReader; |
Operator Prioritas di C #
Prioritas operator menentukan pengelompokan istilah dalam ekspresi. Ini mempengaruhi evaluasi ekspresi. Operator tertentu memiliki prioritas lebih tinggi daripada yang lain; misalnya, operator perkalian memiliki prioritas yang lebih tinggi daripada operator penjumlahan.
Misalnya x = 7 + 3 * 2; di sini, x ditetapkan 13, bukan 20 karena operator * memiliki prioritas lebih tinggi dari +, jadi evaluasi pertama dilakukan untuk 3 * 2 dan kemudian 7 ditambahkan ke dalamnya.
Di sini, operator dengan prioritas tertinggi muncul di bagian atas tabel, operator dengan prioritas terendah muncul di bagian bawah. Dalam ekspresi, operator dengan prioritas lebih tinggi dievaluasi terlebih dahulu.
Tunjukkan Contoh
Kategori | Operator | Asosiatif |
---|---|---|
Postfix | () [] ->. ++ - - | Kiri ke kanan |
Unary | + -! ~ ++ - - (tipe) * & sizeof | Kanan ke kiri |
Perkalian | * /% | Kiri ke kanan |
Aditif | + - | Kiri ke kanan |
Bergeser | << >> | Kiri ke kanan |
Relasional | <<=>> = | Kiri ke kanan |
Persamaan | ==! = | Kiri ke kanan |
Bitwise DAN | & | Kiri ke kanan |
Bitwise XOR | ^ | Kiri ke kanan |
Bitwise ATAU | | | Kiri ke kanan |
DAN logis | && | Kiri ke kanan |
Logis ATAU | || | Kiri ke kanan |
Bersyarat | ?: | Kanan ke kiri |
Tugas | = + = - = * = / =% = >> = << = & = ^ = | = | Kanan ke kiri |
Koma | , | Kiri ke kanan |