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