52 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			52 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | 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. | ||
|  | *   __Relational__: `Equal to (==)`, `Not Equal to (!=)`, `Greater than (>)`, `Less than (<)`, `Greater than or equal to (>=)`, `Less than or equal to (<=)` | ||
|  | *   __Bitwise__: `Bitwise And (&)`, `Bitwise Or (|)`, `Bitwise XOR (^)`, `Bitwise Compliment (~)`, `Left shift (<<)`, `Right Shift (>>)`, `Zero fill right shift (>>>)` | ||
|  | *   __Logical__: `Logical And (&&)`, `Logical Or (||)`, `Logical Not (!)` | ||
|  | *   __Assignment__: `=`, `+=`, `-=`, `*=`, `/=`, `%=`, `<<=`, `>>=`, `&=`, `^=`, `|=` | ||
|  | *   __Others__: `Conditional/Ternary(?:)`, `instanceof` | ||
|  | 
 | ||
|  | 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;` | ||
|  | 
 | ||
|  | Example: | ||
|  | True Condition: | ||
|  | 
 | ||
|  | ```java | ||
|  |     int x = 10; | ||
|  |     int y = (x == 10) ? 5 : 9; // y will equal 5 since the expression x == 10 evaluates to true | ||
|  |      | ||
|  | ``` | ||
|  | 
 | ||
|  | False Condition: | ||
|  | 
 | ||
|  | ```java | ||
|  |     int x = 25; | ||
|  |     int y = (x == 10) ? 5 : 9; // y will equal 9 since the expression x == 10 evaluates to false | ||
|  | ``` | ||
|  | 
 | ||
|  | The instance of 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 instanecof operator: | ||
|  | ```Java | ||
|  |   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 */ | ||
|  |                             | ||
|  |         | ||
|  |  ``` | ||
|  |   | ||
|  | 
 |