300 likes | 499 Views
Operators. กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา. ตัวดำเนินการ (Operators). Assignment Operator Arithmetic Operators Comparison Operators Logical (Bitwise) Operators String Operator สรุป. Assignment Operator.
E N D
Operators กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
ตัวดำเนินการ (Operators) • Assignment Operator • Arithmetic Operators • Comparison Operators • Logical (Bitwise) Operators • String Operator • สรุป
Assignment Operator • เป็นการกำหนดค่าทางขวามือ มาจัดเก็บในตัวแปรทางซ้ายมือโดยใช้เครื่องหมายเท่ากับ “=” 100 A A =100 B =2 C =A + B D =A ^ B B 2 C 102 10000 D
Arithmetic Operators • ได้แก่กลุ่มของตัวดำเนินการที่ใช้ในการคำนวณ อันประกอบด้วย ตัวดำเนินการต่างดังแสดงในตารางหน้าถัดไป
ลำดับความสำคัญของตัวดำเนินการลำดับความสำคัญของตัวดำเนินการ • ในการคำนวณ นิสิตต้องพิจารณาความสำคัญของตัวดำเนินการในแต่ละตัว เพื่อที่จะสามารถแสดงลำดับการประมวลผลได้อย่างถูกต้องเรายังสามารถใช้ฟังก์ชันของ Class Mathสำหรับคำนวณได้อีกด้วย • การประมวลผลกรณีมีลำดับความสำคัญเท่ากันจะพิจารณาจากลำดับของตัวดำเนินการที่เท่ากันโดยทำจากซ้ายไปขวา(เฉพาะตัวดำเนินการที่มีลำดับความสำคัญเท่ากัน)
ตัวอย่าง: ลำดับความสำคัญของตัวดำเนินการ • A = 10; B = 2; C = 3; D = 4; • A + B * C / D • 10 + 2 * 3 / 4(คูณกับหารมีระดับเดียวกันทำจากซ้าย -> ขวา) • 10 + 6 / 4 (หารมีระดับสูงกว่าบวก ดังนั้นทำการหารก่อน) • 10 + 1.5(ทำการบวก) • 11.5 (ผลลัพธ์ที่ได้จากการบวก)
ตัวอย่าง: ลำดับความสำคัญของตัวดำเนินการ • A = 10; B = 2; C = 3; D = 4; • A*B ^ C + D * B • 10 * 2 ^ 3 + 4 * 2 (ยกกำลังมีระดับสูงสุดทำก่อน) • 10 * 8 + 4 * 2 (คูณมีระดับเท่ากันทำจากซ้าย -> ขวา) • 80 + 4 * 2(คูณมีระดับสูงกว่าบวกทำคูณก่อน) • 80 + 8(ทำการบวก) • 88 (ผลลัพธ์ที่ได้จากการบวก)
Comparison Operators • ได้แก่กลุ่มของตัวดำเนินการ ที่ใช้เปรียบเทียบค่าของตัวแปร หรือประโยคคำสั่งตั้งแต่ 2 ตัวขึ้นไป โดยผลลัพธ์ที่ได้จะมีค่าเป็น จริง (True)หรือ เท็จ(False)อย่างใดอย่างหนึ่งเท่านั้น ดังแสดงในตัวอย่างหน้าถัดไป
Logical (Bitwise) Operators • ได้แก่ กลุ่มของตัวดำเนินการที่นำเอาค่าจริง(True)หรือ เท็จ(False)ของแต่ละประโยคคำสั่งมาเปรียบเทียบเพื่อสรุปผลว่าสุดท้ายแล้ว กลุ่มของตัวดำเนินการข้างต้นจะมีผลลัพธ์เป็น จริง(True) หรือ เท็จ(False)
Not • ผลลัพธ์ที่ได้จะตรงข้ามกับค่าของประโยคเสมอ ตัวอย่าง: A = True; B = False; C = Not(A) = False D = Not(B) = True
And • เป็นจริงก็ต่อเมื่อค่าของประโยคเป็นจริงทั้งหมด นอกจากนั้นเป็น เท็จ
Or • เป็นเท็จก็ต่อเมื่อค่าของประโยคเป็นเท็จทั้งหมด นอกจากนั้นเป็น จริง
Xor • เป็นเท็จก็ต่อเมื่อค่าของ 2 ประโยคเหมือนกันทั้งหมด นอกจากนั้นเป็น จริง
AndAlso • ถ้าค่าในประโยคแรกมีค่าเป็นเท็จ แล้วผลที่ได้จะเป็นเท็จเสมอ
AndAlso • คำถาม:AndAlsoมีความแตกต่างจาก Andธรรมดา ตรงไหน? • คำตอบ:AndAlsoกับ Andมีการเปรียบเทียบเหมือนกัน แต่ AndAlsoมีข้อดี คือ ในกรณีที่มีการวนรอบจำนวนมาก การเปรียบเทียบเงื่อนไข 2 เงื่อนไขจะทำให้โปรแกรมช้าลง ถ้าเราใช้ Andธรรมดา ก็จะพบว่า ถ้ามีเงื่อนไขใด เงื่อนไขหนึ่งเป็น เท็จที่เหลือก็จะเป็นเท็จ แต่ในคอมพิวเตอร์แทนที่เมื่อเจอเงื่อนไขที่ 1 เป็นเท็จแล้ว คอมพิวเตอร์ก็ยังคงตรวจสอบเงื่อนไขที่ 2 ต่อไป (ได้ผลลัพธ์จริงหรือเท็จ) ซึ่งผลลัพธ์สุดท้ายก็จะได้เท็จอยู่ดี ทำให้เสียเวลาในการประมวลผลมากขึ้น • ดังนั้น กรณีที่มี 2 เงื่อนไข นิสิตสามารถใช้ AndAlsoโดยเขียนเงื่อนไขที่ 1 เป็นเงื่อนไขที่มีโอกาสเป็นเท็จบ่อยๆ เพราะว่าเมื่อเงื่อนไขที่ 1 เป็นเท็จ เงื่อนไขที่ 2 จะมีค่าความจริงอย่างไร ก็ให้ผลลัพธ์เป็นเท็จ เช่นกัน
AndAlso • คำถาม: ถ้าเราเปรียบเทียบมากกว่า 2 เงื่อนไข AndAlsoจะมีผลหรือไม่? • คำตอบ: กรณีที่เงื่อนไขเป็น AndAlsoทั้งหมดก็จะมีผลลัพธ์เหมือนกัน แต่ถ้ามี Orหรือ OrElse ผลลัพธ์สุดท้ายที่ได้อาจแตกต่างไป
OrElse • ถ้าค่าในประโยคแรกมีค่าเป็นจริง แล้วผลที่ได้จะเป็น จริง เสมอ
OrElse • คำถาม:OrElseมีความแตกต่างจาก Orธรรมดา ตรงไหน? • คำตอบ:OrElseกับ Orมีการเปรียบเทียบเหมือนกัน แต่ OrElseมีข้อดี คือ ในกรณีที่มีการวนรอบจำนวนมาก การเปรียบเทียบเงื่อนไข 2 เงื่อนไขจะทำให้โปรแกรมช้าลง ถ้าเราใช้ Orธรรมดา ก็จะพบว่า ถ้ามีเงื่อนไขใด เงื่อนไขหนึ่งเป็นจริงที่เหลือก็จะเป็นจริง แต่ในคอมพิวเตอร์แทนที่เมื่อเจอเงื่อนไขที่ 1 เป็นจริงแล้ว คอมพิวเตอร์ก็ยังคงตรวจสอบเงื่อนไขที่ 2 ต่อไป (ได้ผลลัพธ์จริงหรือเท็จ) ซึ่งผลลัพธ์สุดท้ายก็จะได้จริงอยู่ดี ทำให้เสียเวลาในการประมวลผลมากขึ้น • ดังนั้น กรณีที่มี 2 เงื่อนไข นิสิตสามารถใช้ OrElseโดยเขียนเงื่อนไขที่ 1 เป็นเงื่อนไขที่มีโอกาสเป็นจริงบ่อยๆ เพราะว่าเมื่อเงื่อนไขที่ 1 เป็นจริง เงื่อนไขที่ 2 จะมีค่าความจริงอย่างไร ก็ให้ผลลัพธ์เป็นจริง เช่นกัน
OrElse • คำถาม: ถ้าเราเปรียบเทียบมากกว่า 2 เงื่อนไข OrElseจะมีผลหรือไม่? • คำตอบ: กรณีที่เงื่อนไขเป็น OrElseทั้งหมดก็จะมีผลลัพธ์เหมือนกัน แต่ถ้ามี Andหรือ AndAlso ผลลัพธ์สุดท้ายที่ได้อาจแตกต่างไป
String Operator • ได้แก่ตัวดำเนินการ &เพื่อใช้ในการต่อข้อความเข้าด้วยกัน ตัวอย่าง: A = “Hello” B = “World” C = A & “, ” & B ผลลัพธ์ที่ได้จะแสดงข้อความ “Hello, World”
String Operator • Operatorนี้ เป็นตัวดำเนินการที่สำคัญ ในการนำไปใช้กับฐานข้อมูล (ADO.NET)โดยนำไปใช้เกี่ยวกับการสร้างชุดคำสั่ง SQLซึ่งเป็นหัวใจของการใช้งานฐานข้อมูลต่อไป
String Operator DimStudent_IDAs Integer DimsqlStudentAs String Student_ID = 50280007 sqlStudent = “SELECT * FROM STUDENT ” sqlStudent = sqlStudent& “ WHERE STUDENT_ID = ” sqlStudent = sqlStudent&Student_ID ผลลัพธ์ที่ได้คือsqlStudent จะจัดเก็บคำสั่งSQL ดังนี้ “SELECT * FROM STUDENT WHERE STUDENT_ID = 50280007”
สรุป • การพัฒนาโปรแกรม จำเป็นต้องมีการประมวลผลตัวแปร (Variable)ต่างๆ โดยใช้ ตัวดำเนินการ (Operator)ในการประมวลผล โดยที่นิสิตจะต้องเลือกใช้ตัวดำเนินการที่เหมาะสม กับการประมวลผลนั้น ๆ เช่น • การกำหนดค่าทางขวาส่งให้ตัวแปรทางซ้ายจะใช้ Assignment Operator (=) • การตัดสินใจเปรียบเทียบว่า เท่ากันหรือไม่ ต้องใช้ Comparison Operator (=)
สรุป • ดังนั้นจะเห็นได้ว่า นิสิตต้องมีความรู้ความเข้าใจพื้นฐานเกี่ยวกับการใช้งานตัวดำเนินการ (Operator)ให้ได้อย่างถูกต้อง และเหมาะสม