Išraiškos yra esminiai bet kurios „Java“ programos elementai, paprastai sukuriami norint sukurti naują vertę, nors kartais išraiška priskiria reikšmę kintamajam. Išraiškos kuriamos naudojant reikšmes, kintamieji, operatorių ir metodo skambučiai.
Skirtumas tarp „Java“ teiginių ir išraiškų
Kalbant apie „Java“ kalbos sintaksę, posakis yra panašus į a išlyga anglų kalba kuriame vaizduojama konkreti prasmė. Naudodamiesi teisingomis skyrybos ženklais, jis kartais gali atsistoti ant savęs, nors tai gali būti ir sakinio dalis. Kai kurie posakiai prilygsta teiginiams savaime (pridedant kabliataškį pabaigoje), tačiau dažniausiai jie sudaro teiginio dalį.
Pavyzdžiui,
(a * 2)yra išraiška.
b + (a * 2);yra teiginys. Galima sakyti, kad išraiška yra sakinys, o sakinys yra visas sakinys, nes jis sudaro visą vykdymo vienetą.
Tačiau pareiškime neturi būti kelių posakių. Paprastą išraišką galite paversti teiginiu pridėdami kabliataškį:
(a * 2);
Išraiškos tipai
Nors posakis dažnai duoda rezultatą, jis ne visada. „Java“ yra trys išraiškos tipai:
- Tie, kurie sukuria vertę, t.y., rezultatą
(1 + 1)
- Pavyzdžiui, tie, kurie priskiria kintamąjį
(v = 10)
- Tie, kurie neturi rezultato, tačiau gali turėti „šalutinį poveikį“, nes posakis gali apimti platų elementai, tokie kaip metodo iškvietimai arba prieaugio operatoriai, modifikuojantys a. būseną (t. y. atmintį) programa.
Išraiškos pavyzdžiai
Čia pateikiami keli įvairių išraiškų tipai.
Išraiškos, kurios sukuria vertę
Išraiškos, kurios sukuria vertę, naudoja daugybę „Java“ aritmetinių, palyginamųjų ar sąlyginių operatorių. Pavyzdžiui, aritmetiniai operatoriai apima +, *, /, , ++ ir%. Kai kurie sąlyginiai operatoriai yra?, ||, o palyginimo operatoriai yra . Žr „Java“ specifikacija pilnas sąrašas.
Šios išraiškos sukuria vertę:
3/2
5% 3
pi + (10 * 2)
Atkreipkite dėmesį į skliaustelius paskutinėje išraiškai. Pirmiausia „Java“ nurodoma apskaičiuoti išraiškos vertę skliaustuose (kaip ir aritmetiką, kurią išmokote mokykloje), tada atlikite likusius skaičiavimus.
Išraiškos, priskiriančios kintamąjį
Šioje programoje yra daugybė išraiškų (paryškintų kursyvu), kurios kiekvienai priskiria vertę.
int secondsInDay = 0;
int
dienų savaites = 7;
int
valandosDiena = 24;
int
minutesInHour = 60;
int
secondsInMinute = 60;
boolean
apskaičiuoti savaitė = teisinga;
secondsInDay = sekundesInMinute * minutesInHour * valandosDiena; //7
„System.out.println“ (
„Sekundžių skaičius per dieną yra:“ + secondsInDay);
jei (
apskaičiuoti savaitės == tiesa)
{
„System.out.println“ (
„Sekundžių skaičius per savaitę yra:“ + secondsInDay * daysInWeek);
}
Išraiškos pirmose šešiose aukščiau esančiose kodo eilutėse visos priskyrimo operatoriaus reikšmės dešinėje pusėje priskiriamos kintamajam kairėje.
Linija, žymima // 7, yra išraiška, galinti atsistoti kaip teiginys. Tai taip pat rodo, kad išraiškas galima sukurti naudojant daugiau nei vieną operatorių. Galutinė kintamojo sekundžių diena vertė yra kulminacija, kai kiekviena išraiška įvertinama paeiliui (t. Y. Sekundės minutėse * minutės valandoje = 3600, po jų eina 3600 * valandosDiena = 86400).
Išraiškos be rezultato
Nors kai kurie posakiai neduoda jokio rezultato, jie gali turėti šalutinį poveikį, atsirandantį, kai išraiška keičia bet kurio iš jo reikšmę operandus.
Pavyzdžiui, laikoma, kad tam tikri operatoriai visada sukelia šalutinį poveikį, pavyzdžiui, priskyrimo, didinimo ir mažinimo operatoriai. Apsvarstykite tai:
int produktas = a * b;
Vienintelis šios išraiškos pakeistas kintamasis yra produktas; a ir b nėra keičiami. Tai vadinama šalutiniu poveikiu.