Dart Programming - โอเปอเรเตอร์
นิพจน์เป็นคำสั่งพิเศษที่ประเมินค่า ทุกสำนวนประกอบด้วย -
Operands - แสดงถึงข้อมูล
Operator - กำหนดวิธีการประมวลผลตัวถูกดำเนินการเพื่อสร้างมูลค่า
พิจารณานิพจน์ต่อไปนี้ - "2 + 3" ในนิพจน์นี้ 2 และ 3 คือoperands และสัญลักษณ์ "+" (บวก) คือ operator.
ในบทนี้เราจะพูดถึงตัวดำเนินการที่มีอยู่ใน Dart
- ตัวดำเนินการเลขคณิต
- ตัวดำเนินการด้านความเสมอภาคและความสัมพันธ์
- พิมพ์ตัวดำเนินการทดสอบ
- ตัวดำเนินการ Bitwise
- ผู้ดำเนินการมอบหมาย
- ตัวดำเนินการทางตรรกะ
ตัวดำเนินการเลขคณิต
ตารางต่อไปนี้แสดงตัวดำเนินการทางคณิตศาสตร์ที่สนับสนุนโดย Dart
แสดงตัวอย่าง
ซีเนียร์ No | ตัวดำเนินการและความหมาย |
---|---|
1 | + เพิ่ม |
2 | − ลบ |
3 | -expr Unary ลบหรือที่เรียกว่าการปฏิเสธ (ย้อนกลับสัญลักษณ์ของนิพจน์) |
4 | * คูณ |
5 | / การแบ่ง |
6 | ~/ หารส่งคืนผลลัพธ์จำนวนเต็ม |
7 | % รับส่วนที่เหลือของการหารจำนวนเต็ม (โมดูโล) |
8 | ++ เพิ่มขึ้น |
9 | -- การลดลง |
ตัวดำเนินการด้านความเสมอภาคและความสัมพันธ์
ตัวดำเนินการเชิงสัมพันธ์จะทดสอบหรือกำหนดชนิดของความสัมพันธ์ระหว่างสองเอนทิตี ตัวดำเนินการเชิงสัมพันธ์ส่งคืนค่าบูลีนเช่นจริง / เท็จ
สมมติว่าค่า A คือ 10 และ B คือ 20
แสดงตัวอย่าง
ตัวดำเนินการ | คำอธิบาย | ตัวอย่าง |
---|---|---|
> | มากกว่า | (A> B) เป็นเท็จ |
< | น้อยกว่า | (A <B) เป็นจริง |
> = | มากกว่าหรือเท่ากับ | (A> = B) เป็นเท็จ |
<= | น้อยกว่าหรือเท่ากับ | (A <= B) เป็นจริง |
== | ความเท่าเทียมกัน | (A == B) เป็นเท็จ |
! = | ไม่เท่ากับ | (A! = B) เป็นจริง |
พิมพ์ตัวดำเนินการทดสอบ
ตัวดำเนินการเหล่านี้มีประโยชน์สำหรับการตรวจสอบประเภทที่รันไทม์
แสดงตัวอย่าง
ตัวดำเนินการ | ความหมาย |
---|---|
คือ | True ถ้าวัตถุมีชนิดที่ระบุ |
คือ! | เป็นเท็จหากวัตถุมีชนิดที่ระบุ |
ตัวดำเนินการ Bitwise
ตารางต่อไปนี้แสดงรายการตัวดำเนินการระดับบิตที่มีอยู่ใน Dart และบทบาท -
แสดงตัวอย่าง
ตัวดำเนินการ | คำอธิบาย | ตัวอย่าง |
---|---|---|
Bitwise AND | a & b | ส่งคืนค่าหนึ่งในแต่ละตำแหน่งบิตซึ่งบิตที่สอดคล้องกันของตัวถูกดำเนินการทั้งสองเป็นบิต |
Bitwise หรือ | ก | ข | ส่งคืนค่าหนึ่งในแต่ละตำแหน่งบิตซึ่งบิตที่สอดคล้องกันของตัวถูกดำเนินการอย่างใดอย่างหนึ่งหรือทั้งสองเป็นบิต |
Bitwise XOR | ก ^ ข | ส่งคืนค่าหนึ่งในแต่ละตำแหน่งบิตซึ่งบิตที่สอดคล้องกันของตัวถูกดำเนินการทั้งสองไม่ได้เป็นบิต |
ไม่ Bitwise | ~ ก | แปลงบิตของตัวถูกดำเนินการ |
เลื่อนซ้าย | ก≪ ข | เลื่อน a ในการแทนค่าไบนารี b (<32) บิตไปทางซ้ายโดยเลื่อนเป็นศูนย์จากทางขวา |
การลงนามในการเผยแพร่การเลื่อนไปทางขวา | ก≫ ข | เลื่อน a ในการแทนค่าไบนารี b (<32) บิตไปทางขวาโดยจะเลื่อนบิตออก |
ผู้ดำเนินการมอบหมาย
ตารางต่อไปนี้แสดงตัวดำเนินการกำหนดที่มีอยู่ใน Dart
แสดงตัวอย่าง
ซีเนียร์ No | ตัวดำเนินการและคำอธิบาย |
---|---|
1 | =(Simple Assignment ) กำหนดค่าจากตัวถูกดำเนินการด้านขวาไปยังตัวถูกดำเนินการด้านซ้าย Ex: C = A + B จะกำหนดค่าของ A + B เป็น C |
2 | ??= กำหนดค่าเฉพาะในกรณีที่ตัวแปรเป็นโมฆะ |
3 | +=(Add and Assignment) เพิ่มตัวถูกดำเนินการด้านขวาให้กับตัวถูกดำเนินการด้านซ้ายและกำหนดผลลัพธ์ให้กับตัวถูกดำเนินการด้านซ้าย Ex: C + = A เทียบเท่ากับ C = C + A |
4 | ─=(Subtract and Assignment) มันจะลบตัวถูกดำเนินการด้านขวาออกจากตัวถูกดำเนินการด้านซ้ายและกำหนดผลลัพธ์ให้กับตัวถูกดำเนินการด้านซ้าย Ex: C - = A เทียบเท่ากับ C = C - A |
5 | *=(Multiply and Assignment) มันจะคูณตัวถูกดำเนินการด้านขวากับตัวถูกดำเนินการด้านซ้ายและกำหนดผลลัพธ์ให้กับตัวถูกดำเนินการด้านซ้าย Ex: C * = A เทียบเท่ากับ C = C * A |
6 | /=(Divide and Assignment) มันแบ่งตัวถูกดำเนินการด้านซ้ายด้วยตัวถูกดำเนินการด้านขวาและกำหนดผลลัพธ์ให้กับตัวถูกดำเนินการด้านซ้าย |
Note - ตรรกะเดียวกันนี้ใช้กับตัวดำเนินการ Bitwise ดังนั้นจึงกลายเป็น≪ =,≫ =,≫ =,≫ =, | = และ ^ =
ตัวดำเนินการทางตรรกะ
ตัวดำเนินการทางตรรกะใช้เพื่อรวมเงื่อนไขสองเงื่อนไขขึ้นไป ตัวดำเนินการทางตรรกะส่งคืนค่าบูลีน สมมติว่าค่าของตัวแปร A คือ 10 และ B คือ 20
แสดงตัวอย่าง
ตัวดำเนินการ | คำอธิบาย | ตัวอย่าง |
---|---|---|
&& | And - ตัวดำเนินการจะคืนค่าจริงก็ต่อเมื่อนิพจน์ทั้งหมดที่ระบุเป็นจริง |
(A> 10 && B> 10) เป็นเท็จ |
|| | OR - ตัวดำเนินการจะคืนค่าจริงหากนิพจน์อย่างน้อยหนึ่งนิพจน์ที่ระบุกลับเป็นจริง |
(A> 10 || B> 10) เป็น True |
! | NOT- ตัวดำเนินการส่งกลับค่าผกผันของผลลัพธ์ของนิพจน์ สำหรับ Eg:! (7> 5) ส่งกลับเท็จ |
! (A> 10) เป็นจริง |
นิพจน์เงื่อนไข
Dart มีตัวดำเนินการสองตัวที่ให้คุณประเมินนิพจน์ที่อาจต้องใช้คำสั่ง ifelse -
เงื่อนไข ? expr1: expr2
หากเงื่อนไขเป็นจริงนิพจน์จะประเมิน expr1(และคืนค่า); มิฉะนั้นจะประเมินและส่งคืนค่าของexpr2.
expr1 ?? expr2
ถ้า expr1ไม่เป็นโมฆะส่งคืนค่า มิฉะนั้นจะประเมินและส่งคืนค่าของexpr2
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงวิธีใช้นิพจน์เงื่อนไขใน Dart -
void main() {
var a = 10;
var res = a > 12 ? "value greater than 10":"value lesser than or equal to 10";
print(res);
}
มันจะสร้างผลลัพธ์ต่อไปนี้ -
value lesser than or equal to 10
ตัวอย่าง
ลองดูอีกตัวอย่าง -
void main() {
var a = null;
var b = 12;
var res = a ?? b;
print(res);
}
มันจะสร้างผลลัพธ์ต่อไปนี้ -
12