What does the following assignment statement do:
sum = 2*sum ;
sum
and multiply it by two. sum
.Sometimes you need to think carefully about the two steps of an assignment statement. The first step is to evaluate the expression on the right of the assignment operator.
An expression is a combination of literals, operators, variable names, and parentheses used to calculate a value.
This (slightly incomplete) definition needs some explanation:
+
or times *
that asks for an arithmetic operation.(
and )
.This might sound awful. Actually, this is stuff that you know from algebra, like:
(32 - y) / ( x + 5 )
In the above, the character /
means division.
Not just any mess of symbols will work. The following
32 - y) / ( x 5 + )
is not a syntactically correct expression. There are rules for this, but the best rule is that an expression must look OK as algebra.
However, multiplication must always be shown by using a *
operator.
You can't multiply two variables by placing them next to each other.
So, although xy
might be correct in algebra,
you must use x*y
in Java.
Which of the following expressions are correct? (Assume that the variables have been properly declared elsewhere.)
Expression | 53 | 12 - 3) | x + 34 | *z 99 | sum + value |
---|---|---|---|---|---|
Correct or Not? |