Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Problem

 
Rahul Pawar
Ranch Hand
Posts: 38
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hi friends ,
i have some doubts about associativity and precedence
can anybody clear my concepts ?
thanks in advance.
please if possible explain me with examples
rahul
 
Cindy Glass
"The Hood"
Sheriff
Posts: 8521
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What are your doubts?
 
Rahul Pawar
Ranch Hand
Posts: 38
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
i don't know how associativity and precedence work .
please help me out ....
rahul
 
Jane Griscti
Ranch Hand
Posts: 3141
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Rahul,
'precedence' refers to the priorities given to the various operators. When a Java expression is evaluated operator precedence rules are applied; similar to the way Math expressions are evaluated. For example, parantheses are evaluated first, then mulitiplication/division, then addition, subtraction, etc.
For example, in the expression <code>5 + 3 * 2</code>, mulitiplication has higher precedence than addition, so the expression is evaluated as <code>5 + 6</code> with a result of 11.
If parantheses are used <code>(5 + 3) * 2</code>, the portion within the parantheses is evaluated first <code> 8 * 2</code> with a result of 16.
'associativity' refers to the order in which operators are evaluated when operators have the same level of precedence. In Java, expressions are evaluated left-to-right, except for assignments, which are evaluated right-to-left.
For example, <code>5 - 3 + 2</code> is evaluated left-to-right <code> 2 + 2 </code> with a result of 4.
Assignment is right-to-left, <code> a = b = c = 5</code> first 5 is assigned to 'c', then the value of 'c' is assigned to 'b' and then the value of 'b' is assigned to 'a', with the result, a = 5.
For more information on how Java evaluates expressions read JSL §15.7
Hope that helps.


------------------
Jane Griscti
Sun Certified Programmer for the Java� 2 Platform
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic