Groovy - โอเปอเรเตอร์
ตัวดำเนินการคือสัญลักษณ์ที่บอกให้คอมไพเลอร์ดำเนินการทางคณิตศาสตร์หรือตรรกะเฉพาะ
Groovy มีตัวดำเนินการประเภทต่อไปนี้ -
- ตัวดำเนินการเลขคณิต
- ตัวดำเนินการเชิงสัมพันธ์
- ตัวดำเนินการทางตรรกะ
- ตัวดำเนินการ Bitwise
- ตัวดำเนินการมอบหมาย
ตัวดำเนินการเลขคณิต
ภาษา Groovy สนับสนุนตัวดำเนินการทางคณิตศาสตร์ปกติเป็นภาษาใดก็ได้ ต่อไปนี้เป็นตัวดำเนินการทางคณิตศาสตร์ที่มีอยู่ใน Groovy -
แสดงตัวอย่าง
| ตัวดำเนินการ | คำอธิบาย | ตัวอย่าง |
|---|---|---|
| + | การเพิ่มตัวถูกดำเนินการสองตัว | 1 + 2 จะให้ 3 |
| - | ลบตัวถูกดำเนินการที่สองจากตัวแรก | 2 - 1 จะให้ 1 |
| * | การคูณของตัวถูกดำเนินการทั้งสอง | 2 * 2 จะให้ 4 |
| / | การหารตัวเศษด้วยตัวส่วน | 3/2 จะให้ 1.5 |
| % | ตัวดำเนินการโมดูลัสและส่วนที่เหลือหลังจากการหารจำนวนเต็ม / ลอย | 3% 2 จะให้ 1 |
| ++ | ตัวดำเนินการที่เพิ่มขึ้นใช้เพื่อเพิ่มค่าของตัวถูกดำเนินการโดย 1 | int x = 5; x ++; x จะให้ 6 |
| - | ตัวดำเนินการที่เพิ่มขึ้นใช้เพื่อลดค่าของตัวถูกดำเนินการโดย 1 | int x = 5; x--; x จะให้ 4 |
ตัวดำเนินการเชิงสัมพันธ์
ตัวดำเนินการเชิงสัมพันธ์อนุญาตให้เปรียบเทียบวัตถุได้ ต่อไปนี้เป็นตัวดำเนินการเชิงสัมพันธ์ที่มีอยู่ใน Groovy -
แสดงตัวอย่าง
| ตัวดำเนินการ | คำอธิบาย | ตัวอย่าง |
|---|---|---|
| == | ทดสอบความเท่าเทียมกันระหว่างสองวัตถุ | 2 == 2 จะให้เป็นจริง |
| ! = | ทดสอบความแตกต่างระหว่างสองวัตถุ | 3! = 2 จะให้จริง |
| < | ตรวจสอบเพื่อดูว่าวัตถุด้านซ้ายน้อยกว่าตัวถูกดำเนินการด้านขวาหรือไม่ | 2 <3 จะให้เป็นจริง |
| <= | ตรวจสอบเพื่อดูว่าวัตถุด้านซ้ายน้อยกว่าหรือเท่ากับตัวถูกดำเนินการด้านขวาหรือไม่ | 2 <= 3 จะให้เป็นจริง |
| > | ตรวจสอบเพื่อดูว่าวัตถุด้านซ้ายมีค่ามากกว่าตัวถูกดำเนินการด้านขวาหรือไม่ | 3> 2 จะให้เป็นจริง |
| > = | ตรวจสอบเพื่อดูว่าวัตถุด้านซ้ายมากกว่าหรือเท่ากับตัวถูกดำเนินการด้านขวาหรือไม่ | 3> = 2 จะให้เป็นจริง |
ตัวดำเนินการทางตรรกะ
ตัวดำเนินการทางตรรกะใช้เพื่อประเมินนิพจน์บูลีน ต่อไปนี้เป็นตัวดำเนินการเชิงตรรกะที่มีอยู่ใน Groovy -
แสดงตัวอย่าง
| ตัวดำเนินการ | คำอธิบาย | ตัวอย่าง |
|---|---|---|
| && | นี่คือโอเปอเรเตอร์“ และ” เชิงตรรกะ | true && true จะให้จริง |
| || | นี่คือโอเปอเรเตอร์“ หรือ” เชิงตรรกะ | จริง || จริงจะให้จริง |
| ! | นี่คือโอเปอเรเตอร์ "ไม่ใช่" เชิงตรรกะ | ! เท็จจะให้จริง |
ตัวดำเนินการ Bitwise
Groovy มีตัวดำเนินการสี่บิต ต่อไปนี้เป็นตัวดำเนินการระดับบิตที่มีอยู่ใน Groovy -
แสดงตัวอย่าง
| ซีเนียร์ No | ตัวดำเนินการและคำอธิบาย |
|---|---|
| 1 | & นี่คือโอเปอเรเตอร์“ และ” แบบบิต |
| 2 | | นี่คือโอเปอเรเตอร์“ หรือ” แบบบิต |
| 3 | ^ นี่คือ "xor" แบบบิตหรือเฉพาะตัวหรือโอเปอเรเตอร์ |
| 4 | ~ นี่คือตัวดำเนินการปฏิเสธแบบบิต |
นี่คือตารางความจริงที่แสดงตัวดำเนินการเหล่านี้
| น | q | p & q | p | q | p ^ q |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 1 |
ตัวดำเนินการมอบหมาย
ภาษา Groovy ยังมีตัวดำเนินการมอบหมาย ต่อไปนี้เป็นตัวดำเนินการมอบหมายที่มีอยู่ใน Groovy -
แสดงตัวอย่าง
| ตัวดำเนินการ | คำอธิบาย | ตัวอย่าง |
|---|---|---|
| + = | เพิ่มตัวถูกดำเนินการด้านขวาให้กับตัวถูกดำเนินการด้านซ้ายและกำหนดผลลัพธ์ให้กับตัวถูกดำเนินการด้านซ้าย | def A = 5 A + = 3 เอาต์พุตจะเป็น 8 |
| - = | สิ่งนี้จะลบตัวถูกดำเนินการด้านขวาออกจากตัวถูกดำเนินการด้านซ้ายและกำหนดผลลัพธ์ให้กับตัวถูกดำเนินการด้านซ้าย | def A = 5 A- = 3 เอาต์พุตจะเป็น 2 |
| * = | สิ่งนี้จะคูณตัวถูกดำเนินการด้านขวากับตัวถูกดำเนินการด้านซ้ายและกำหนดผลลัพธ์ให้กับตัวถูกดำเนินการด้านซ้าย | def A = 5 A * = 3 เอาต์พุตจะเป็น 15 |
| / = | สิ่งนี้แบ่งตัวถูกดำเนินการทางซ้ายกับตัวถูกดำเนินการด้านขวาและกำหนดผลลัพธ์ให้กับตัวถูกดำเนินการทางซ้าย | def A = 6 A / = 3 เอาต์พุตจะเป็น 2 |
| % = | สิ่งนี้ใช้โมดูลัสโดยใช้ตัวถูกดำเนินการสองตัวและกำหนดผลลัพธ์ให้กับตัวถูกดำเนินการด้านซ้าย | def A = 5 ก% = 3 เอาต์พุตจะเป็น 2 |
ตัวดำเนินการช่วง
Groovy สนับสนุนแนวคิดของช่วงและแสดงสัญกรณ์ของตัวดำเนินการช่วงด้วยความช่วยเหลือของสัญกรณ์ .. ตัวอย่างง่ายๆของตัวดำเนินการช่วงได้รับด้านล่าง
def range = 0..5
นี่เป็นเพียงการกำหนดช่วงของจำนวนเต็มอย่างง่ายโดยเก็บไว้ในตัวแปรท้องถิ่นที่เรียกว่า range โดยมีขอบเขตล่างเป็น 0 และขอบเขตบนเป็น 5
ข้อมูลโค้ดต่อไปนี้แสดงวิธีใช้ตัวดำเนินการต่างๆ
class Example {
static void main(String[] args) {
def range = 5..10;
println(range);
println(range.get(2));
}
}
เมื่อเราเรียกใช้โปรแกรมข้างต้นเราจะได้ผลลัพธ์ดังต่อไปนี้ -
จาก println คุณจะเห็นว่าช่วงทั้งหมดของตัวเลขที่กำหนดไว้ในคำสั่ง range จะแสดงขึ้น
คำสั่ง get ใช้เพื่อรับออบเจ็กต์จากช่วงที่กำหนดซึ่งรับค่าดัชนีเป็นพารามิเตอร์
[5, 6, 7, 8, 9, 10]
7
ลำดับความสำคัญของตัวดำเนินการ
ตารางต่อไปนี้แสดงตัวดำเนินการที่น่าสนใจทั้งหมดตามลำดับความสำคัญ
| ซีเนียร์ No | ผู้ดำเนินการและชื่อ |
|---|---|
| 1 | ++ -- + - การเพิ่ม / ลดล่วงหน้า, ยูนารีบวก, ลบยูนารี |
| 2 | * / % คูณ div โมดูโล |
| 3 | + - การบวกการลบ |
| 4 | == != <=> เท่ากับไม่เท่ากับเปรียบเทียบกับ |
| 5 | & ไบนารี / bitwise และ |
| 6 | ^ ไบนารี / bitwise xor |
| 7 | | binary / bitwise หรือ |
| 8 | && ตรรกะและ |
| 9 | || ตรรกะหรือ |
| 10 | = **= *= /= %= += -= <<= >>= >>>= &= ^= |= ตัวดำเนินการกำหนดต่างๆ |