# Confused in precedence and associativity rules

Adil El mouden

Ranch Hand

Posts: 82

posted 10 years ago

Hi,

Answer given is:

Please i need more explanation on how this expression is evaluated according to precedence and associativity rules.

Thank you.

[ August 10, 2005: Message edited by: Adil El mouden ]

**What is the value of evaluating the following expression (- -1-3 * 10 / 5-1)?**

Select the one correct answer.

a)–8

b)–6

c) 7

d) 8

e) 10

f) None of the above.Select the one correct answer.

a)–8

b)–6

c) 7

d) 8

e) 10

f) None of the above.

Answer given is:

**b**Please i need more explanation on how this expression is evaluated according to precedence and associativity rules.

Thank you.

[ August 10, 2005: Message edited by: Adil El mouden ]

SCWCD 1.4(Loading...), SCJP 1.4(98%), Bachelor of Engineering (computer science)

Sergei Iakhnin

Ranch Hand

Posts: 53

posted 10 years ago

That doesn't seem right. The answer should be b) -6

The best way to evaluate any mathematical expression is to try to bracket it properly

(- -1-3 * 10 / 5-1) = ((-(-1) - ((3 * 10) / 5)) - 1)

The expression on the rhs can now be evaluated by rules of arithmetic to give -6

The best way to evaluate any mathematical expression is to try to bracket it properly

(- -1-3 * 10 / 5-1) = ((-(-1) - ((3 * 10) / 5)) - 1)

The expression on the rhs can now be evaluated by rules of arithmetic to give -6

SCJP 1.4, SCWCD 1.4

Adil El mouden

Ranch Hand

Posts: 82

Sherry Jacob

Ranch Hand

Posts: 128

Pavel Kubal

Ranch Hand

Posts: 360

Sergei Iakhnin

Ranch Hand

Posts: 53

posted 10 years ago

I would like to point out that

a) --1 is not a legal expression in java

b) - -1 gives 1

c) -(3*10/5) gives -6 in most cases

a) --1 is not a legal expression in java

b) - -1 gives 1

c) -(3*10/5) gives -6 in most cases

SCJP 1.4, SCWCD 1.4

AnuragSudha Jain

Greenhorn

Posts: 6

posted 10 years ago

The Result is simple BODMAS rule

B- Bracket

O - of

D- division

M - Multipilcation

A- addition

S- Subtraction

The Expression is (- -1-3 * 10 / 5-1)

it is divided as

- of -1 -3 * 10 /5 -1

that becomes

+1 -30/5 -1

that becomes

+1 -6-1

That becomes -6

Hope this puts some more light on the ongoing discussion,

Thanks

B- Bracket

O - of

D- division

M - Multipilcation

A- addition

S- Subtraction

The Expression is (- -1-3 * 10 / 5-1)

it is divided as

- of -1 -3 * 10 /5 -1

that becomes

+1 -30/5 -1

that becomes

+1 -6-1

That becomes -6

Hope this puts some more light on the ongoing discussion,

Thanks