Files
freeCodeCamp/guide/english/java/basic-operations/index.md

4.2 KiB

title
title
Basic Operations

Basic Operations

Java supports the following operations on variables:

  • Arithmetic : Addition (+), Subtraction (-), Multiplication (*), Division (/), Modulus (%),Increment (++),Decrement (--).

  • String concatenation: + can be used for String concatenation, but subtraction - on a String is not a valid operation. In java + operator is overloaded on functionality to concatenate strings and to perform addition information

  • Relational: Equal to (==), Not Equal to (!=), Greater than (>), Less than (<), Greater than or equal to (>=), Less than or equal to (<=) Always remember sign of greater and less than always come before assign i.e "="

  • Bitwise: Bitwise And (&), Bitwise Or (|), Bitwise XOR (^), Bitwise Compliment (~), Left shift (<<), Right Shift (>>), Zero fill right shift (>>>). **Bitwise operators are used to perform bitwise operation in places where calculation on binary numbers are required like-in ciphers,and to design virtual electronic circut replication etc. **

  • Logical: Logical And (&&), Logical Or (||), Logical Not (!)

  • Assignment: =, +=, -=, *=, /=, %=, <<=, >>=, &=, ^=, |=

  • Others: Conditional/Ternary(?:), instanceof **Ternary because it work on the functionality of If Then Else i.e If condition is right then first alternative anotherwise the second one ** While most of the operations are self-explanatory, the Conditional (Ternary) Operator works as follows:
    expression that results in boolean output ? return this value if true : return this value if false;

The Assignment operators (+=, -=, *=, /=, %=, <<=, >>=, &=, ^=, |=) are just a short form which can be extended. Example: (a += b) does the same thing as (a = a + b)!

Example: True Condition:

int x = 10;
int y = (x == 10) ? 5 : 9; // y will equal 5 since the expression x == 10 evaluates to true

False Condition:

int x = 25;
int y = (x == 10) ? 5 : 9; // y will equal 9 since the expression x == 10 evaluates to false

The instanceof operator is used for type checking. It can be used to test if an object is an instance of a class, a subclass or an interface. General format- object instance of class/subclass/interface

Here is a program to illustrate the instanceof operator:

Person obj1 = new Person();
Person obj2 = new Boy();
// As obj is of type person, it is not an
// instance of Boy or interface
System.out.println("obj1 instanceof Person: " +  (obj1 instanceof Person)); /*it returns true since obj1 is an instance of person */

Operation of ASSIGNMENT Operators explained:

Often times students come across questions in exam/quizes involving complex equations/relations between different variables established with different combinations of assignmen operators. On face, they look preety ambiguous. But follwoing a simpe rule might make solving them preety straigh forward. The rule itself is simple... On any circumstance, first one must deal with PRE-operations, then 'Assignment' operator and then finally comes with 'POST - operations'.

In summary, the order of operation is -

Step 1. PRE-operations

Step 2. Assignment

Step 3. POST - operations.

For example:

 int a = 1;
 int b;
 int b = a-- + ++a ;

What will be the value of a & b after the program compiles?

Step 1. PRE-operations:

a is assigned value 1.

Upon pre-assignment, it becomes 2(since it is '+' here)

Step 2. Assignment:

At this point,

a = 2

and for b ,

b =a-- + ++a

or, b = 2-- + 2 = 4. [Note:POST - operations has not yet come to play yet]

Step 3. POST - operations:

At this point, b = 4 a = 2. But WAIT, there's still one 'post operation' on a to deal with... i.e. a--

So it follows:

a-- // 2-- =  1 (since it is '-' here).

Again, consider this example:

int num1 = 10;
int num2 = 0;
int num3 = 4;
int num4 = 6;

num3 = ++num1 - num4++;

What will be the value of num3 & num4 ?

num3 = 5
num4 = 7

More Information