U ovom ćemo članku naučiti sve o različitim vrstama operatora u programskom jeziku C # i kako ih koristiti.
Operatori su simboli koji se koriste za izvođenje operacija nad operandima. Operandi mogu biti varijable i / ili konstante.
Na primjer , u 2+3
, +
je operator koji se koristi za izvršavanje operacije zbrajanja, dok su 2
i 3
operandi.
Operatori se koriste za manipulaciju varijablama i vrijednostima u programu. C # podržava brojne operatore koji su klasificirani na temelju vrste operacija koje izvode.
1. Osnovni operator dodjele
Osnovni operator dodjele (=) koristi se za dodjeljivanje vrijednosti varijablama. Na primjer,
dvostruki x; x = 50,05;
Ovdje je x dodijeljeno 50,05.
Primjer 1: Osnovni operator dodjele
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); ) ) )
Kada pokrenemo program, izlaz će biti:
Prvi broj = 10 Drugi broj = 10
Ovo je jednostavan primjer koji pokazuje upotrebu operatora dodjele.
Možda ste primijetili upotrebu kovrčavih zagrada ( )
u primjeru. O njima ćemo razgovarati u oblikovanju nizova. Za sada samo imajte na umu da (0)
je zamijenjena prvom varijablom koja slijedi niz, (1)
zamijenjena je drugom varijablom i tako dalje.
2. Aritmetički operatori
Aritmetički operatori koriste se za izvođenje aritmetičkih operacija kao što su zbrajanje, oduzimanje, množenje, dijeljenje itd.
Na primjer,
int x = 5; int y = 10; int z = x + y; // z = 15C # Aritmetički operatori
Operater | Ime operatora | Primjer |
---|---|---|
+ | Operater zbrajanja | 6 + 3 ocjenjuje na 9 |
- | Operator oduzimanja | 10 - 6 ocjenjuje na 4 |
* | Operator množenja | 4 * 2 ocjenjuje na 8 |
/ | Divizion | 10/5 ocjenjuje na 2 |
% | Modulo Operator (ostatak) | 16% 3 ocjenjuje na 1 |
Primjer 2: Aritmetički operatori
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); ) ) )
Kada pokrenemo program, izlaz će biti:
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
Aritmetičke operacije izvode se u gornjem primjeru. Varijable se u naredbama mogu zamijeniti konstantama. Na primjer,
rezultat = 4,5 + 2,7; // rezultat će sadržavati 7,2 rezultat = prvi broj - 3,2; // rezultat će se održati 11.2
3. Relacijski operateri
Relacijski operatori koriste se za provjeru odnosa između dva operanda. Ako je veza istinita, rezultat će biti true
, inače će rezultirati false
.
Relacijski operatori koriste se u donošenju odluka i petljama.
C # relacijski operateriOperater | Ime operatora | Primjer |
---|---|---|
== | Jednak | 6 == 4 ocjenjuje na false |
> | Veći od | 3> -1 procjenjuje na točno |
< | Manje od | 5 <3 ocjenjuje na lažno |
> = | Veći od ili jednak | 4> = 4 procjenjuje na točno |
<= | Manje ili jednako | 5 <= 3 ocjenjuje na lažno |
! = | Nije jednako | 10! = 2 ocjenjuje istinitim |
Primjer 3: Relacijski operateri
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); ) ) )
Kada pokrenemo program, izlaz će biti:
10 == 20 vraća False 10> 20 vraća False 10 = 20 vraća False 10 <= 20 vraća True 10! = 20 vraća True
4. Logički operatori
Logički operatori se koriste za obavljanje logičku operaciju kao što su and
, or
. Logički operatori operiraju logičke izraze ( true
i false
) i vraćaju logičke vrijednosti. Logički operatori koriste se u donošenju odluka i petljama.
Evo kako se rezultat ocjenjuje za logičke AND
i OR
operatore.
Operand 1 | Operand 2 | ILI (||) | I (&&) |
---|---|---|---|
pravi | pravi | pravi | pravi |
pravi | lažno | pravi | lažno |
lažno | pravi | pravi | lažno |
lažno | lažno | lažno | lažno |
Jednostavnim riječima, tablica se može sažeti kao:
- Ako je jedan od operanda istinit,
OR
operator će ga procijeniti natrue
. - Ako je jedan od operanda netačan,
AND
operator će to procijenitifalse
.
Primjer 4: Logički operatori
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); ) ) )
Kada pokrenemo program, izlaz će biti:
Točno netočno
5. Unarni operateri
Za razliku od ostalih operatora, unarni operatori rade na jednom operandu.
C # unarni operatoriOperater | Ime operatora | Opis |
---|---|---|
+ | Unary Plus | Ostavlja znak operanda kakav jest |
- | Unary Minus | Obrne znak operanda |
++ | Prirast | Povećaj vrijednost za 1 |
- | Dekrement | Umanji vrijednost za 1 |
! | Logična negacija (nije) | Obrne vrijednost logičke vrijednosti |
Primjer 5: Unarni operatori
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)); ) ) )
Kada pokrenemo program, izlaz će biti:
+ broj = 10 -broj = -10 ++ broj = 11 --broj = 10! zastava = Netačno
Operatori prirasta (++)
i smanjenja (--)
mogu se koristiti kao prefiks i postfiks. Ako se koristi kao prefiks, promjena vrijednosti varijable vidi se u istom retku, a ako se koristi kao postfix, promjena vrijednosti varijable vidi se u sljedećem retku. To će biti jasno iz primjera u nastavku.
Primjer 6: Operatori za post i inkrement u C #
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)); ) ) )
Kada pokrenemo program, izlaz će biti:
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;
Ternarni operator radi na sljedeći način:
- Ako je izraz naveden u Uvjetu
true
, rezultat Izraz1 dodijeljen je varijabli. - Ako jest
false
, rezultat Expression2 dodjeljuje se varijabli.
Primjer 7: Ternarni operater
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); ) ) )
Kada pokrenemo program, izlaz će biti:
10 je parni broj
Da biste saznali više, posjetite C # ternarni operater.
7. Operateri bitovnog i bitnog pomaka
Operatori bit-a i pomaka bita koriste se za izvođenje operacija manipulacije bitovima.
C # Bitwise i Bit Shift operateriOperater | Ime operatora |
---|---|
~ | Bitni dodatak |
& | Bitno I |
| | Bitno ILI |
^ | Bitno ekskluzivno ILI |
<< | Pomicanje ulijevo ulijevo |
>> | Pomicanje udesno udesno |
Primjer 8: Bitwise i Bit Shift Operator
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); ) ) )
Kada pokrenemo program, izlaz će biti:
~ 10 = -11 10 & 20 = 0 10 | 20 = 30 10 20 = 30 10 <> 2 = 2
Da biste saznali više, posjetite C # Bitwise i Bit Shift operator.
8. Složeni operateri dodjele
C # Složeni operateri dodjeleOperater | Ime operatora | Primjer | Ekvivalentno |
---|---|---|---|
+ = | Dodjela dodjela | x += 5 | x = x + 5 |
- = | Dodjeljivanje oduzimanja | x -= 5 | x = x - 5 |
* = | Zadatak množenja | x *= 5 | x = x * 5 |
/ = | Dodjela divizije | x /= 5 | x = x / 5 |
% = | Zadatak po modulu | x %= 5 | x = x % 5 |
& = | Bit-bit i dodjela | x &= 5 | x = x & 5 |
| = | Bitno ILI dodjeljivanje | x |= 5 | x = x | 5 |
= | Dodjeljivanje XOR-a u bitovima | x ^= 5 | x = x 5 |
<< = | Dodjela lijevog pomaka | x <<= 5 | x = x << 5 |
>> = | Dodjela desnog pomaka | x>>= 5 | x = x>> 5 |
=> | Lambda operater | x => x*x | Returns x*x |
Primjer 9: Složeni operater dodjele
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); ) ) )
Kada pokrenemo program, izlaz će biti:
15 12 24 8 2 2 14 2 8 1
O Lambda operatorima razgovarat ćemo u kasnijem vodiču.