Tuesday 14 August 2018

Operators and Expressions


Operators and Expressions
An operator is a symbol that tells the computer to perform certain mathematical or logical manipulations. Operators are used in program to manipulate data and variables. The data item that operators act upon is called operands.
Types of Operators:
1.      Arithmetic Operators
2.     Relational Operators
3.     Logical Operators
4.     Assignment Operators
5.     Increment and Decrement Operators
6.     Conditional Operators
7.     Bitwise Operators
8.     Special Operators

Arithmetic Operators:

Arithmetic operators are ( +, -, *, /, % )


Java Symbol
Meaning
Usage
+
addition
a + b
-
subtraction
a - b
*
multiplication
a * b
/
Division
a / b
%
Modulo
a % b
Operations of addition, subtraction, multiplication and division literally correspond with their respective mathematical operators. The only one that you might not be so used to see is modulo; whose operator is the percentage sign (%). Modulo is the operation that gives the remainder of a division of two values. For example, if we write:
a=11%3;
the variable a will contain the value 2, since 2 is the remainder from dividing 11 between 3.

Relational Operators

Relational and equality operators ( ==, !=, >, <, >=, <= )

In order to evaluate a comparison between two expressions we can use the relational and equality operators. The result of a relational operation is a Boolean value that can only be true or false, according to its Boolean result.

We may want to compare two expressions, for example, to know if they are equal or if one is greater than the other is.
Java Symbol
Meaning
Usage
==
Equal to
if(a==b)
!=
Not equal to
if(a!=b)
> 
Greater than
if(a>b)
< 
Less than
if(a<b)
>=
Greater than or equal to
if(a>=b)
<=
Less than or equal to
if(a<=b)

Logical Operators

Logical operators ( !, &&, || )

The Operator ! is the Java operator to perform the Boolean operation NOT, it has only one operand, located at its right, and the only thing that it does is to inverse the value of it, producing false if its operand is true and true if its operand is false. Basically, it returns the opposite Boolean value of evaluating its operand.
The logical operators && and || are used when evaluating two expressions to obtain a single relational result. The operator && corresponds with Boolean logical operation AND. This operation results true if both its two operands are true, and false otherwise. The following panel shows the result of operator && evaluating the expression a && b:


A
b
a && b
true
true
true
true
false
false
false
true
false
false
false
false

The operator || corresponds with Boolean logical operation OR. This operation results true if either one of its two operands is true, thus being false only when both operands are false themselves. Here are the possible results of a || b:
A
b
a || b
true
true
true
true
false
true
false
true
true
false
false
false
Assignment Operators

Assignment (=)

The assignment operator assigns a value to a variable.
a=5;
This statement assigns the integer value 5 to the variable
a. The lvalue has to be a variable whereas the rvalue can be either a constant, a variable, the result of an operation or any combination of these.
a=b;
This statement assigns to variable
a (the lvalue) the value contained in variable b (the rvalue).

Increment and Decrement Operators
The operator ++ adds 1 to the operand while –- subtracts 1. Both are unary operators and are used in the following form:
++m or m++;
--m or m--;

Conditional Operators
The conditional operator evaluates an expression returning a value if that expression is true and a different one if the expression is evaluated as false. Its format is:
condition ? result1 : result2
If condition is true the expression will return result1, if it is not it will return result2.
7==5 ? 4 : 3     // returns 3, since 7 is not equal to 5.
7==5+2 ? 4 : 3   // returns 4, since 7 is equal to 5+2.
5>3 ? a : b      // returns the value of a, since 5 is greater than 3.
a>b ? a : b      // returns whichever is greater, a or b.

Bitwise Operators
These operators are used for manipulation of data at values of bit level. These operators are used for testing the bits, or shifting them to the right or left. Bitwise operators may not be applied to float or double.
Operator                                Meaning
&                                             Bitwise AND
!                                               Bitwise OR
^                                              bitwise exclusive OR
~                                              one’s complement
<<                                            shift left
>>                                            shift right
>>>                                         shift right with zero fill

Special Operators
Java supports some special operators of interest such as instanceof operator and member selection operator (.)
  1. instanceof operator
The instanceof is an object reference operator and returns true, if the object on the left-hand side is an instance of the class given on the right-hand side. This operator allows us to determine whether the object belongs to a particular class or not.
Ex:    person instanceof student
is true if the object person belongs to the class student; otherwise it is false.
  1. member selection operator
The dot operator(.) is used to access the instance variables and methods of class objects:
Person1.age                       //reference to variable age
Person1.salary()     //reference to method salary