int x; x = 7; int x,y,z; x = 7; //proměnné x je přiřazena hodnota 7 (x=7;y=0,z=0) y = x; //proměnné y je přiřazena hodnota proměnné x, tedy 7 (x=7;y=7;z=0) z = 3; //proměnné z je přiřazena hodnota 3 (x=7;y=7;z=3) x = y+z; //proměnné x je přiřazen součet hodnot proměnných y a z (x=10,y=7,z=3)
Operátor | Význam |
---|---|
+ | sčítání |
- | odčítání |
* | násobení |
/ | dělení |
% | modulo (zbytek po celočíselném dělení) |
Slouží k zkrácní zápisu.
Složený Operátor | Význam |
---|---|
x += y; | x = x + y; |
Obdobné je to i s dalšími složenými operátory: -=, *=, /=, %=, >>=, <<=, &=, ^=, |=
Pokud proměnnou inkrementujeme, znamená to, že její hodnotu zvýšíme o 1. Naopak dekrementovat známená snižit hodnotu o 1. Inkrementace se značí ++ (např.: a++;) a dekrementace -- (např.: a--;). x++;Tento zápis má stejný význam jako zápis x = x + 1;.
int x,y; y = 2; x = ++y;
Pokud použijeme prefixový způsob zápisu, bude proměnné x přiřazena hodnota 3, jelikož při přiřazování nejprve došlo k inkrementaci proměnné y a až poté k přířazení.
int x,y; y = 2; x = y++;
Pokud však použijeme postfixový zápis, bude proměnné x přiřazena hodnota 2, protože při přiřazování byla nejprve proměnné x přiřazena hodnota y (2) a až poté došlo k inkrementaci y.
Relační operátory se používají pro vzájemné porovnání dvou ale i více proměnných. Porovnávat můžeme například zda jsou si hodnoty proměnných rovny nebo zda je jedna větší než druhá a podobně.
Operátor | Význam |
---|---|
> | větší než |
< | menší než |
>= | větší nebo rovno |
<= | menší nebo rovno |
== | je rovno |
!= | není rovno |
Výsledkem porovnání je vždy booleovská hodnota a to pravda nebo nepravda. Například:
int x,y; x = 4; y = 2; x <= y; //nepravda x > y; //pravda x == y+2; //pravda x/2 != y; //nepravdaPozor! Operátor = neslouží pro porovnání rovnosti proměnných. je třeba použít operátor ==.
Operátor | Význam |
---|---|
&& | logický součin, průnik, a (and) |
|| | logický součet, sjednocení, nebo (or) |
! | negace |
Příklad: Mějme následující složený výrok:
int x,y; x = 1; y = 2; ((x < y) && (y != x));
Operátor && nám jednoduché výroky (x < y) a (y != x) spojuje v jeden složený výrok. Výslednou hodnotu výroku určíme z pravdivostních hodnot jednotlivých jednoduchých výroků.
Jednoduchý výrok (x < y) dává výslednou hodnotu pravda stejně jako výrok (y != x). Výslednou hodnotou složeného výroku je tedy pravda, jelikož pravda a pravda = pravda. Podívejme se na následující pravdivostní tabulky:
a | b | a && b |
---|---|---|
pravda | pravda | pravda |
pravda | nepravda | nepravda |
nepravda | pravda | nepravda |
nepravda | nepravda | nepravda |
Z této pravdivostní tabulky jasně vyplývá, že k tomu, aby byl složený výrok se spojkou && pravdivý, musí být pravdivé i všechny jednoduché výroky ze kterých je je tento výrok složen.
a | b | a || b |
---|---|---|
pravda | pravda | pravda |
pravda | nepravda | pravda |
nepravda | pravda | pravda |
nepravda | nepravda | nepravda |
Naopak z pravdivostní tabulky spojky || vyplývá, že stačí aby byl pravdivý pouze jeden jednoduchý výrok.
Pro úplnost si ukážeme ještě již zmiňovanou negaci:
int x,y; x = 1; y = 2; !(y > x);
Výslednou hodnotou je nepravda a to i přesto, že výrok 2 > 1 je pravdivý. Výsledná hodnota výroku je totiž negována.
Více zde.