Izrazi so bistveni gradniki vsakega programa Java, običajno ustvarjeni za ustvarjanje nove vrednosti, čeprav včasih izraz dodeli vrednost spremenljivki. Izrazi so sestavljeni s pomočjo vrednosti, spremenljivk, operaterji in klici.
Razlika med izjavami Java in izrazi
V smislu skladnje jezika Java je izraz podoben a klavzula v angleškem jeziku ki prikazuje specifičen pomen. S pravilnimi ločili lahko včasih stoji samostojno, čeprav je lahko tudi del stavka. Nekateri izrazi so enaki navedbam (če na koncu dodate podpičje), vendar bolj pogosto vsebujejo del izjave.
Na primer
(a * 2)je izraz.
b + (a * 2);je izjava. Lahko bi rekli, da je izraz klavzula, izjava pa celoten stavek, saj tvori celotno izvedbeno enoto.
Izjava pa ne mora vsebovati več izrazov. Preprost izraz lahko spremenite v stavek tako, da dodate podpičje:
(a * 2);
Vrste izrazov
Čeprav izraz pogosto daje rezultat, ni vedno. V Javi obstajajo tri vrste izrazov:
- Tisti, ki ustvarijo vrednost, tj. Rezultat
(1 + 1)
- Tisti, ki na primer dodelijo spremenljivko
(v = 10)
- Tisti, ki nimajo rezultata, vendar bi lahko imeli "stranski učinek", ker lahko izraz vključuje širok razpon elemente, kot so priklici metode ali povečevalci, ki spremenijo stanje (tj. pomnilnik) a program.
Primeri izrazov
Tu je nekaj primerov različnih vrst izrazov.
Izrazi, ki ustvarjajo vrednost
Izrazi, ki ustvarjajo vrednost, uporabljajo širok razpon Java aritmetičnih, primerjalnih ali pogojnih operaterjev. Na primer, aritmetični operaterji vključujejo +, *, /, , ++ in%. Nekateri pogojni operaterji so?, ||, operaterji za primerjavo pa so . Glej Specifikacija Java za celoten seznam.
Ti izrazi ustvarijo vrednost:
3/2
5% 3
pi + (10 * 2)
Upoštevajte oklepaje v zadnjem izrazu. S tem Java najprej usmeri, da izračuna vrednost izraza v oklepajih (tako kot aritmetika, ki ste se je naučili v šoli), nato pa zaključite preostali del računanja.
Izrazi, ki dodelijo spremenljivko
Ta program vsebuje veliko izrazov (prikazanih s krepko poševno pisavo), ki vsakemu dodelijo vrednost.
int sekundeDne = 0;
int
dniInWeek = 7;
int
ureDnevni = 24;
int
minutHour = 60;
int
sekunde minuta = 60;
boolean
CalcuWeek = res;
secondsInDay = sekundeIninute * minutesInHour * ureInDay; //7
System.out.println (
"Število sekund na dan je:" + sekundeDnevni dan);
če (
CalcuWeek == res)
{
System.out.println (
"Število sekund v tednu je:" + sekundeDnevna * dnevaInWeek);
}
V izrazih v prvih šestih vrsticah zgoraj omenjene kode uporablja operater dodeljevanja za dodelitev vrednosti na levi spremenljivki.
Vrstica, označena z // 7, je izraz, ki lahko stoji kot samostojna izjava. Prav tako kaže, da se izrazi lahko sestavijo z uporabo več operaterjev. Končna vrednost spremenljive sekundeInDay je vrhunec ocenjevanja vsakega izraza po vrsti (tj. SekundMinut * minutInHour = 3600, ki mu sledi 3600 * urInDay = 86400).
Izrazi brez rezultata
Medtem ko nekateri izrazi ne prinesejo rezultata, imajo lahko stranski učinek, ki se pojavi, ko izraz spremeni vrednost katerega koli od njegovih izrazov operndi.
Za nekatere operaterje se na primer šteje, da vedno povzročajo stranske učinke, kot so izvajalci dodeljevanja, povečanja in zmanjšanja. Upoštevajte to:
int izdelek = a * b;
Edina spremenjena v tem izrazu je izdelek; a in b se ne spremenijo. Temu rečemo stranski učinek.