ผู้ประกอบการ Java
หนึ่งในการใช้งานพื้นฐานที่สุดของคอมพิวเตอร์คือการดำเนินการทางคณิตศาสตร์เป็นภาษาคอมพิวเตอร์ Java ให้ชุดสมบูรณ์ของผู้ประกอบการเพื่อจัดการกับตัวแปร เราสามารถนำผู้ประกอบการที่เป็นกลุ่มต่อไปนี้:
- ดำเนินการทางคณิตศาสตร์
- ผู้ประกอบการเชิงสัมพันธ์
- ผู้ประกอบการระดับบิต
- ดำเนินการทางตรรกะ
- ผู้ประกอบการที่ได้รับมอบหมาย
- ผู้ประกอบการอื่น ๆ
ดำเนินการทางคณิตศาสตร์
ดำเนินการทางคณิตศาสตร์ที่ใช้ในการแสดงออกทางคณิตศาสตร์บทบาทและบทบาทของคณิตศาสตร์ในเดียวกันของพวกเขา ตารางต่อไปนี้แสดงรายการทั้งหมดที่ดำเนินการทางคณิตศาสตร์
ตัวอย่างเช่นตารางถือว่าตัวแปรจำนวนเต็มค่า 10 ค่าของตัวแปร B 20:
ผู้ประกอบการ | ลักษณะ | ตัวอย่าง |
---|---|---|
+ | มูลค่าเพิ่มของผู้ประกอบการทั้งสองข้าง - เพิ่ม | A + B มีค่าเท่ากับ 30 |
- | ลบ - ลบตัวถูกดำเนินการทางด้านซ้ายเพื่อตัวถูกดำเนินการที่เหมาะสม | a - b คือ -10 |
* * * * | คูณ - คูณทั้งสองข้างของผู้ประกอบการ | a * b เท่ากับ 200 |
/ | Division - ถูกดำเนินการทางด้านซ้ายหารด้วยตัวถูกดำเนินการที่เหมาะสม | / b เท่ากับ 2 |
% | Modulo - นอกเหนือไปจากส่วนที่เหลือของตัวถูกดำเนินการด้านซ้ายและถูกดำเนินการที่เหมาะสม | B% เท่ากับ 0 |
+ + | เพิ่ม - เพิ่มมูลค่าของตัวถูกดำเนินการ 1 | B + + เท่ากับ 21 |
- | ลด - ลดค่าของตัวถูกดำเนินการ 1 | B - - เท่ากับ 19 |
ตัวอย่าง
โปรแกรมตัวอย่างง่ายๆดังต่อไปนี้แสดงให้เห็นถึงดำเนินการทางคณิตศาสตร์ คัดลอกและวางโปรแกรม Java ต่อไปนี้และบันทึกเป็นไฟล์ Test.java แล้วรวบรวมและเรียกใช้โปรแกรมนี้:
public class Test { public static void main(String args[]) { int a = 10; int b = 20; int c = 25; int d = 25; System.out.println("a + b = " + (a + b) ); System.out.println("a - b = " + (a - b) ); System.out.println("a * b = " + (a * b) ); System.out.println("b / a = " + (b / a) ); System.out.println("b % a = " + (b % a) ); System.out.println("c % a = " + (c % a) ); System.out.println("a++ = " + (a++) ); System.out.println("a-- = " + (a--) ); // 查看 d++ 与 ++d 的不同 System.out.println("d++ = " + (d++) ); System.out.println("++d = " + (++d) ); } }
ตัวอย่างข้างต้นรวบรวมผลมีดังนี้
a + b = 30 a - b = -10 a * b = 200 b / a = 2 b % a = 0 c % a = 5 a++ = 10 a-- = 11 d++ = 25 ++d = 27
ผู้ประกอบการเชิงสัมพันธ์
ตารางต่อไปนี้แสดงให้เห็นถึงการสนับสนุน Java ผู้ประกอบการเชิงสัมพันธ์
คือ 10, ตัวแปร B ตารางเช่นจำนวนเต็มตัวแปรค่าของ 20:
ผู้ประกอบการ | ลักษณะ | ตัวอย่าง |
---|---|---|
== | ตรวจสอบว่าค่าของทั้งสองตัวถูกดำเนินการเท่ากันเท่ากับถ้าเงื่อนไขเป็นจริง | (A == B) เป็นเท็จ (ไม่เป็นความจริง) |
! = | ตรวจสอบว่าค่าของทั้งสองตัวถูกดำเนินการเท่ากันถ้าค่าไม่เท่ากันแล้วเงื่อนไขเป็นจริง | (A = B) เป็นความจริง |
> | ตรวจสอบค่าของตัวถูกดำเนินการด้านซ้ายมีค่ามากกว่าค่าของตัวถูกดำเนินการที่เหมาะสมถ้าเป็นแล้วเงื่อนไขเป็นจริง | (A> B) ไม่เป็นความจริง |
< | ตรวจสอบค่าของตัวถูกดำเนินการทางด้านซ้ายจะน้อยกว่าค่าของตัวถูกดำเนินการที่เหมาะสมถ้าเป็นแล้วเงื่อนไขเป็นจริง | (<b) เป็นจริง |
> = | ตรวจสอบค่าของตัวถูกดำเนินการทางด้านซ้ายที่มีค่ามากกว่าหรือเท่ากับค่าของตัวถูกดำเนินการที่เหมาะสมถ้าเป็นแล้วเงื่อนไขเป็นจริง | (A> = B) เป็นเท็จ |
<= | ตรวจสอบค่าของตัวถูกดำเนินการทางด้านซ้ายจะน้อยกว่าหรือเท่ากับค่าของตัวถูกดำเนินการที่เหมาะสมถ้าเป็นแล้วเงื่อนไขเป็นจริง | (A <= B) เป็นความจริง |
ตัวอย่าง
โปรแกรมตัวอย่างง่ายๆดังต่อไปนี้แสดงให้เห็นถึงผู้ประกอบการเชิงสัมพันธ์ คัดลอกและวางโปรแกรม Java ต่อไปนี้และบันทึกเป็นไฟล์ Test.java แล้วรวบรวมและเรียกใช้โปรแกรมนี้:
public class Test { public static void main(String args[]) { int a = 10; int b = 20; System.out.println("a == b = " + (a == b) ); System.out.println("a != b = " + (a != b) ); System.out.println("a > b = " + (a > b) ); System.out.println("a < b = " + (a < b) ); System.out.println("b >= a = " + (b >= a) ); System.out.println("b <= a = " + (b <= a) ); } }
ตัวอย่างข้างต้นรวบรวมผลมีดังนี้
a == b = false a != b = true a > b = false a < b = true b >= a = true b <= a = false
ผู้ประกอบการระดับบิต
Java กำหนดผู้ประกอบการบิตนำไปใช้กับจำนวนเต็มชนิด (int) จำนวนเต็มยาว (Long) จำนวนเต็มสั้น (สั้น) ตัวอักษร (ถ่าน) และไบต์ (ไบต์) และประเภทอื่น ๆ
ผู้ประกอบการระดับบิตในทุกตำแหน่งและการดำเนินงานค่าที่เหมาะสม สมมติว่า A = 60, B = 13; รูปแบบไบนารีของพวกเขาจะเป็นดังนี้:
A = 0011 1100 B = 0000 1101 ----------------- A&b = 0000 1100 A | B = 0011 1101 A ^ B = 0011 0001 ~A= 1100 0011
ตารางต่อไปนี้แสดงการดำเนินงานพื้นฐานประกอบการ Bitwise สมมติตัวแปรจำนวนเต็มตัวแปร B คือ 60 และค่าของ 13:
ผู้ประกอบการ | ลักษณะ | ตัวอย่าง |
---|---|---|
& | ค่าที่เหมาะสมและผู้ประกอบการและถ้าหากบิตทั้งในตัวถูกดำเนินการเป็นผลไม่ใช่ศูนย์เมื่อบิตเป็น 1 | (A & B) เพื่อให้ 12 คือ 0000 1100 |
| | ค่าที่เหมาะสมหรือผู้ประกอบการบิตตราบใดที่ทั้งสองตัวถูกดำเนินการมีไม่ใช่ศูนย์ผลเมื่อบิตนี้ถูกกำหนดเป็น 1 | (A | B) เพื่อให้ 61 คือ 00111101 |
^ | Bitwise XOR ประกอบบิตของทั้งสองตัวถูกดำเนินการไม่ได้ผลเดียวกันเมื่อบิตตั้งค่าเป็น 1 | (A ^ B) เพื่อให้ 49 คือ 00110001 |
~ | Bitwise ประกอบการพลิกส่วนประกอบแต่ละตัวถูกดำเนินการบิต | (~ A) -61 ที่ได้รับคือ 11000011 |
<< | Bitwise ประกอบกะซ้าย ตัวถูกดำเนินการโดยถูกดำเนินการทางด้านซ้ายขวาบิตซ้ายกะระบุจำนวนของตัวเลข | << 2 240 เช่น 11110000 |
>> | Bitwise ประกอบการเปลี่ยนแปลงทางด้านขวา ถูกดำเนินการทางด้านซ้ายระบุจำนวนบิตโดยบิตไปทางขวาของตัวถูกดำเนินการที่เหมาะสม | >> 2 รับ 15 IE 1111 |
>>> | Bitwise ผู้ประกอบการศูนย์ขวา ค่าของตัวถูกดำเนินการทางด้านซ้ายกดตัวถูกดำเนินการที่เหมาะสมตามจำนวนที่ระบุของบิตไปทางขวาให้เลื่อนตำแหน่งงานว่างที่เกิดขึ้นจะเต็มไปด้วยศูนย์ | >>> 2 รับ 15 IE 0000 1111 |
ตัวอย่าง
โปรแกรมตัวอย่างง่ายๆดังต่อไปนี้แสดงให้เห็นถึงผู้ประกอบการระดับบิต คัดลอกและวางโปรแกรม Java ต่อไปนี้และบันทึกเป็นไฟล์ Test.java แล้วรวบรวมและเรียกใช้โปรแกรมนี้:
public class Test { public static void main(String args[]) { int a = 60; /* 60 = 0011 1100 */ int b = 13; /* 13 = 0000 1101 */ int c = 0; c = a & b; /* 12 = 0000 1100 */ System.out.println("a & b = " + c ); c = a | b; /* 61 = 0011 1101 */ System.out.println("a | b = " + c ); c = a ^ b; /* 49 = 0011 0001 */ System.out.println("a ^ b = " + c ); c = ~a; /*-61 = 1100 0011 */ System.out.println("~a = " + c ); c = a << 2; /* 240 = 1111 0000 */ System.out.println("a << 2 = " + c ); c = a >> 2; /* 15 = 1111 */ System.out.println("a >> 2 = " + c ); c = a >>> 2; /* 15 = 0000 1111 */ System.out.println("a >>> 2 = " + c ); } }
ตัวอย่างข้างต้นรวบรวมผลมีดังนี้
a & b = 12 a | b = 61 a ^ b = 49 ~a = -61 a << 2 = 240 a >> 15 a >>> 15
ดำเนินการทางตรรกะ
ตารางต่อไปนี้แสดงการดำเนินงานพื้นฐานดำเนินการทางตรรกะตัวแปรบูลีนสมมติฐานที่เป็นความจริงขตัวแปรเป็นเท็จ
ผู้ประกอบการ | ลักษณะ | ตัวอย่าง |
---|---|---|
&& | เรียกว่าตรรกะและผู้ประกอบการ และถ้าหากทั้งสองตัวถูกดำเนินการนี้เป็นจริงในสภาพที่จะเป็นจริง | (A && B) เป็นเท็จ |
| | | เรียกว่าตรรกะหรือผู้ประกอบการ ถ้าคนใดคนหนึ่งของทั้งสองตัวถูกดำเนินการใด ๆ เป็นความจริงเงื่อนไขเป็นจริง | (A | | B) เป็นความจริง |
! | เรียกว่าตรรกะผู้ประกอบการไม่ได้ มันตีความรัฐตรรกะของตัวถูกดำเนินการ ถ้าเงื่อนไขเป็นจริงผู้ประกอบการไม่ตรรกะจะเป็นเท็จ | ! (A && B) เป็นความจริง |
ตัวอย่าง
โปรแกรมตัวอย่างง่ายๆดังต่อไปนี้แสดงให้เห็นถึงผู้ประกอบการลอจิคัล คัดลอกและวางโปรแกรม Java ต่อไปนี้และบันทึกเป็นไฟล์ Test.java แล้วรวบรวมและเรียกใช้โปรแกรมนี้:
public class Test { public static void main(String args[]) { boolean a = true; boolean b = false; System.out.println("a && b = " + (a&&b)); System.out.println("a || b = " + (a||b) ); System.out.println("!(a && b) = " + !(a && b)); } }
ตัวอย่างข้างต้นรวบรวมผลมีดังนี้
a && b = false a || b = true !(a && b) = true
ผู้ประกอบการที่ได้รับมอบหมาย
นี่คือภาษา Java เพื่อสนับสนุนผู้ประกอบการที่ได้รับมอบหมาย:
ผู้ประกอบการ | ลักษณะ | ตัวอย่าง |
---|---|---|
= | ดำเนินการกำหนดค่าง่ายของตัวถูกดำเนินการที่เหมาะสมที่จะถูกดำเนินการทางด้านซ้ายมือ | C = A + B + B จะให้ค่าที่ได้รับมอบหมายไปยัง C |
+ = | นอกจากนี้และผู้ประกอบการที่ได้รับมอบหมายก็เป็นตัวถูกดำเนินการทางด้านซ้ายและด้านขวาถูกดำเนินการโดยการเพิ่มการมอบหมายให้ถูกดำเนินการทางด้านซ้าย | C + = a เทียบเท่ากับ C = C + A |
- = | บันทึกถูกดำเนินการทางด้านซ้ายและผู้ประกอบการที่ได้รับมอบหมายก็เป็นตัวถูกดำเนินการด้านซ้ายและด้านขวาถูกดำเนินการที่กำหนดให้ลบ | C = - เทียบเท่ากับ C = C - |
* = | การคูณและผู้ประกอบการที่ได้รับมอบหมายก็เป็นตัวถูกดำเนินการทางด้านซ้ายและด้านขวาถูกดำเนินการจะถูกคูณด้วยมอบหมายให้ถูกดำเนินการทางด้านซ้าย | C = * เทียบเท่ากับ C = C A * |
/ = | นอกจากนี้และผู้ประกอบการที่ได้รับมอบหมายก็เป็นตัวถูกดำเนินการด้านซ้ายและส่วนที่ถูกดำเนินการทางด้านขวาได้รับมอบหมายให้ดำเนินซ้าย | C / = เทียบเท่ากับ C = C / A |
(%) = | Modulo และผู้ประกอบการที่ได้รับมอบหมายก็เป็นตัวถูกดำเนินการด้านซ้ายและตัวถูกดำเนินการที่เหมาะสมที่จะถูกดำเนินการทางด้านซ้ายหลังจากที่มอบหมายให้โมดูโล | C =% เทียบเท่ากับ C = C% ใน |
<< = | ผู้ประกอบการที่ได้รับมอบหมายซ้ายกะ | C = 2 << เทียบเท่ากับ C = C << 2 |
>> = | ผู้ประกอบการที่ได้รับมอบหมายกะขวา | C = 2 >> เทียบเท่ากับ C = C >> 2 |
และ = | ค่าที่เหมาะสมและผู้ประกอบการที่ได้รับมอบหมาย | C & = 2 เทียบเท่ากับซี = C & 2 |
^ = | ดำเนินการกำหนดค่าที่เหมาะสมแฮคเกอร์ | C ^ = 2 เทียบเท่ากับ C = C ^ 2 |
| = | ค่าที่เหมาะสมหรือผู้ประกอบการที่ได้รับมอบหมาย | C | = 2 เทียบเท่ากับ C = C | 2 |
ตัวอย่าง
ตัวอย่างง่ายๆแสดงให้เห็นถึงโปรแกรมเผชิญดำเนินการกำหนด คัดลอกและวางโปรแกรม Java ต่อไปนี้และบันทึกเป็นไฟล์ Test.java แล้วรวบรวมและเรียกใช้โปรแกรมนี้:
public class Test { public static void main(String args[]) { int a = 10; int b = 20; int c = 0; c = a + b; System.out.println("c = a + b = " + c ); c += a ; System.out.println("c += a = " + c ); c -= a ; System.out.println("c -= a = " + c ); c *= a ; System.out.println("c *= a = " + c ); a = 10; c = 15; c /= a ; System.out.println("c /= a = " + c ); a = 10; c = 15; c %= a ; System.out.println("c %= a = " + c ); c <<= 2 ; System.out.println("c <<= 2 = " + c ); c >>= 2 ; System.out.println("c >>= 2 = " + c ); c >>= 2 ; System.out.println("c >>= a = " + c ); c &= a ; System.out.println("c &= 2 = " + c ); c ^= a ; System.out.println("c ^= a = " + c ); c |= a ; System.out.println("c |= a = " + c ); } }
ตัวอย่างข้างต้นรวบรวมผลมีดังนี้
c = a + b = 30 c += a = 40 c -= a = 30 c *= a = 300 c /= a = 1 c %= a = 5 c <<= 2 = 20 c >>= 2 = 5 c >>= 2 = 1 c &= a = 0 c ^= a = 10 c |= a = 10
ผู้ประกอบการที่มีเงื่อนไข (? :)
ผู้ประกอบการที่มีเงื่อนไขยังเป็นที่รู้จักในฐานะผู้ประกอบการ ternary ผู้ประกอบการมีสามตัวถูกดำเนินการและความจำเป็นในการตัดสินคุณค่าของนิพจน์บูล ผู้ประกอบการนี้เป็นหลักในการตัดสินใจที่คุ้มค่าควรจะกำหนดให้กับตัวแปร
variable x = (expression) ? value if true : value if false
ตัวอย่าง
public class Test { public static void main(String args[]){ int a , b; a = 10; b = (a == 1) ? 20: 30; System.out.println( "Value of b is : " + b ); b = (a == 10) ? 20: 30; System.out.println( "Value of b is : " + b ); } }
ตัวอย่างข้างต้นรวบรวมผลมีดังนี้
Value of b is : 30 Value of b is : 20
ผู้ประกอบการ instanceof
ผู้ประกอบการนี้จะใช้ในการดำเนินงานเช่นวัตถุที่ตรวจสอบว่าวัตถุนั้นเป็นประเภทใดประเภทหนึ่ง (ชั้นหรือประเภท Interface)
instanceof ประกอบการใช้รูปแบบต่อไปนี้:
( Object reference variable ) instanceOf (class/interface type)
หากผู้ประกอบการที่อยู่ในตัวแปรด้านซ้ายหมายถึงวัตถุที่ผู้ประกอบการหรือด้านขวาของอินเตอร์เฟซชั้น (ชั้น / Interface) ของวัตถุแล้วผลเป็นความจริง
นี่คือตัวอย่าง:
String name = 'James'; boolean result = name instanceOf String; // 由于name是String类型,所以返回真
ถ้าวัตถุที่ถูกเมื่อเทียบกันได้กับขวาของประเภทผู้ประกอบการยังคงมีผลตอบแทนจริง
ดูตัวอย่างต่อไปนี้:
class Vehicle {} public class Car extends Vehicle { public static void main(String args[]){ Vehicle a = new Car(); boolean result = a instanceof Car; System.out.println( result); } }
ตัวอย่างข้างต้นรวบรวมผลมีดังนี้
true
Java ความสำคัญผู้ประกอบการ
เมื่อมากกว่าหนึ่งผู้ประกอบการที่ปรากฏในการแสดงออกหลังจากที่ใครก็ตามที่ใคร? นี้เกี่ยวข้องกับลำดับความสำคัญของปัญหาที่ผู้ประกอบการ ในการแสดงออกหลายผู้ประกอบการ, ผู้ประกอบการมีความสำคัญอาจนำไปสู่ผลลัพธ์ที่แตกต่างในที่สุดก็มาแตกต่างกัน
ยกตัวอย่างเช่น (1 + 3) + (3 + 2) * 2 กดเครื่องหมายบวกถ้าการแสดงออกนี้ในการคำนวณความสำคัญสูงสุดคำตอบคือ 18 คูณตามลำดับความสำคัญสูงสุดคำตอบคือ 14
อีกครั้ง x = 7 + 3 * 2; ที่ x 13 แทน 20 เนื่องจากผู้ประกอบการคูณมีลำดับความสำคัญสูงกว่าผู้ประกอบการนอกจากนี้ยังเป็นครั้งแรกในการคำนวณ 3 * 2 ได้รับ 6 และ 7 บวก
ด้านบนของตารางมีความสำคัญสูงสุดของผู้ประกอบการในตารางลำดับความสำคัญต่ำสุดในด้านล่างของตาราง
หมวดหมู่ | ผู้ประกอบการ | ความสัมพันธ์กัน |
---|---|---|
วิภัตติ | () []. (จุดดำเนินการ) | จากซ้ายไปขวา |
รวมกัน | + -! ~ | ขวาไปซ้าย |
คูณ | * /% | จากซ้ายไปขวา |
สารเติมแต่ง | + - | จากซ้ายไปขวา |
การกำจัด | >> << >>> | จากซ้ายไปขวา |
ความสัมพันธ์ | << >> = = | จากซ้ายไปขวา |
เท่ากัน | ==! = | จากซ้ายไปขวา |
และค่าที่เหมาะสม | & | จากซ้ายไปขวา |
bitwise แฮคเกอร์ | ^ | จากซ้ายไปขวา |
ค่าที่เหมาะสมหรือ | | | จากซ้ายไปขวา |
และลอจิก | && | จากซ้ายไปขวา |
ตรรกะหรือ | | | | จากซ้ายไปขวา |
สภาพ | ? : | ขวาไปซ้าย |
การมอบหมาย | + = = - = * = / =% = = >> << = & = ^ = | = | ขวาไปซ้าย |
จุลภาค | , | จากซ้ายไปขวา |