Изрази су битни градивни блокови било којег Јава програма, обично створени да произведу нову вредност, мада понекад израз додељује вредност променљивој. Изрази се граде употребом вредности, Променљиве, оператери и методни позиви.
Разлика између Јава изјава и израза
У погледу синтаксе Јава језика, израз је сродан а клаузула на енглеском језику што приказује специфично значење. Са правом интерпункцијом понекад може стајати самостално, мада може бити и део реченице. Неки изрази се изједначавају са изјавама (додавањем тачке зарезом на крају), али чешће садрже део изјаве.
На пример,
(а * 2)је израз.
б + (а * 2);је изјава. Могли бисте рећи да је израз клаузула, а изјава је комплетна реченица, јер формира комплетну извршну јединицу.
Изјава, међутим, не мора да садржи више израза. Једноставним изразом можете претворити у изјаву додавањем тачке са зарезом:
(а * 2);
Врсте израза
Иако израз често даје резултат, то није увек. У Јави постоје три врсте израза:
- Они који производе вредност, тј. Резултат
(1 + 1)
- Они који додељују променљиву, на пример
(в = 10)
- Они који немају резултата, али могу имати „споредни ефекат“, јер израз може обухватати широк спектар елементи као што су позиви метода или оператери повећања који модификују стање (тј. меморија) а програм.
Примери израза
Ево неколико примера различитих врста израза.
Изрази који производе вредност
Изрази који производе вредност користе широк спектар Јава аритметичких, упоредних или условних оператора. На пример, аритметички оператори укључују +, *, /, , ++ и%. Неки условни оператори су?, ||, а оператери за поређење су . Погледајте Јава спецификација за потпуну листу.
Ови изрази производе вредност:
3/2
5% 3
пи + (10 * 2)
Имајте на уму заграде у последњем изразу. Ово усмерава Јава прво да израчуна вредност израза у заградама (баш као и аритметика коју сте научили у школи), а затим заврши остатак рачунања.
Изрази који додељују променљиву
Овај програм овде садржи обиље израза (приказаних подебљаним курзивом) који сваком додељују вредност.
инт сецондсИнДаи = 0;
инт
даисИнВеек = 7;
инт
сатаДан = 24;
инт
минутаИнХоур = 60;
инт
секундиИнминут = 60;
боолеан
ЦалцуВеек = тачно;
секундиИнДаи = секундиИнминут * минутаИнХоур * сатиИнДаи; //7
Систем.оут.принтлн (
"Број секунди у дану је:" + секундиДневни дан);
ако (
ЦалцуВеек == тачно)
{
Систем.оут.принтлн (
"Број секунди у недељи је:" + секундиИнДан * данаИнВеек);
}
Изрази у првих шест редака кода горе користе операторе додјеле за додјељивање вриједности на десној страни варијабли на лијевој страни.
Линија означена са // 7 израз је који може бити сам по себи као изјава. Такође показује да изрази могу бити изграђени употребом више оператора. Коначна вредност променљиве секундеИнДаи је врхунац процене сваког израза заузврат (тј. СекундиИнМинуте * минутеИнХоур = 3600, а затим 3600 * сатиИнДаи = 86400).
Изрази без резултата
Иако неки изрази не дају резултате, они могу имати нуспојаву која се јавља када израз промијени вриједност било којег његовог израза операнди.
На пример, за одређене операторе се сматра да увек производе споредне ефекте, као што су оператери за доделу, прираштај и смањење. Размотрити ово:
инт производ = а * б;
Једина променљива у овом изразу је производ; а и б се не мењају. То се назива нуспојава.