ตัวดำเนินการ(Operators) และ ลำดับในการประมวล
                      
					      ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic 
        Operators) 
       
      	คือคำสั่งพื้นฐานในการที่จะสั่งให้เครื่องคอมพิวเตอร์ประมวลผลการคำนวณพื้นฐานทางคณิตศาสตร์ 
        เช่น การบวก ลบ คูณ หาร ตัวดำเนินการแต่ละตัวจะมีลำดับการประมวลผลตามที่กำหนด 
        ดังตาราง และในการประมวลผลจะเริ่มทำจากทางซ้ายไปขวา และจะทำการประมวลผลในวงเล็บก่อน 
      
         
          |   
             Operator
              | 
            
             รูปแบบ 
              และการทำงาน
              | 
            
             ลำดับในการประมวลผล
              | 
         
         
          |  
             "*"(Multiply) 
            | 
           
             หาผลคูณ 
            | 
           1 
           | 
         
         
          |  
             	"/"	(Divide) 
            | 
           
             หาผลหาร 
            | 
           
            2  | 
         
         
          |   
             	"%"	(Modulus) 
            | 
           
             หาเศษที่เหลือจากการหาร 
            | 
           
             3 
            | 
         
         
          |   
             	"+"	(Add) 
            | 
           
             การบวก 
            | 
           
             4 
            | 
         
         
          |   
             	"-"	(Minus) 
            | 
           
             op1-op1:การลบ 
            | 
           
             5 
            | 
         
       
 ตัวอย่าง การใช้ตัวดำเนินการทางคณิตศาสตร์ 
      
         
          |   
             class BasicMath{ 
      	public static void main (String 
        args[]){ 
            		int a = 1 + 1;		int 
              b = a * 3;		int c = b / 4; 
      		int d = b " a;		int 
        e = -d;		int f = 9%5; 
      		System.out.println("a = " 
        + a);		System.out.println("b = " + b); 
      		System.out.println("c = " 
        + c);		System.out.println("e = " + e); 
      		System.out.println("9%5 = 
        " + 9%5); 
      } 
            } 
            | 
   
 
  
ตัวดำเนินการสัมพันธ์ (Relational Operators) 
	คือตัวดำเนินการที่ทำหน้าที่เปรียบเทียบค่าระหว่างตัวแปรสองตัว 
  หรือนิพจน์สองนิพจน์ โดยจะคืนค่าเป็นจริงหรือเท็จ (Boolean) 
      
         
          |   
             Relational 
              Operator
              | 
            
             ตัวอย่าง
              | 
         
         
          |   
             < 
            | 
            
              Op1<Op2 : คืนค่าความเป็นจริงถ้า 
              Op1 น้อยกว่า Op2 
            | 
            
             a=(1<3); //aจะมีค่าเป็นจริง 
            | 
         
         
          |   
             <= 
            | 
            
             Op1<=Op2 : คืนค่าความเป็นจริงถ้า 
              Op1 น้อยกว่า 		 Op2 หรือเท่ากับ Op2 
            | 
            
             a=(5<=7); //a จะมีค่าเป็นจริง 
            | 
         
         
          |   
             > 
            | 
            
             Op1>Op2 :คืนค่าความเป็นจริงถ้า 
              Op1 มากกว่า Op2 
            | 
            
             a=(5>7); //a จะมีค่าเป็นจริง 
            | 
         
         
          |   
             >= 
            | 
            
             Op1>=Op2 : คืนค่าความเป็นจริงถ้า 
              Op1 มากกว่า		 หรือเท่ากับ Op2 
            | 
            
             a=(5>=7); //a จะมีค่าเป็นจริง 
            | 
         
         
          |   
             == 
            | 
            
             Op1==Op2 : คืนค่าความเป็นจริงถ้า 
              Op1 เท่ากับ Op2 
            | 
            
             a=(5==7); // a จะมีค่าเป็นเท็จเพราะ 
              5 ไม่เท่ากับ 7 
            | 
         
         
          |   
             != 
            | 
            
             Op1!=Op2 : คืนค่าความเป็นจริงถ้า 
              Op1 ไม่เท่ากับ Op2 
            | 
            
             a=(5!=7); // a จะมีค่าเป็นจริง 
              เพราะ 5 ไม่เท่ากับ 7 
            | 
         
         
          |   
             ": 
            | 
            
             (expression)"a:b :คือค่าตัว 
              operand a ถ้า expression 		 เป็นจริง 
            | 
            
             a=(3>5)"false:true; //a 
              จะมีค่าเป็นจริง เพราะผลการเปรียเทียบ 3 มากกว่า 5 เป็นเท็จ เมื่อค่าที่ได้เป็นเท็จจะเลือกค่า 
              true	 
            | 
         
       
  
ตัวดำเนินการตรรกะ (Logical Operators) 
 
	ตัวดำเนินการทางตรรกะจะทำประมวลผลกับตัวแปรประเภท 
  Boolean หรือ นิพจน์ที่ให้ค่าของข้อมูลเป็นจริงหรือ เท็จ 
      
         
          |   
             ค่าความจริงตัวที่1 
              | 
            
             ค่าความจริงตัวที่2 
              | 
            
             ผลการประมวลแบบ 
              AND 
              | 
            
             ผลการประมวลแบบ 
              OR 
              | 
            
             ผลการประมวลแบบ 
              XOR 
              | 
         
         
          |  
             true หรือ 1 
            | 
           
             true หรือ 1 
            | 
           
             true หรือ 1 
            | 
           
             true หรือ 1 
            | 
           
             false หรือ 0 
            | 
         
         
          |  
             true หรือ 1 
            | 
           
             false หรือ 0 
            | 
           
             false หรือ 0 
            | 
           
             true หรือ 1 
            | 
           
             true หรือ 1 
            | 
         
         
          |  
             false หรือ 0 
            | 
           
             true หรือ 1 
            | 
           
             false หรือ 0 
            | 
           
             true หรือ 1 
            | 
           
             true หรือ 1 
            | 
         
         
          |  
             false หรือ 0 
            | 
           
             false หรือ 0 
            | 
           
             false หรือ 0 
            | 
           
             false หรือ 0 
            | 
           
             false หรือ 0 
            | 
         
       
  
รูปแบบของ Boolean Operator และตัวอย่างการประมวลผล 
         
          |   
             Operator
              | 
            
             รูปแบบ 
              และการทำงาน
              | 
            
             ตัวอย่าง
              | 
         
         
          |  
             ! หรือ(NOT) 
            | 
            
             !(Op1) เปลี่ยนค่าความจริงเป็นค่าตรงกันข้าม 
            | 
            
             a= !(true); // a จะมีค่าเป็นเท็จ 
            | 
         
         
          |  
             &&หรือ(AND) 
            | 
            
             Op1 && Op2 คืนค่าความจริงถ้า 
              Op1 เท่ากับ Op2 
            | 
            
             a= !(true && false); 
              // a จะมีค่าเป็นเท็จ 
            | 
         
         
          |  
             || หรือ (OR) 
            | 
            
             Op1 || Op2 คืนค่าความจริง ถ้า 
              Op1 ไม่เท่ากับ Op2 
            | 
            
             a= !(true); // a จะมีค่าเป็นเท็จ 
            | 
         
       
 
ตัวอย่าง การใช้ Operator แบบ boolean 
         
          |   
             class BoolLogic{ 
      	public static void main(String 
        args[]){ 
            		boolean a = true;	boolean 
              b = false; 
      		boolean c = a | b;	boolean 
        d = a & b; 
      		boolean e = a ^ b;	boolean 
        f = (!a & b) | (a & !b); 
      		boolean g = !a; 
      		System.out.println("a = " 
        + a);		System.out.println("b = " + b); 
       
         
          System.out.println("a | b = " 
            + c);	System.out.println("a & b = " + d); 
          System.out.println("a ^ b = " 
            + e);	System.out.println("!a = " + g); 
          System.out.println("!a & 
            b | a & !b = " + f); 
        
      
      } 
            } 
            | 
   
 
  
ตัวดำเนินการระดับ (Bitwise Operator) 
 
	ในการจัดเก็บข้อมูลประเภท Interger, 
  short, int และ long จะเก็บในรูปแบบบิต และการเก็บข้อมูลจะเป็นแบบเครื่องหมาย  
      
         
          |   
             Operator
              | 
            
             รูปแบบ 
              และการทำงาน
              | 
            
             ตัวอย่าง
              | 
            
             ผลลัพธ์ที่ได้
              | 
         
         
          |  
             ~ 
            | 
            
             ~ Op : ทำ complement คือ ทำการเปลี่ยนค่าของบิต 
              1 เป็น 0 และเปลี่ยนบิตที่มีค่า 0 เป็น 1 
            | 
            
             a= 0x0005 
            | 
           -6 | 
         
         
          |  
             <<, >> 
            | 
            
             การย้ายบิตไปทางซ้าย และทางขวา 
            | 
           a= 
            0x0005 << 2 
            a= 0x0005 >> 2  | 
           20 
            1 | 
         
         
          |  
             >>> 
            | 
            
             การย้ายบิตไปทางขวาเสมือนไม่มีเครื่องหมาย 
            | 
           a= 
            0x0005 >>> 2 
            a= 0xFFF5 >>> 2   | 
           1 
            16381  | 
         
         
          |  
             & 
            | 
            
             ประมวลผลแบบ Bitwise AND 
            | 
            
             a= 0x0005 & a = 0x0007; 
            | 
           
            5 
           | 
         
         
          |  
             ^ 
            | 
            
             ประมวลผลแบบ Bitwise XOR 
            | 
            
             a= 0x0005 ^ a= 0x0007; 
            | 
           
            2 
           | 
         
         
          |  
             | 
            | 
            
             ประมวลผลแบบ Bitwise OR 
            | 
            
             a= 0x0005 | a= 0x0007; 
            | 
           
            7 
           | 
         
       
  
ลำดับในการประมวลของ Operators ต่าง ๆ 
   
         
          |   
             ตัวกระทำ 
              (Operators)
              | 
            
             ลำดับ
              | 
            
             ประเภทของการประมวลผล
              | 
         
         
          |   
             () วงเล็บ
            | 
            
             1
            | 
           
            
           | 
         
         
          |   
             ++(Increment), --(Decrement), 
              +(Unary plus), -(unary minus) 
            !(Not) 
            ~(Complement) 
            (type_cast)
            | 
            
             2
            | 
            
             การคำนวณ 
            การคำนวณ 
            Boolean 
            integer 
            ทุกรูปแบบ 
            | 
         
         
          |   
             *(Multiply),/(Divide),%(modulus) 
            | 
            
             3 
            | 
            
             การคำนวณ 
            | 
         
         
          |   
             +(Add),-(subtract) 
            | 
            
             4 
            | 
            
             การคำนวณ 
            | 
         
         
          |   
             << (Left shift),>>(Right 
              shift),>>>(zero fill) 
            | 
            
             5 
            | 
            
             จำนวนเต็ม 
            | 
         
         
          |   
             < (Less than), <==(less 
              than or equal), >(greater than), >==(greater than or equal) 
            Instanceof() 
            | 
            
             6 
            | 
            
             การคำนวณ object, (เปรียบเทียบ 
              object) 
            | 
         
         
          |   
             ==(Equal),!=(not equal) 
            | 
            
             7 
            | 
            
             ข้อมูลพื้นฐาน และ object 
            | 
         
         
          |   
             &(Bitwise AND) 
            | 
            
             8 
            | 
            
             จำนวนเต็ม 
            | 
         
         
          |   
             ^ (Bitwise XOR) 
            | 
            
             9 
            | 
            
             จำนวนเต็ม 
            | 
         
         
          |   
             | (Bitwise OR) 
            | 
            
             10 
            | 
            
             จำนวนเต็ม 
            | 
         
         
          |   
             s&& (AND) 
            | 
            
             11 
            | 
            
             Boolean 
            | 
         
         
          |   
             || (OR) 
            | 
            
             12 
            | 
            
             Boolean 
            | 
         
         
          |   
             ": 
            | 
            
             13 
            | 
            
              Boolean 
            | 
         
         
          |   
             = ,*= , /=, %=, +=, -=, <<=, 
              =>>, >>>, &=, ^=, != 
            | 
            
             14 
            | 
            
             อื่น ๆ 
            | 
         
         
          |  
            
           | 
           
            
           | 
           
            
           | 
         
       
  
ตัวอย่าง การคำนวณโดยใช้ Operator1 
         
          |   
             class OpEquals{ 
      	public static void main (String 
        args[]){ 
            		int a =1;		int b = 
              2;		int c = 3; 
      		a += 5;			b *= 4;			 
       
         
          c +=a * b;		c %=6; 
        
      
      		System.out.println("a = " 
        + a);		System.out.println("b = " + b); 
      		System.out.println("c = " 
        + c); 
      } 
            } 
            | 
   
 
  
ตัวอย่าง การคำนวณโดยใช้ Operator2 
         
          |   
             class IncDec{ 
      	public static void main(String 
        ars[]){ 
            		int a = 1;		int b = 
              2; 
      		int c = ++b;		int d 
        = a++; 
      		c++; 
      		System.out.println("a = " 
        + a);		System.out.println("b = " + b); 
      		System.out.println("c = " 
        + c);		System.out.println("d = " + d); 
      }	 
            } 
            | 
   
       
					
					 |