ตัวดำเนินการ(operator)
ตัวดำเนินการมีหลายประเภทลักษณะการดำเนินการแตกต่างกันไป ในที่นี้จะกล่าวถึงบางประเภทเท่านั้น
ตัวดำเนินการทางคณิตศาสตร์ (mathematical operators) สัญลักษณ์ | การดำเนินการ | ตัวอย่าง | + | การบวก | 2+5 ผลลัพธ์ 7 | - | การลบ | 7-4 ผลลัพธ์ 3 | * | การคูณ | 2 *6 ผลลัพธ์ 12 | / | การหาร | 8/2 ผลลัพธ์ 4 | % | การหารหาเศษ | 9%4 ผลลัพธ์ 1 |
. . . ตัวดำเนินการความสัมพันธ์หรือการเปรียบเทียบ (relational operators) สัญลักษณ์ | การดำเนินการ | ตัวอย่าง | <
| น้อยกว่า | 2<3 ผลลัพธ์ จริง(1) | >
| มากกว่า | 2>3 ผลลัพธ์ เท็จ(false)(0) | <= | น้อยกว่าหรือเท่ากับ | 2<= 3 ผลลัพธ์ จริง(true) | >= | มากกว่าหรือเท่ากับ | 2>= 3 ผลลัพธ์ เท็จ(false) | == | เท่ากับ | 4==4 ผลลัพธ์ จริง(true) | != | ไม่เท่ากับ | 2!= 2 ผลลัพธ์ เท็จ(false) |
. . . . . ตัวดำเนินการตรรกะ (logical operators)
สัญลักษณ์ | การดำเนินการ | ตัวอย่าง | && | และ(AND) | (2<3)&&(3>1) ผลลัพธ์ จริง | || | น้อยกว่า(OR) | (2>3)||(4<1) ผลลัพธ์ เท็จ(false) | ! | ไม่(NOT) | !(2> 3) ผลลัพธ์ จริง(true) |
. . . ตัวดำเนินการกำหนดค่า (assignment operators) สัญลักษณ์ | การดำเนินการ | ตัวอย่าง | = | กำหนดค่า (assignment) | a=2 ความหมายคือ กำหนดให้a มีค่าเป็น2 | += | การบวก(addition) | a+=b ความหมายคือ(a=a+b) | *= | การคูณ(multiplication) | a*=b ความหมายคือ(a=a*b) | -= | การลบ(subtraction) | a-=b ความหมายคือ(a=a-b) | /= | การหาร(division) | a/=b ความหมายคือ(a=a/b) | %= | การหารหาเศษ(remainder) | a%=b ความหมายคือ(a=a%b) | ++ | เพิ่มค่า(increment) | a++ หรือ ++a ความหมายคือ a=a+1 | -- | ลดค่า(decrement) | a-- หรือ --a ความหมายคือ a=a-1 |
. . . . ลำดับการดำเนินการของตัวดำเนินการ (operator precedence)
ลำดับที่ | ตัวดำเนินการ | ลักษณะการทำงาน | 1 | ( ) [ ] . -> | ซ้าย ไป ขวา | 2 | - ~ | * & | ขวา ไป ซ้าย | 3 | ++ -- | ขวา ไป ซ้าย | 4 | * / % | ซ้าย ไป ขวา | 5 | + - | ซ้าย ไป ขวา | 6 | << >> | ซ้าย ไป ขวา | 7 | < > <= >= | ซ้าย ไป ขวา | 8 | == != | ซ้าย ไป ขวา | 9 | &(bitwise AND) | ซ้าย ไป ขวา | 10 | ^(bitwise XOR) | ซ้าย ไป ขวา | 11 | |(bitwise OR) | ซ้าย ไป ขวา | 12 | && | ซ้าย ไป ขวา | 13 | || | ซ้าย ไป ขวา | 14 | ?: | ซ้าย ไป ขวา | 15 | = += -= /= %= | ขวา ไป ซ้าย | 16 | <<= >>= | ขวา ไป ซ้าย |
โดยตัวดำเนินการที่มีลำดับน้อยกว่าจะดำเนินก่อนตัวดำเนินการที่มีลำดับสูงกว่า เช่น X = 2 + 5 * 3 จะมีลำดับการดำเนินการ คือ ลำดับที่ 1 5 * 3 (เพราะ * มีลำดับเป็น 4 ส่วน + อยู่ลำดับ 5) ลำดับที่ 2 2 + 15 ลำดับที่ 3 17 เป็นค่าของ X . . . . .
|