คำถามติดแท็ก operator-precedence

ลำดับความสำคัญของตัวดำเนินการหมายถึงกฎที่ควบคุมลำดับที่ตัวดำเนินการได้รับการประเมินภายในนิพจน์หรือคำสั่งในภาษาโปรแกรม แตกต่างจาก [order-of -ecution] ซึ่งครอบคลุมการจัดลำดับเหตุการณ์การดำเนินการในระบบซอฟต์แวร์

5
อะไรคือกฎสำหรับลำดับการประเมินใน Java?
ฉันกำลังอ่านข้อความ Java และได้รับรหัสต่อไปนี้: int[] a = {4,4}; int b = 1; a[b] = b = 0; ในข้อความผู้เขียนไม่ได้ให้คำอธิบายที่ชัดเจนและผลของบรรทัดสุดท้ายคือ: a[1] = 0; ฉันไม่แน่ใจว่าฉันเข้าใจแล้ว: การประเมินเกิดขึ้นได้อย่างไร?

2
ลูกศร (->) ลำดับความสำคัญของผู้ประกอบการ / ลำดับความสำคัญต่ำสุดหรือลำดับความสำคัญของการมอบหมาย / การมอบหมายรวมมีค่าต่ำสุด?
JLS : ประกอบการต่ำสุดสำคัญคือลูกศรของนิพจน์แลมบ์ดา (->) , ตามโดยผู้ประกอบการที่ได้รับมอบหมาย ตามไปในทิศทางใด (เพิ่มความสำคัญลดลำดับความสำคัญ) - "ติดตาม" หมายถึงการมอบหมายมีลำดับความสำคัญสูงกว่าหรือมีลำดับความสำคัญต่ำกว่า (เกี่ยวข้องกับตัวดำเนินการลูกศร) ฉันเดาว่าเพิ่มมากขึ้นเพราะ "ต่ำสุด" (สำหรับลูกศร) หมายถึงต่ำที่สุดอย่างแน่นอน ดังที่ฉันเข้าใจแล้วลูกศร (->) ควรอยู่ที่ด้านล่างสุดของตารางตัวดำเนินการของพรินซ์ตัน (ซึ่งอยู่ต่ำกว่าตัวดำเนินการที่ได้รับมอบหมายทั้งหมด) ดังนั้นลูกศร (->) มีระดับความสำคัญ 0 (ศูนย์) (ตามตารางนั้น) ฉันถูกต้องในการทำความเข้าใจของฉัน? ExamTrayดูเหมือนจะบอกว่าลูกศรลำดับความสำคัญเป็นอย่างน้อยเช่นเดียวกับการมอบหมาย ... และชี้แจงว่าลูกศรสัมพันธ์เป็นซ้าย -> ถึง -> ขวา (ซึ่งแตกต่างจากการกำหนด) ฉันไม่พบใบเสนอราคาของ JLS สำหรับการเชื่อมโยงลูกศร ฉันมักจะคิดว่าลำดับความสำคัญของการมอบหมายนั้นต่ำที่สุดโดยมีเหตุผล
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.