Start of Tutorial > Start of Trail > Start of Lesson |
Search
Feedback Form |

The following table lists the basic arithmetic operators provided by the Java programming language. Except for`+`

, which is also used to concatenate strings, these operators can be used only on numeric values.

Binary Arithmetic OperatorsOperator Use Description `+`

`op1 + op2`

Adds `op1`

and`op2`

; also used to concatenate strings`-`

`op1 - op2`

Subtracts `op2`

from`op1`

`*`

`op1 * op2`

Multiplies `op1`

by`op2`

`/`

`op1 / op2`

Divides `op1`

by`op2`

`%`

`op1 % op2`

Computes the remainder of dividing `op1`

by`op2`

These short cut operators increment or decrement a number by one.

Shortcut Arithmetic OperatorsOperator Use Description `++`

`op++`

Increments `op`

by 1; evaluates to the value of`op`

before it was incremented`++`

`++op`

Increments `op`

by 1; evaluates to the value of`op`

after it was incremented`--`

`op--`

Decrements `op`

by 1; evaluates to the value of`op`

before it was decremented`--`

`--op`

Decrements `op`

by 1; evaluates to the value of`op`

after it was decrementedHere are the Java programming language's other arithmetic operators.

Unary Arithmetic OperatorsOperator Use Description `+`

`+op`

Promotes `op`

to`int`

if it's a`byte`

,`short`

, or`char`

`-`

`-op`

Arithmetically negates `op`

Use these relational operators to determine the relationship between two values.

Relational OperatorsOperator Use Description `>`

`op1 > op2`

Returns `true`

if`op1`

is greater than`op2`

`>=`

`op1 >= op2`

Returns `true`

if`op1`

is greater than or equal to`op2`

`<`

`op1 < op2`

Returns `true`

if`op1`

is less than`op2`

`<=`

`op1 <= op2`

Returns `true`

if`op1`

is less than or equal to`op2`

`==`

`op1 == op2`

Returns `true`

if`op1`

and`op2`

are equal`!=`

`op1 != op2`

Returns `true`

if`op1`

and`op2`

are not equalYou can use the following conditional operators to form multi-part decisions.

Conditional OperatorsOperator Use Description `&&`

`op1 && op2`

Returns `true`

if`op1`

and`op2`

are both`true`

; conditionally evaluates`op2`

`||`

`op1 || op2`

Returns `true`

if either`op1`

or`op2`

is`true`

; conditionally evaluates`op2`

`!`

`!op`

Returns `true`

if`op`

is`false`

`&`

`op1 & op2`

Returns `true`

if`op1`

and`op2`

are both boolean and both`true`

; always evaluates`op1`

and`op2`

; if both operands are numbers, performs bitwise`AND`

operation`|`

`op1 | op2`

Returns `true`

if both`op1`

and`op2`

are boolean and either`op1`

or`op2`

is`true`

; always evaluates`op1`

and`op2`

; if both operands are numbers, performs bitwise inclusive`OR`

operation`^`

`op1 ^ op2`

Returns `true`

if`op1`

and`op2`

are different — that is, if one or the other of the operands, but not both, is`true`

Each shift operator shifts the bits of the left-hand operand over by the number of positions indicated by the right-hand operand. The shift occurs in the direction indicated by the operator itself.

Shift OperatorsOperator Use Description `<<`

`op1 << op2`

Shift bits of `op1`

left by distance`op2`

; fills with zero bits on the right-hand side`>>`

`op1 >> op2`

Shift bits of `op1`

right by distance`op2`

; fills with highest (sign) bit on the left-hand side`>>>`

`op1 >>> op2`

Shift bits of `op1`

right by distance`op2`

; fills with zero bits on the left-hand sideThese operators perform logical functions on their operands.

Logical OperatorsOperator Use Operation `&`

`op1 & op2`

Bitwise `AND`

if both operands are numbers;

conditional`AND`

if both operands are boolean`|`

`op1 | op2`

Bitwise `OR`

if both operands are numbers;

conditional`OR`

if both operands are boolean`^`

`op1 ^ op2`

Bitwise exclusive `OR`

(`XOR`

)`~`

`~op2`

Bitwise complement

The basic assignment operator looks as follows and assigns the value of`op2`

to`op1`

.op1 = op2;In addition to the basic assignment operation, the Java programming language defines these short cut assigment operators that perform an operation and an assignment using one operator.

Shortcut Assignment OperatorsOperator Use Equivalent to `+=`

`op1 += op2`

`op1 = op1 + op2`

`-=`

`op1 -= op2`

`op1 = op1 - op2`

`*=`

`op1 *= op2`

`op1 = op1 * op2`

`/=`

`op1 /= op2`

`op1 = op1 / op2`

`%=`

`op1 %= op2`

`op1 = op1 % op2`

`&=`

`op1 &= op2`

`op1 = op1 & op2`

`|=`

`op1 |= op2`

`op1 = op1 | op2`

`^=`

`op1 ^= op2`

`op1 = op1 ^ op2`

`<<=`

`op1 <<= op2`

`op1 = op1 << op2`

`>>=`

`op1 >>= op2`

`op1 = op1 >> op2`

`>>>=`

`op1 >>>= op2`

`op1 = op1 >>> op2`

The Java programming language also supports these operators.

Other OperatorsOperator Use Description `?:`

`op1 ? op2 : op3`

If `op1`

is true, returns`op2`

. Otherwise, returns`op3`

.`[]`

type[]Declares an array of unknown length, which contains typeelements.`[]`

type[ op1 ]Creates and array with `op1`

elements. Must be used with the`new`

operator.`[]`

`op1[ op2 ]`

Accesses the element at `op2`

index within the array`op1`

. Indices begin at 0 and extend through the length of the array minus one.`.`

`op1.op2`

Is a reference to the `op2`

member of`op1`

.`()`

`op1(`

params)Declares or calls the method named `op1`

with the specified parameters. The list of parameters can be an empty list. The list is comma-separated.`(type)`

`(type) op1`

Casts (converts) op1 to `type`

. An exception will be thrown if the type of`op1`

is incompatible with`type`

.`new`

`new op1`

Creates a new object or array. `op1`

is either a call to a constructor, or an array specification.`instanceof`

`op1 instanceof op2`

Returns true if `op1`

is an instance of`op2`

Start of Tutorial > Start of Trail > Start of Lesson |
Search
Feedback Form |

Copyright 1995-2005 Sun Microsystems, Inc. All rights reserved.