วันอังคารที่ 31 กรกฎาคม พ.ศ. 2550

ตัวดำเนินการในภาษาจาวา (Operator) < ลำดับการประมวลผล >

ตัวดำเนินการ (Operator) ในการเขียนโปรแกรมภาษาจาวาประกอบด้วย
- ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic Operator)
- ตัวดำเนินการกำหนดค่า (Assignment Operator)
- ตัวดำเนินการเปรียบเทียบ (Equality and Relational Operator)
- ตัวดำเนินการทางตรรกะ (Logical Operator)


----------

ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic Operator)

เป็นตัวดำเนินการที่จำลองมาจากสมการทางคณิตศาสตร์ โดยในภาษาจาวาจะใช้เครื่องหมายต่างๆ

แทนตัวดำเนินการทางคณิตศาสตร์ต่างๆ ดังนี้



ลำดับการทำงานของตัวดำเนินการทางคณิตศาสตร์เมื่อมีตัวดำเนินการหลายตัวอยู่ในสมการเดียวกัน

เช่น int myNumber = 2 + 2 * 5 / 3; ภาษาจาวามีกฏในการเรียงลำดับ ดังนี้
1. คำนวนสมการที่อยู่ภายในวงเล็บก่อนเป็นอันดับแรก โดยเริ่มจากวงเล็บในสุด


2. ถ้าสมการที่เหลือไม่มีวงเล็บแล้ว จะเรียงลำดับดังนี้


2.1 คูณ, หาร และ mod จะถูกคำนวนก่อน โดยมีความสำคัญอยู่ในระดับเดียวกัน ถ้ามีหลายตัว จะเริ่มคำนวนจากซ้ายไปขวา


2.2 บวก และ ลบ จะถูกคำนวนเป็นลำดับถัดมา โดยมีความสำคัญอยู่ในระดับเดียวกัน ถ้ามีหลายตัว จะเริ่มคำนวนจากซ้ายไปขวา


Ex. 1 y = 2 * 5 * 6 + 3 * 4 + 7


ลำดับการทำงานคือ


1. 2 คูณ 5 ( y = 2 * 5 * 6 + 3 * 4 + 7 )


2. 10 คูณ 6 ( y = 10 * 6 + 3 * 4 + 7 )


3. 3 คูณ 4 ( y = 60 + 3 * 4 + 7 )


4. 60 บวก 12 ( y = 60 + 12 + 7 )


5. y = 72 + 7สุดท้าย ผลลัพธ์เท่ากับ 79


----- ถ้า y = 2 * 5 * (6 + 3) * 4 + 7 -----


ลำดับการทำงานคือ


1. 6 บวก 3 (y = 2 * 5 * 9 * 4 + 7)


2. 2 คูณ 5 (y = 10 * 9 * 4 + 7)


3. 10 คูณ 9 (y = 90 * 4 + 7)


4. 90 คูณ 4 (y = 360 + 7)


5. 360 บวก 7 สุดท้ายผลลัพธ์ เท่ากับ 367


Ex. 2 y = 60 - 6 * 5 + ( 8 + ( 10 / 4 % 2 ) ) * 3


ลำดับการทำงานคือ


1. 10 หาร 4 ( y = 60 - 6 * 5 + ( 8 + ( 10 / 4 % 2 ) ) * 3 )


ปล.1 การหารถ้าทั้งสองตัวมีค่าเป็นจำนวนเต็ม (int) จะเป็นการหารแบบตัดจุดทศนิยมทิ้ง 10 หาร 4 จะได้ 2 ไม่ใช่ 2.5 ยกเว้นเสียแต่ตัวใดตัวหนึ่งจะเป็นตัวแปรชนิด double หรือ float จึงจะหารแล้วคิดเศษทศนิยม


2. 2 mod 2 ( y = 60 - 6 * 5 + ( 8 + ( 2 % 2 ) ) * 3 )


ปล.2 การ mod ถ้าการหารนั้นลงตัว คือไม่เหลือเศษหรือเรียกอีกอย่างว่าเหลือเศษศูนย์ ค่าที่ได้จะเป็น 0


3. 8 บวก 0 ( y = 60 - 6 * 5 + ( 8 + 0 ) * 3 )


4. 6 คูณ 5 ( y = 60 - 6 * 5 + 8 * 3 )


5. 8 คูณ 3 ( y = 60 - 30 + 8 * 3 )


6. 60 ลบ 30 ( y = 60 - 30 + 24 )


7. y = 30 + 24สุดท้าย ผลลัพธ์เท่ากับ 54


credit by: http://www.thaiarchaeology.com/viewtopic.php?board=&id=890


2 ความคิดเห็น:

han chayakan กล่าวว่า...

สีตัวอักษร ทำให้อ่านไม่ออกครับ

ตัวดำเนินการ ไช่มีเพียง 2 ชนิดลองหาเพิ่มเติมดูนะครับ

thaiman กล่าวว่า...

ไม่ทราบว่า คุณช่วยเขียนโค้ด javaให้ผมได้ไหม ครับ

นี้คือโจทร์ครับ
1.) จงเขียนโปรแกรมเพื่อรับข้อมูลทาง keyboard แล้วนำค่าที่ 1 ตั้ง mod ด้วยค่าที่2
Enter num1 = 10
Enter num2 = 2
Mod = 0

2.)จงเขียนโปรแกรมเพื่อรับข้อมูลตัวเลข 5 ตัว แล้วหาผลรวม และค่าเฉลี่ย
Enter number1 :
Enter number2 :
Enter number3 :
Enter number4 :
Enter number5 :
Sum =
Average =

3.)จงเขียนโปรแกรมเพื่อรับองศาองศาฟาเรนไฮต์ แล้วแปลงเป็นองศาแซสเซียส
องศาแซสเซียส = (5/9)*(องศาฟาเรนไฮต์-32)
เช่น
Enter degree of Fahrenheit : 90
degree of Celcius = 32.22

4.)จงเขียนโปรแกรมเพื่อหาค่า Mod 4 ของตัวเลข 4 จำนวนที่ป้อนเข้ามาในโปรแกรม
ตัวอย่างผลลัพธ์
Enter number 1 = 1
Enter number 2 = 2
Enter number 3 = 3
Enter number 4 = 4
(1+2+3+4) Mod 4 = 2

ท่าได้ ก็ ส่งมาที่ mail นี้ครับ >> somsaksomsak@hotmail.com ท่าไม่สามารถเขียนได้ ก้ บอกผมด้วยครับขอบคุณครับ