为什么以下代码打印25.我猜它应该打印28代替。有人可以像计算机一样逐步评估它。谢谢。
class MultiAssign
{
public static void main(String[] args)
{
int k = 1;
k += (k = 4) * (k + 2); // or k = k + (k = 4) * (k + 2);
System.out.println(k);
}
}
答案 0 :(得分:0)
查看将要进行操作的顺序。你会注意到,只有在写完k = 4之后,k的值才会变为4 ...在此之前,k的值将保持为1