猿问

为什么下面程序的输出是 25?

我在解释下面的程序时尝试了很多,但没有达到一个点。


class Example{

static int a = 9;

public static  void main(String...args) {

    System.out.println(a + 3 + 3 * m1() + a* m1() + 1 + a);

}

static int m1(){

    return (a =2);

}}


撒科打诨
浏览 138回答 2
2回答

慕桂英4014372

您必须按操作顺序分组,并认为这a是一个静态字段;因此,一旦更新,它将保持更新(如 2),直到其他内容对其进行修改:9 + 3 + (3 * 2) + (2 * 2) + 1 + 2  12 + 6 + 4 + 3  18 + 7  25  

慕姐4208626

您可以在此处查看运算符优先顺序。当您执行程序时,它将从左到右开始运行。调用时 m1(),您分配a=2并返回此值。所以在 a = 2 之后你的等式如下:9 + 3 + 3 * 2 + 2 * 2 + 1 + 29 + 3 + 6 + 4 + 1 + 225
随时随地看视频慕课网APP

相关分类

Java
我要回答