Online kurz programování Java 8 (ZDARMA) – inkrementace a dekrementace

Pro­gra­mo­vá­ní v Java, osmá část. Jed­no­duš­ší vysvět­le­ní jin­de nena­jde­te. Učí­me jako kama­rád v hos­po­dě u piva! Javu se s námi nau­čí­te i bez před­cho­zích zna­los­tí, nemu­sí­te nic insta­lo­vat. Kód spus­tí­te pří­mo v kur­zu. Naše téma: inkre­men­ta­ce a dekre­men­ta­ce. Cože, jaká kremace?

Slečna u piva pochopí Javu jak nic. Ve škole by to bylo horší.
Sleč­na u piva pocho­pí Javu jak nic. Ve ško­le by to bylo horší.

Obsah kurzu

Cože, jaká kremace?

Copak je to za spros­tá slo­va zase, tohle­to. Jaká že to exkre­men­ta­ce, cemen­ta­ce či kre­ma­ce? Přá­te­lé, inkre­men­ta­ce = zvý­še­ní, dekre­men­ta­ce = sní­že­ní. Jak pros­té, milý Wat­so­ne. Tak­že dej­me tomu že máme pro­měn­nou x a v ní je 5. Tak my jí inkre­men­tu­je­me, tedy zvý­ší­me, tře­ba o 3, a už je v ní 8. No a teď jí může­me tře­ba dekre­men­to­vat o 2, a už je v ní 6.

Co kdy­bys­te chtě­li zvý­šit x o 1? Samo­zřej­mě aniž bys­te vědě­li, jaké je v x čís­lo? Jakým pří­ka­zem to uděláte?

x = x + 1;

No, musí­te uznat, že to není až tak těž­ké. Život je ovšem tako­vý, že pro­gra­má­to­ři jsou poměr­ně líná stvo­ře­ní a rádi si vymýš­lí vše­li­ja­ké zkrat­ky, aby se nemu­se­li tolik namá­hat psa­ním. Tak si před­stav­te, že x = x + 1 se dá zapsat takhle:

x++;

ane­bo takhle:

++x;

Ha, zra­da, řek­ne­te si. V čem je roz­díl mezi těmi­to zápi­sy? Ano, roz­díl tam je. Nejdřív se podí­vá­me na ++x. Ten­to způ­sob zápi­su se ozna­ču­je jako pre­fix, nebo­li čes­ky před­po­na (v pra­xi se pou­ží­vá jen ang­lic­ký název). Pre­fix zna­me­ná pros­tě něco před něčím. V našem pří­pa­dě ope­rá­tor ++ je před x. Ten­to zápis zna­me­ná: zvět­šit x o 1 a pak ho pou­žít. Příklad:

  • Jste na smart­pho­nu? Kód i výsle­dek v čer­ném okně může­te prs­tem posou­vat dole­va a dopra­va, abys­te vidě­li celé řádky.
  • Jste na iPho­ne, iPa­du? Jdě­te do Nastavení>Safari>Nesledovat napříč strán­ka­mi a vypně­te tuto funk­ci.
public class MyClass { public static void main (String args[]) { int x = 3; int y = ++x; //x se nejdřív zvětší o 1 a pak teprve se přiřadí y System.out.println(y); //y je 4 System.out.println(x); //x je 4 } }

Napro­ti tomu, x++ je tak­zva­ný post­fix, nebo­li něco po něčem, čes­ky pří­po­na. Ope­rá­tor ++ je zde až po x. Ten­to zápis zna­me­ná: pou­žít x a tepr­ve pak ho zvět­šit o jed­nu! Příklad:

  • Jste na smart­pho­nu? Kód i výsle­dek v čer­ném okně může­te prs­tem posou­vat dole­va a dopra­va, abys­te vidě­li celé řádky.
  • Jste na iPho­ne, iPa­du? Jdě­te do Nastavení>Safari>Nesledovat napříč strán­ka­mi a vypně­te tuto funk­ci.
public class MyClass { public static void main (String args[]) { int x = 3; int y = x++; //x se nejpre přiřadí y, až pak se x zvětší o 1 System.out.println(y); //y je 3 System.out.println(x); //x je 4 } }

Tak, ani to nebo­le­lo. A co kdy­bychom chtě­li x inkre­men­to­vat o y?

x = x + y;

A bude­te se divit, i na to je zkrat­ka. Vypa­dá takhle:

x += y;

A kdy­bychom to chtě­li pře­číst nahlas, tak tře­ba takhle: inkre­men­tuj xy. Nebo přihoď/přidej y do x. Celé si to shr­ne­me v krás­né tabulečce.

Pří­kazZkrá­ce­ný zápis
x = x + 1x++ nebo ++x (pozor, fun­gu­je rozdílně!)
x = x - 1x-- nebo --x (pozor, fun­gu­je rozdílně!)
x = x + yx += y
x = x - yx -= y
x = x * yx *= y
x = x/yx /= y
x = x % yx %=y

No není to krá­sa? Ať žije lenost!

Pokra­čuj­te dal­ším dílem: připravujeme.

Obráz­ky: Pexels – Ketut Subiyanto.

NOVÉ ČLÁNKY E‑MAILEM?
Při­hlaš­te se k odběru 
Sdí­lej­te článek
2 komentářů

Přidejte komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

dva × čtyři =