Co jsou to programovací výrazy Java?

Výrazy jsou základní stavební kameny jakéhokoli Java programu, obvykle vytvořené pro vytvoření nové hodnoty, i když někdy výraz přiřazuje hodnotu proměnné. Výrazy jsou vytvářeny pomocí hodnot, proměnné, operátory a volání metod.

Rozdíl mezi příkazy Java a výrazy

Z hlediska syntaxe jazyka Java je výraz podobný a doložka v anglickém jazyce který zobrazuje konkrétní význam. Se správnou interpunkcí může někdy stát samostatně, i když může být také součástí věty. Některé výrazy se shodují s výroky samy o sobě (přidáním středníku na konec), ale častěji tvoří část prohlášení.

Například,

(a * 2)
je výraz.
b + (a * 2);
je prohlášení. Dalo by se říci, že výraz je klauzula a příkaz je úplná věta, protože tvoří úplnou vykonávací jednotku.

Výrok však nemusí zahrnovat více výrazů. Jednoduchý výraz můžete změnit na příkaz přidáním středníku:

(a * 2);

Druhy výrazů

Ačkoli výraz často vede k výsledku, ne vždy. V Javě existují tři typy výrazů:

  • Ty, které produkují hodnotu, tj. Výsledek
    (1 + 1)
  • Například ty, které přiřazují proměnnou
    (v = 10)
  • instagram viewer
  • Ty, které nemají žádný výsledek, ale mohou mít „vedlejší účinek“, protože výraz může zahrnovat širokou škálu prvky jako vyvolání metody nebo operátory přírůstku, které mění stav (tj. paměť) a program.

Příklady výrazů

Zde je několik příkladů různých typů výrazů.

Výrazy, které vytvářejí hodnotu

Výrazy, které vytvářejí hodnotu, používají širokou škálu aritmetických, srovnávacích nebo podmíněných operátorů Java. Například aritmetické operátory zahrnují +, *, /, , ++ a%. Nějaký podmíněné operátory jsou?, || a operátory porovnání jsou . Viz Java specifikace pro kompletní seznam.

Tyto výrazy vytvářejí hodnotu:

3/2
5% 3
pi + (10 * 2)

Poznamenejte si závorky v posledním výrazu. Toto směruje Javu, aby nejprve vypočítala hodnotu výrazu v závorkách (stejně jako aritmetika, kterou jste se naučili ve škole), a poté dokončila zbytek výpočtu.

Výrazy, které přiřazují proměnnou

Tento program obsahuje spoustu výrazů (zobrazených tučnou kurzívou), z nichž každý přiřadí hodnotu.

 int sekundInDay = 0;

int
daysInWeek = 7;

int
hoursInDay = 24;

int
minutInHour = 60;

int
sekundInMinute = 60; 

boolean
countWeek = true;

secondInDay = sekundInMinute * minutInHour * hoursInDay; //7

System.out.println (
"Počet sekund za den je:" + sekundyInDay);

pokud (
countWeek == true)

{
System.out.println (
"Počet sekund v týdnu je:" + sekundyInDay * daysInWeek); 

}

Výrazy v prvních šesti řádcích výše uvedeného kódu používají operátor přiřazení k přiřazení hodnoty vpravo proměnné vlevo.

Řádek označený // 7 je výraz, který může stát samostatně jako příkaz. Ukazuje také, že výrazy lze vytvořit pomocí více než jednoho operátora. Konečná hodnota proměnné sekundInDay je vyvrcholením postupného vyhodnocování každého výrazu (tj. SekundyInMinute * minutInHour = 3600, poté 3600 * hodinInDay = 86400).

Výrazy bez výsledku

Zatímco některé výrazy nevytvářejí žádný výsledek, mohou mít vedlejší účinek, ke kterému dochází, když výraz změní hodnotu kterékoli z jeho výrazů operandy.

Například se u některých operátorů předpokládá, že vždy vyvolávají vedlejší účinek, jako jsou operátory přiřazování, zvyšování a snižování. Zvaž toto:

int produkt = a * b;

Jedinou proměnnou změnou v tomto výrazu je produkt; A a b se nezmění. Tomu se říká vedlejší účinek.