detailed explanation of operators used in programming

 

 

 

 

Understanding Expression Operators

=

syntax:

z=x;

Assignment operator (Right associative). Assigns the value of x to the L-value
z. Note that the data type of z must match the data type of x, and cannot be
null.

+=

x += y

Addition assignment operator (Right associative). Adds the value of y to
the original value of x and then reassigns the new value to x. See + for
additional information. x and y cannot be null.

| x | y
Bitwise OR operator. ORs each bit in x with the corresponding bit in y so
that the result bit is set to 1 if at least one of the bits is set to 1. This operator
is not valid for types Long or Integer.

 
^ x ^ y
Bitwise exclusive OR operator. Exclusive ORs each bit in x with the
corresponding bit in y so that the result bit is set to 1 if exactly one of the bits
is set to 1 and the other bit is set to 0. Assigns the result of the exclusive OR
operation to x.

 

x++
++x
Increment operator. Adds 1 to the value of x, a variable of a numeric type.
If prefixed (++x), the expression evaluates to the value of x after the increment.

++
If postfixed (x++), the expression evaluates to the value of x before the
increment.

 

 

x–
–x

Decrement operator. Subtracts 1 from the value of x, a variable of a numeric
type. If prefixed (–x), the expression evaluates to the value of x after the
decrement. If postfixed (x–), the expression evaluates to the value of x before
the decrement.

 
& x & y
Bitwise AND operator. ANDs each bit in x with the corresponding bit in y
so that the result bit is set to 1 if both of the bits are set to 1. This operator
is not valid for types Long or Integer.

– x – y

Subtraction operator. Subtracts the value of y from the value of x according
to the following rules:

If x and y are Integers or Doubles, subtracts the value of y from the value
of x. If a Double is used, the result is a Double.
If x is a Date and y is an Integer, returns a new Date that is decremented
by the specified number of days.
If x is a Datetime and y is an Integer or Double, returns a new Date that
is decremented by the specified number of days, with the fractional portion
corresponding to a portion of a day.

 

 

* x * y
Multiplication operator. Multiplies x, an Integer or Double, with y, another
Integer or Double. Note that if a double is used, the result is a Double.

 

/ x / y
Division operator. Divides x, an Integer or Double, by y, another Integer or
Double. Note that if a double is used, the result is a Double.

 

! !x
Logical complement operator. Inverts the value of a Boolean, so that true
becomes false, and false becomes true.
Unary negation operator. Multiplies the value of x, an Integer or Double,
by -1. Note that the positive equivalent + is also syntactically valid, but does
not have a mathematical effect.

 

*= x *= y

Multiplication assignment operator (Right associative). Multiplies the value
of y with the original value of x and then reassigns the new value to x. Note
that x and y must be Integers or Doubles, or a combination. x and y cannot
be null.

-= x -= y
Subtraction assignment operator (Right associative). Subtracts the value of
y from the original value of x and then reassigns the new value to x. Note
that x and y must be Integers or Doubles, or a combination. x and y cannot
be null.
/= x /= y

Division assignment operator (Right associative). Divides the original value
of x with the value of y and then reassigns the new value to x. Note that x
and y must be Integers or Doubles, or a combination. x and y cannot be
null.
|= x |= y
OR assignment operator (Right associative). If x, a Boolean, and y, a Boolean,
are both false, then x remains false. Otherwise, x is assigned the value of true.
This operator exhibits “short-circuiting” behavior, which means y is
evaluated only if x is false.
x and y cannot be null.
&= x &= y

AND assignment operator (Right associative). If x, a Boolean, and y, a
Boolean, are both true, then x remains true. Otherwise, x is assigned the value
of false. This operator exhibits “short-circuiting” behavior, which means y is
evaluated only if x is true.

>>= x >>= y
Bitwise shift right signed assignment operator. Shifts each bit in x to the
right by y bits so that the low order bits are lost, and the new left bits are set
to 0 for positive values of y and 1 for negative values of y. This value is then
reassigned to x.
>>>= x >>>= y
Bitwise shift right unsigned assignment operator. Shifts each bit in x to the
right by y bits so that the low order bits are lost, and the new left bits are set
to 0 for all values of y. This value is then reassigned to x.
Ternary operator (Right associative). This operator acts as a short-hand for
if-then-else statements. If x, a Boolean, is true, y is the result. Otherwise z
is the result. Note that x cannot be null. ? : x ? y : z

&& x && y
AND logical operator (Left associative). If x, a Boolean, and y, a Boolean,
are both true, then the expression evaluates to true. Otherwise the expression
evaluates to false.

&& has precedence over ||

 

This operator exhibits “short-circuiting” behavior, which means y is
evaluated only if x is true.
x and y cannot be null.
OR logical operator (Left associative). If x, a Boolean, and y, a Boolean, are
both false, then the expression evaluates to false. Otherwise the expression
evaluates to true.
|| x || y

 

<<= x <<= y
x and y cannot be null.
Bitwise shift left assignment operator. Shifts each bit in x to the left by y
bits so that the high order bits are lost, and the new right bits are set to 0.
This value is then reassigned to x.

== x == y
Equality operator. If the value of x equals the value of y, the expression
evaluates to true. Otherwise, the expression evaluates to false.
Unlike Java, == in Apex compares object value equality, not reference
equality, except for user-defined types.

<= x <= y

  1. The comparison of any two values can never result in null.
  2. If x or y equal null and are Integers, Doubles, Dates, or Datetimes, the
    expression is false.
  3.  A non-null String or ID value is always greater than a null value.
  4. If x and y are IDs, they must reference the same type of object. Otherwise,
    a runtime error results.
  5. The comparison of two strings is performed according to the locale of the
    context user.

Less than or equal to operator. If x is less than or equal to y, the expression
evaluates to true. Otherwise, the expression evaluates to false.

>= x >= y

The comparison of two strings is performed according to the locale of the
context user.
Greater than or equal to operator. If x is greater than or equal to y, the
expression evaluates to true. Otherwise, the expression evaluates to false

  1. If x or y is an ID and the other value is a String, the String value is
    validated and treated as an ID.
    x and y cannot be Booleans.
  2.  If x or y equal null and are Integers, Doubles, Dates, or Datetimes, the
    expression is false.
  3. If x and y are IDs, they must reference the same type of object. Otherwise,
    a runtime error results.
  4. A non-null String or ID value is always greater than a null value.

!= x != y
The comparison of two strings is performed according to the locale of the context user.
Inequality operator. If the value of x does not equal the value of y, the
expression evaluates to true. Otherwise, the expression evaluates to false.
Unlike Java, != in Apex compares object value equality, not reference
equality, except for user-defined types.

 
!== x !== y
 The comparison of any two values can never result in null.
Exact inequality operator. If x and y do not reference the exact same location
in memory, the expression evaluates to true. Otherwise, the expression evaluates
to false.

<< x << y
Bitwise shift left operator. Shifts each bit in x to the left by y bits so that the
high order bits are lost, and the new right bits are set to 0.

 
>> x >> y
Bitwise shift right signed operator. Shifts each bit in x to the right by y bits
so that the low order bits are lost, and the new left bits are set to 0 for positive
values of y and 1 for negative values of y.

 
>>> x >>> y
Bitwise shift right unsigned operator. Shifts each bit in x to the right by y
bits so that the low order bits are lost, and the new left bits are set to 0 for all
values of y.

 For more go to Click here