
ลำดับการทำงานของตัวดำเนินการทางคณิตศาสตร์เมื่อมีตัวดำเนินการหลายตัวอยู่ในสมการเดียวกัน
เช่น 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 ความคิดเห็น:
สีตัวอักษร ทำให้อ่านไม่ออกครับ
ตัวดำเนินการ ไช่มีเพียง 2 ชนิดลองหาเพิ่มเติมดูนะครับ
ไม่ทราบว่า คุณช่วยเขียนโค้ด 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 ท่าไม่สามารถเขียนได้ ก้ บอกผมด้วยครับขอบคุณครับ
แสดงความคิดเห็น