जावा में ऑपरेटर्स और इनके प्रकार

operator एक अक्षर (character) है जिसका उपयोग ऑपरेशनस या actions को perform करने के लिए किया जाता है| उदाहरण के लिए “+” एक अंक गणतीय ऑपरेटर (arithmetic operator) है जो संख्याओ को जोड़ने के लिए उपयोग किया जाता है|

Java में operators के प्रकार (Types of operators in Java)

  1. Arithmetic Operators
  2. Assignment Operators
  3. Auto-increment and Auto-decrement Operators
  4. Logical Operators
  5. Comparison (relational) operators
  6. Bitwise Operators
  7. Ternary Operator

Arithmetic Operators

Arithmetic Operators जैसे + , – ,* , / का उपयोग गणतीय क्रियाओ जैसे जोड़ना , घटाना, गुणा , भाग आदि के लिए किया जाता है|

“ + “ operator का उपयोग संख्याओ को जोड़ने के लिए किया जाता है
“ – “ operator का उपयोग संख्याओ को घटाने के लिए किया जाता है
“ * “ operator का उपयोग संख्याओ के गुणा करने के लिए किया जाता है
“ / “ operator का उपयोग संख्याओ के भाग के लिए किया जाता है

उदाहरण

public class ArithmeticOperatorDemo {
  public static void main(String args[]) {
   int num1 = 100;
   int num2 = 20;

   System.out.println("num1 + num2: " + (num1 + num2));
   System.out.println("num1 - num2: " + (num1 - num2));
   System.out.println("num1 * num2: " + (num1 * num2)); 
   System.out.println("num1 / num2: " + (num1 / num2));
   
  }
}

परीणाम (Output)

num1 + num2: 120
num1 – num2: 80
num1 * num2: 2000
num1 / num2: 5

Assignment Operators

=,+=,-=,*=,/= ,%= जैसे operators को Assignment Operators की श्रेणी में रखा गया है|


num2 = num1 : यहाँ पर = operator variable num1 का मान (value) num2 variable में assign कर देगा |
num2+=num1 : ये num2 = num2+num1 के बराबर है|
num2-=num1 : ये num2 = num2-num1 के बराबर है|
num2*=num1 : ये num2 = num2*num1 के बराबर है|
num2/=num1 : ये num2 = num2/num1 के बराबर है|
num2%=num1 : ये num2 = num2%num1 के बराबर है|

उदाहरण

public class AssignmentOperatorDemo {
  public static void main(String args[]) {
   int num1 = 10;
   int num2 = 20;

   num2 = num1;
   System.out.println("= Output: "+num2);

   num2 += num1;
   System.out.println("+= Output: "+num2);
	   
   num2 -= num1;
   System.out.println("-= Output: "+num2);
	   
   num2 *= num1;
   System.out.println("*= Output: "+num2);
	   
   num2 /= num1;
   System.out.println("/= Output: "+num2);
	   
   num2 %= num1;
   System.out.println("%= Output: "+num2);
  }
}

परिणाम (Output)

= Output: 10
+= Output: 20
-= Output: 10
*= Output: 100
/= Output: 10
%= Output: 0

Auto-increment and Auto-decrement Operators

“++” operator Auto-increment operator है और — Auto-decrement Operator है|
num++ , num=num+1 के बराबर है|
num–- num=num-1 के बराबर है|

उदाहरण


public class AutoOperatorDemo {
  public static void main(String args[]){
   int num1=100;
   int num2=200;
   num1++;
   num2--;
   System.out.println("num1++ is: "+num1);
   System.out.println("num2-- is: "+num2);
  }
}

परिणाम (Output)

num1++ is: 101
num2– is: 199

Logical Operators

logical operator का उपयोग binary variable के साथ किया जाता है| ये operator मुख्यतः conditional statements और loops में conditions के मूल्यांकन के लिए उपयोग किये जाते है| Java में && ,|| , ! जैसे operators logical operators की तरह उपयोग किये जाते है|

यदि हमारे पास 2 variable b1 और b2 है तो –

b1&&b2 यहाँ पर यदि b1 और b2 दोनों का मान true होगा तो यह && operator “true” return करेगा|
b1|| b2 यहाँ पर यदि b1 और b2 का मान false होगा तो “||” operator “false ” return करेगा|
!b1 यहाँ पर यदि b1 का मान true होगा तो “!” operator द्वारा false return होगा और यदि b1 का मान false होगा तो “!” operator द्वारा true return होगा|

उदाहरण

public class LogicalOperatorDemo {
  public static void main(String args[]) {
   boolean b1 = true;
   boolean b2 = false;

   System.out.println("b1 && b2: " + (b1&&b2));
   System.out.println("b1|| b2: " + (b1||b2));
   System.out.println("!(b1 && b2): " + !(b1&&b2));
  }
}

परिणाम (Output)

b1 && b2: false
b1|| b2: true
!(b1 && b2): true

Comparison (relational) operators

Java में 6 प्रकार के relational operators है – ==, != , > ,< , >= ,<=

== यदि बायीं (left) और दायी (right) दोनों side बराबर है तो यह operator true return करेगा|
!= यदि बायीं (left) side और दायी (right) side के बराबर नहीं है तो यह operator true return करेगा|
> यदि बायीं (left) side , दायी (right) side से बड़ी है तो यह operator true return करेगा|
< यदि बायीं (left) side दायी (right) side से छोटी है तो यह operator true return करेगा|
>= यदि बायीं (left) side दायी (right) side से बड़ी है या बराबर है तो यह operator true return करेगा|
<= यदि बायीं (left) side दायी (right) side से छोटी है या बराबर है तो यह operator true return करेगा|

उदाहरण

public class RelationalOperatorDemo {
  public static void main(String args[]) {
   int num1 = 10;
   int num2 = 50;
   if (num1==num2) {
	 System.out.println("num1 and num2 are equal");
   }
   else{
	 System.out.println("num1 and num2 are not equal");
   }

   if(num1 != num2){
	 System.out.println("num1 and num2 are not equal");
   }
   else{
	 System.out.println("num1 and num2 are equal");
   }

   if(num1 > num2){
	 System.out.println("num1 is greater than num2");
   }
   else{
	 System.out.println("num1 is not greater than num2");
   }

   if(num1 >= num2){
	 System.out.println("num1 is greater than or equal to num2");
   }
   else{
	 System.out.println("num1 is less than num2");
   }

   if(num1 < num2){
	 System.out.println("num1 is less than num2");
   }
   else{
	 System.out.println("num1 is not less than num2");
   }

   if(num1 <= num2){
	 System.out.println("num1 is less than or equal to num2");
   }
   else{
	 System.out.println("num1 is greater than num2");
   }
  }
}

Output

num1 and num2 are not equal
num1 and num2 are not equal
num1 is not greater than num2
num1 is less than num2
num1 is less than num2
num1 is less than or equal to num2

नोट :- इस उदाहरण में if-else statement का उपयोग किया गया है if-else statement के बारे में आने वाले नोट्स में बताया जायेगा|

Bitwise Operators

Java में 6 प्रकार के operators को Bitwise Operators की श्रेणी में रखा गया है – &,|, ^, ~, <<, >>

num1 = 11; यह 00001011 के बराबर है|
num2 = 22; यह 00010110 के बराबर है|

ये operator , bit by bit प्रोसेसिंग को perform करते है|

num1 & num2 :- यहाँ & operator num1 और num2 के संबंधित बिट्स की तुलना करता है और यदि दोनों के बिट्स सामान है तो आउटपुट 1 देता है अन्यथा 0 आउटपुट देता है| हमारे case में आउटपुट 2 आयेगा क्युकि num1 और num2 के binary रूप में केवल अंत से दूसरी bit का मिलान हो रहा है|

num1| num2:- यहाँ | operator num1 और num2 के संबंधित बिट्स की तुलना करता है और यदि कोई भी एक bit 1 है तो आउटपुट 1 देता है अन्यथा 0 आउटपुट देता है| हमारे case में आउटपुट 31 होगा जो 00011111 है|

num1 ^ num2 :- यहाँ ^ operator num1 और num2 के संबंधित बिट्स की तुलना करता है यदि वे बराबर नहीं है तो आउटपुट 1 देता है अन्यथा 0 आउटपुट देता है| हमारे case में आउटपुट 29 होगा जो 00011101 के बराबर है|

~num1 :- ~ operator जिसे पूरक (compliment) operator कहा जाता है जो bit को 0 से 1 और 1 से 0 में बदलता है| हमारे उदाहरण में output -12 होगा जो की 11110100 के बराबर है|

num1 << 2 :- << operator एक बायीं शिफ्ट (left shift) operator है जो बिट्स को बायीं ओर (left side) ले जाता है , और rightest bit को 0 का मान देता है | हमारे उदाहरण में output 44 है जो 00101100 के बराबर है|

num1 >> 2 :- >> operator एक दायी शिफ्ट (right shift) operator है जो बिट्स को दायी ओर (right side) ले जाता है , और leftest bit को 0 का मान देता है| हमारे उदाहरण में output 2 है जो 00000010 के बराबर है|

उदाहरण

public class BitwiseOperatorDemo {
 public static void main(String args[]) {

   int num1 = 11; /* 11 = 00001011 */
   int num2 = 22; /* 22 = 00010110 */
   int result = 0;

   result = num1 & num2;  
   System.out.println("num1 & num2: "+result);

   result = num1| num2;  
   System.out.println("num1| num2: "+result);
  
   result = num1 ^ num2;  
   System.out.println("num1 ^ num2: "+result);
  
   result = ~num1;  
   System.out.println("~num1: "+result);
  
   result = num1 << 2;  
   System.out.println("num1 << 2: "+result); result = num1 >> 2;  
   System.out.println("num1 >> 2: "+result);
 }
}

Output

num1 & num2: 2
num1| num2: 31
num1 ^ num2: 29
~num1: -12
num1 << 2: 44 num1 >> 2: 2

Ternary Operator

यह operator boolean expression का मूल्यांकन करता है और परीणाम (result) के अधार पर value assign करता है|
Syntax:-
variable num1 = (expression) ? value if true : value if false

यदि expression का परिणाम(result) true आता है तो : के पहले वाला मान num1 को असाइन कर दिया जाता है अन्यथा : के बाद वाला मान num1 को असाइन कर दिया जाता है|

उदाहरण

public class TernaryOperatorDemo {
  public static void main(String args[]) {
    int num1, num2;
    num1 = 25;
    /* num1 is not equal to 10 that's why
	 * the second value after colon is assigned
	 * to the variable num2
	 */
	num2 = (num1 == 10) ? 100: 200;
	System.out.println("num2: "+num2);

	/* num1 is equal to 25 that's why
	 * the first value is assigned
	 * to the variable num2
	 */
	num2 = (num1 == 25) ? 100: 200;
	System.out.println("num2: "+num2);
  }
}

परिणाम (Output)

num2: 200
num2: 100

Java में operators की प्राथमिकता (Operator Precedence in Java)

यह निर्धारित करता है कि यदि expression में एक से अधिक operators है तो किस operator को पहले मूल्यांकित(evaluate) करने की आवश्यकता है और किस operator को बाद में मूल्यांकित (evaluate) करना है|

Unary Operators
++ – – ! ~
Multiplicative
* / %
Additive
+ –
Shift
<< >> >>>
Relational
> >= < <=
Equality
== !=
Bitwise AND
&
Bitwise XOR
^
Bitwise OR
|
Logical AND
&&
Logical OR
||
Ternary
?:
Assignment
= += -= *= /= %= > >= < <= &= ^= |=


error: Content is protected !!