ตัวดำเนินการ Ternary ใน Java ประเมินเพียงนิพจน์เดียวตั้งแต่ Java 7 - Java 1.6 และต่ำกว่านั้นแตกต่างกันหรือไม่
การเตรียมตัวสำหรับการสอบ Oracle Certified Associate Java SE 8 Programmer 1 ฉันพบย่อหน้าต่อไปนี้เกี่ยวกับนิพจน์ด้านท้ายในคู่มือการศึกษาอย่างเป็นทางการ: การประเมินนิพจน์ Ternary ณ Java 7 นิพจน์ทางขวามือเดียวของตัวดำเนินการ ternary จะได้รับการประเมินที่รันไทม์ ในลักษณะที่คล้ายกับตัวดำเนินการลัดวงจรหากหนึ่งในสองนิพจน์ขวามือในตัวดำเนินการที่เกี่ยวข้องมีผลข้างเคียงก็อาจไม่สามารถใช้ในรันไทม์ได้ ขอยกตัวอย่างหลักการนี้ด้วยตัวอย่างต่อไปนี้: [... ] มันบอกว่ามีการประเมินเพียงหนึ่งในสองนิพจน์โดยแสดงให้เห็นด้วยตัวอย่างต่อไปนี้: int y = 1; int z = 1; int a = y < 10 ? y++ : z++; ที่นี่yเพิ่มขึ้นเท่านั้นแต่zไม่เป็นไปตามที่คุณคาดหวัง สิ่งที่ฉันสะดุดคือจุดเริ่มต้นของย่อหน้า (ทำเครื่องหมายด้วยสีเหลือง) ซึ่งมีข้อความว่า "As of Java 7, ... …