Operators
Operators
- Java provides
several operators that you can use to manipulate your
variables.
Mathematical Operators
- As in all languages, Java allows you to
perform math functions. The following table outlines the
available functions:
| Operator |
Description |
Example |
| + |
Performs addition |
int x = 1;
int y = 2;
int z = x + y // z = 3 |
| - |
Performs subtraction |
int x = 2;
int y = 1;
int z = x - y // z = 1 |
| * |
Performs multiplication |
int x = 2;
int y = 2;
int z = x * y // z = 4 |
| / |
Performs division |
int x = 4;
int y = 2;
int z = x / y // z = 2 |
| % |
Gets the remainder (modulus) |
int x = 6;
int y = 4;
int z = x % y // z = 5 |
- One thing to remember about mathematics
in Java is that since variables are typed, you should be
careful to match types or expect automatic casting! In other
words, Java will return the result in a type that fits in the
result regardless of what was used in the equation
Assignment Operators
- As was alluded to in the last section,
variables utilize assignment operators. However, if you are
working with a numerical type, you have more assignment operators
than simply "=". The following table outlines the other
available assignment operators:
| Operator |
Description |
| = |
Equality. Note, you can chain assignments such as:
x=y=x=0 |
| += |
Addition |
| -= |
Subtraction |
| /= |
Division. Don't forget about automatic casting! If your division returns a decimal number, it will be chopped to fit its type. |
| *= |
Multiplication |
| %= |
Modulus |
| ^= |
Bitwise XOR |
| &= |
Bitwise AND |
| |= |
Bitwise OR |
| <<= |
Left Shift |
| >>= |
Right Shift |
| >>>= |
Zero Fill Right Shift |
Incrementation and Decrementation
Precedence
- Finally, Java maintains the usual
operator hierarchy. The precedence table is shown below:
| Precedence |
Operator |
Associativity |
| 1 |
++, --, ~!, +, -, (unary), (type cast) |
R |
| 2 |
* / % |
L |
| 3 |
+, -, + (concatination) |
L |
| 4 |
>>>, >>, << |
L |
| 5 |
<, <=, >, >= |
L |
| 6 |
==, != |
L |
| 7 |
& |
L |
| 8 |
^ |
L |
| 9 |
| |
L |
| 10 |
&& |
L |
| 11 |
|| |
L |
| 12 |
?: |
R |
| 13 |
=, *=, /=, %=, +=, -=, <<=, >>=, >>>=, &=, ^=, |= |
R |
Additional Resources:
Variables
Table of Contents
Flow Control
|