Tôi đã gặp vấn đề này in this website và đã thử nó trong Eclipse nhưng không thể hiểu chính xác chúng được đánh giá như thế nào.a + = a ++ * a ++ * a ++ trong Java. Làm thế nào để nó được đánh giá?
int x = 3, y = 7, z = 4;
x += x++ * x++ * x++; // gives x = 63
System.out.println(x);
y = y * y++;
System.out.println(y); // gives y = 49
z = z++ + z;
System.out.println(z); // gives z = 9
Theo một bình luận trên trang web, x + = x ++ * x ++ * x ++ giải quyết để x = x + ((x + 2) * (x + 1) * x) mà hóa ra là sự thật. Tôi nghĩ rằng tôi đang thiếu một cái gì đó về điều này ưu tiên nhà điều hành.
'x + = 3 * 4 * 5; = 3 + 60 = 63'; 'y = 7 * 7 = 49',' z = 4 + 5 = 9' – NullUserException
Tại sao điều này lại được bình chọn là trùng lặp với câu hỏi C++? – NullUserException
(Tôi đồng ý với NullUserException - C/C++ có * quy tắc * khác nhau để xử lý cùng cấu trúc này, nhưng nó sẽ được xác định rõ ràng dưới Java, nếu không xấu.) –