Operator to symbol, który powoduje, że kompilator wykonuje określoną akcję. Najczęściej korzystamy z operatorów w kontekście wykorzystywanych w programie zmiennych. Ze względu na rodzaj operacji operatory możemy podzielić na: operatory arytmetyczne, operatory bitowe, operatory przypisania i operatory porównania. W zależności od literatury może się zmieniać podział operatorów, ale nie jest to istotne z punktu widzenia programisty;) Ważne, żeby rozumieć sposób działania poszczególnych operatorów.
OPERATORY ARYTMETYCZNE
| OPERATOR | SKŁADNIA | OPIS |
|---|---|---|
| = | a=b | Powoduje przypisanie wartości zmiennej b do a |
| + | a+b | Zwraca wartość sumy wyrażeń |
| - | a-b | Zwraca wartość różnicy wyrażeń a - b |
| * | a*b | Zwraca wartość iloczynu wyrażeń |
| / | a/b | Zwraca wartość dzielenia a przez b |
| % | a%b | Zwraca resztę z dzielenia |
Przykłady:
int x,y,z;
x=9; //zmiennej x przypisaliśmy wartość 9
y=x+3;
z=y-2;
x=x*2;
y=x/3;
z=5%2; //reszta z dzielenia z=1
OPERATORY BITOWE
| OPERATOR | SKŁADNIA | OPIS |
|---|---|---|
| & | a&b | Wykonuje bitową operację AND |
| ^ | a^b | Wykonuje bitową operację XOR |
| | | a|b | Wykonuje bitową operację OR |
| ~ | a=~a | Wykonuje bitową negację liczby |
| << | a<<b | Przesuwa bity w lewo o b miejsc |
| >> | a>>b | Przesuwa bity w prawo o b miejsc |
Przykłady:
int a = 92; // binarnie: 0000000001011100
int b = 101; // binarnie: 0000000001100101
int c = a & b; // wynik: 0000000001000100
int d = a | b; // wynik: 0000000001111101
int x = 12; // binarnie: 1100
int y = 10; // binarnie: 1010
int z = x ^ y; // wynik: 0110
int a = 103; // binarnie: 0000000001100111
int b = ~a; // wynik: 1111111110011000
int a = 5; // binarnie: 0000000000000101
int b = a << 3; // binarnie: 0000000000101000
int c = b >> 3; // binarnie: 0000000000000101
OPERATORY PRZYPISANIA
| OPERATOR | SKŁADNIA | OPIS |
|---|---|---|
| ++ | a++ lub ++a | Inkrementacja - zwraca wartość i zwiększa a o 1 (lub zwiększa i zwraca wartość) |
| -- | a-- lub --a | Dekrementacja - zwraca wartość i zmniejsza a o 1 (lub zmniejsza i zwraca wartość) |
| += | a+=b | Powoduje przypisanie wartości a+b do zmiennej a |
| -= | a-=b | Powoduje przypisanie wartości a-b do zmiennej a |
| *= | a*=b | Przypisuje wartość wyrażenia a*b do zmiennej a |
| /= | a/=b | Przypisuje wartość wyrażenia a/b do zmiennej a |
| &= | a&=2 | Wykonuje iloczyn bitowy a i 2 |
| |= | a|=10 | Wykonuje sumę bitową a i 10 |
Przykłady:
int x;
x=9; //zmiennej x przypisaliśmy wartość 9
x++; //x=10
x--; //x=9
x+=2; //x=11
x-=3; //x=8
OPERATORY PORÓWNANIA
| OPERATOR | SKŁADNIA | OPIS |
|---|---|---|
| == | a==b | Zwraca TRUE jeśli oba wyrażenia są sobie równe |
| != | a!=b | Zwraca TRUE kiedy oba wyrażenia są różne |
| < | a<b | Zwraca TRUE kiedy wyrażenie a jest mniejsze od b |
| > | a>b | Zwraca TRUE kiedy pierwsze wyrażenie jest większe od drugiego |
| >= | a>=b | Zwraca TRUE kiedy a jest większe lub równe b |
| <= | a<=b | Zwraca TRUE kiedy a jest mniejsze lub równe b |
| && | a && b | Zwraca TRUE, jeśli obra wyrażenia są prawdziwe |
| || | a || b | Zwraca TRUE, jeśli któreś z wyrażeń jest prawdziwe |
| ! | !a | Zmienia wartość logiczną wyrażenia na przeciwną |
Przykłady:
int x;
if(x==9) // prawda gdy x równe 9
if(x!=9) // prawda gdy x różne od 9
if(x<9) // prawda gdy x mniejsze od 9
if(x>9) // prawda gdy x większe od 9
if(x<=9) // prawda gdy x mniejsze lub równe 9
if((x<5)&&(x>2)) // prawda gdy x2
if((x<5)||(x>8)) // prawda gdy x8