# Java Operators

Previous Next

## Java Operators

Operators are used to perform operations on variables and values.

In the example below, we use the + operator to add together two values:

Although the + operator is often used to add together two values, like in the example above, it can also be used to add together a variable and a value, or a variable and another variable:

### Example

int sum1 = 100 + 50; // 150 (100 + 50) int sum2 = sum1 + 250; // 400 (150 + 250) int sum3 = sum2 + sum2; // 800 (400 + 400)

Run example »

Java divides the operators into the following groups:

- Arithmetic operators
- Assignment operators
- Comparison operators
- Logical operators
- Bitwise operators

## Arithmetic Operators

Arithmetic operators are used to perform common mathematical operations.

Operator | Name | Description | Example | Try it |
---|---|---|---|---|

+ | Addition | Adds together two values | x + y | Try it » |

– | Subtraction | Subtracts one value from another | x – y | Try it » |

* | Multiplication | Multiplies two values | x * y | Try it » |

/ | Division | Divides one value by another | x / y | Try it » |

% | Modulus | Returns the division remainder | x % y | Try it » |

++ | Increment | Increases the value of a variable by 1 | ++x | Try it » |

— | Decrement | Decreases the value of a variable by 1 | –x | Try it » |

## Java Assignment Operators

Assignment operators are used to assign values to variables.

In the example below, we use the assignment operator (=) to assign the value 10 to a variable called x:

The addition assignment operator (+=) adds a value to a variable:

A list of all assignment operators:

## Java Comparison Operators

Comparison operators are used to compare two values:

Operator | Name | Example | Try it |
---|---|---|---|

== | Equal to | x == y | Try it » |

!= | Not equal | x != y | Try it » |

> | Greater than | x > y | Try it » |

Less than | x | Try it » | |

>= | Greater than or equal to | x >= y | Try it » |

Less than or equal to | x | Try it » |

## Java Logical Operators

Logical operators are used to determine the logic between variables or values:

Operator | Name | Description | Example | Try it |
---|---|---|---|---|

&& | Logical and | Returns true if both statements are true | x | Try it » |

|| | Logical or | Returns true if one of the statements is true | x | Try it » |

! | Logical not | Reverse the result, returns false if the result is true | !(x | Try it » |

## Java Bitwise Operators

Bitwise operators are used to perform binary logic with the bits of an integer or long integer.

Operator | Description | Example | Same as | Result | Decimal |
---|---|---|---|---|---|

& | AND – Sets each bit to 1 if both bits are 1 | 5 & 1 | 0101 & 0001 | 0001 | 1 |

| | OR – Sets each bit to 1 if any of the two bits is 1 | 5 | 1 | 0101 | 0001 | 0101 | 5 |

~ | NOT – Inverts all the bits | ~ 5 | ~0101 | 1010 | 10 |

^ | XOR – Sets each bit to 1 if only one of the two bits is 1 | 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |

Zero-fill left shift – Shift left by pushing zeroes in from the right and letting the leftmost bits fall off | 9 | 1001 | 0010 | 2 | |

>> | Signed right shift – Shift right by pushing copies of the leftmost bit in from the left and letting the rightmost bits fall off | 9 >> 1 | 1001 >> 1 | 1100 | 12 |

>>> | Zero-fill right shift – Shift right by pushing zeroes in from the left and letting the rightmost bits fall off | 9 >>> 1 | 1001 >>> 1 | 0100 | 4 |

Note: The Bitwise examples above use 4-bit unsigned examples, but Java uses 32-bit signed integers and 64-bit signed long integers. Because of this, in Java, ~5 will not return 10. It will return -6. ~00000000000000000000000000000101 will return 11111111111111111111111111111010

In Java, 9 >> 1 will not return 12. It will return 4. 00000000000000000000000000001001 >> 1 will return 00000000000000000000000000000100

Previous Next

Source