Java mein operators ki precedence (पूर्वाधार) aur associativity (एसोसिएटिविटी) ka knowledge code likhte waqt aur expressions ko evaluate karte waqt kaafi mahatvapurna hota hai. Operator precedence determine karta hai ki kaunsa operator pehle evaluate hoga, jabki associativity determine karta hai ki operators ki same precedence wale cases mein kaunsa operator pehle evaluate hoga.
Yahan, main kuch important operators ke sath unki precedence aur associativity ke saath ek list provide kar raha hoon:
**Operator Precedence:** Yeh operators ki priority level ko darust karta hai, yani ki kaunsa operator kaunse operator se pehle evaluate hoga. High precedence wala operator low precedence wale operator se pehle evaluate hota hai.
1. **Postfix operators:** `expr++`, `expr--` (Highest precedence)
2. **Unary operators:** `++expr`, `--expr`, `+expr`, `-expr`, `~expr`, `!expr`
3. **Multiplicative operators:** `*`, `/`, `%`
4. **Additive operators:** `+`, `-`
5. **Shift operators:** `<<`, `>>`, `>>>`
6. **Relational operators:** `<`, `<=`, `>`, `>=`, `instanceof`
7. **Equality operators:** `==`, `!=`
8. **Bitwise AND operator:** `&`
9. **Bitwise XOR operator:** `^`
10. **Bitwise OR operator:** `|`
11. **Logical AND operator:** `&&`
12. **Logical OR operator:** `||`
13. **Conditional (Ternary) operator:** `? :`
14. **Assignment operators:** `=`, `+=`, `-=`, `*=`, `/=`, `%=`, `<<=`, `>>=`, `>>>=`, `&=`, `^=`, `|=`
15. **Lambda Expression:** `->` (Lowest precedence)
**Operator Associativity:** Yeh batata hai ki operators of the same precedence kaunsa operator ka sath associate karenge. Operators left-to-right associativity ya right-to-left associativity ho sakte hain.
- Left-to-right associativity: Operators left-to-right direction mein associate honge.
- Right-to-left associativity: Operators right-to-left direction mein associate honge.
Kuch operators ki associativity:
- **Unary operators:** Right-to-left associativity
- **Multiplicative operators (`*`, `/`, `%`):** Left-to-right associativity
- **Additive operators (`+`, `-`):** Left-to-right associativity
- **Assignment operators:** Right-to-left associativity
- **Conditional (Ternary) operator (`? :`):** Right-to-left associativity
- **Logical AND (`&&`) and Logical OR (`||`):** Left-to-right associativity
Yeh precedence aur associativity rules code likhte waqt expressions ko sahi tarah se evaluate karne me madadgar hote hain, taaki code ki behavior sahi ho. In rules ka knowledge aapke code ko predictability aur maintainability mein bhi madadgar hota hai.
Comments
Post a Comment