Када говоримо о приоритету у Јави, оператор је на првом месту. Постоје одређена правила дефинисана у Јави која одређују редослед у коме се процењују оператори у изразу. Приоритет оператера је концепт одређивања групе појмова у изразу. Приоритет оператора је одговоран за процену израза. Ин Јава , заграде() и Низ индекс[] имају највећи приоритет у Јави. На пример, сабирање и одузимање имају већи приоритет од оператора померања лево и десно.
Испод је дефинисана табела у којој је оператор најнижег приоритета приказан на врху.
Предност | Оператер | Тип | Асоцијативност |
---|---|---|---|
1) | = += -= *= /= %= | Додељивање Задатак сабирања Задатак одузимања Задатак множења Дивизијски задатак Задатак модула | Десна на лево |
2) | ? : | Тернарни условни | Десна на лево |
3) | || | Логично ОР | С лева надесно |
4) | && | Логично И | С лева надесно |
5) | | | Битова укључено ОР | С лева надесно |
6) | ^ | Ексклузивно ОР | С лева надесно |
7) | & | Битвисе АНД | С лева надесно |
8) | != == | Релација није једнака Релациона је једнака | С лева надесно |
9) | < <= > >= инстанцеоф=> | Релациона мање од Релациона мања или једнака Релациона већа од Релациона већа или једнака Поређење типова (само објекти) | С лева надесно |
10) | >> << >>> | Померање удесно по биту са проширењем знака Побитно померање улево Померање удесно по биту са нултим проширењем | С лева надесно |
Једанаест) | - + | Одузимање Додатак | С лева надесно |
12) | * / % | Множење дивизије Модул | С лева надесно |
13) | - + ~ ! ( тип) | Унарни минус Унари плус Унарни битски додатак Унарна логичка негација Унари типецаст | Десна на лево |
14) | ++ -- | Унарни пост-инкремент Унарни пост-декремент | Десна на лево |
петнаест) | · () [] | Дот оператор Заграде Низ индекс | С лева надесно |
Редослед приоритета
Када два оператора деле један операнд, први иде оператор који има највећи приоритет. На пример, к + и * з се третира као к + (и * з), док се к * и + з третира као (к * и) + з јер * оператор има највећи приоритет у поређењу са + оператором.
имена градова САД
Асоцијативност
Асоцијативност је концепт који се односи на операторе који се примењују када два оператора са истим приоритетом долазе у израз. Концепт асоцијативности је од велике помоћи да се изађе из те ситуације. Претпоставимо да имамо израз а + б - ц (+ и - оператори имају исти приоритет) , а овај израз ће се третирати као (а + (б - ц)) јер су ови оператори десно-лево-асоцијативни. С друге стране, а+++--б+ц++ ће се третирати као ((а++)+((--б)+(ц++))) јер су унарни оператори пост-инкремента и декремента десно-лево-асоцијативни.
Пример је дефинисан у наставку да бисте разумели како се израз процењује коришћењем редоследа приоритета и асоцијативности?
Израз: к = 4 / 2 + 8 * 4 - ( 5+ 2 ) % 3
Решење:
1) У горњем изразу, оператор највећег првенства је () . Дакле, заграда иде прва и прво се израчунава.
рј12 против рј11
х = 4 / 2 + 8 * 4 - 7 % 3
2) Сада, /, * и % оператори имају исти приоритет и највиши од + и - Овде користимо концепт асоцијативности да их решимо. Асоцијативност ових оператора је с лева на десно. Тако, / оператер иде прво па онда * и % истовремено.
х = 2 + 8 * 4 - 7 % 3
х = 2 + 32 - 7 % 3
х = 2 + 32 - 1
3) Сада, + и - оба оператора такође имају исти приоритет и асоцијативност ових оператора удесно. Тако, + оператер ће ићи прво, а затим - ће ићи.
предности инстаграма за личну употребу
к = 34 - 1
к = 33
ХигхестПрецеденце.јава
//import classes import java.util.*; //creating HighestPrecedence class to evaluate the expression public class HighestPrecedence { //main() method starts public static void main(String[] args) { //initialize variables with default values int x = 2; int y = 5; int z = 12; //calculating exp1, exp2, and exp3 int exp1 = x +(z/x+(z%y)*(z-x)^2); int exp2 = z/x+y*x-(y+x)%z; int exp3 = 4/2+8*4-(5+2)%3; //printing the result System.out.println(exp1); System.out.println(exp2); System.out.println(exp3); } }
Излаз