gpt4 book ai didi

java - 递增和递减静态变量不显示更新值

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:02:14 26 4
gpt4 key购买 nike

我正在研究 static 关键字的使用,发现如果一个变量被创建为静态的,那么它的一个副本就会被创建并在类的所有对象之间共享。

但是下面代码的输出让我感到困惑,为什么它没有显示增量值。

public class Test {

static int y = 10;

public static void main(String[] args) {

System.out.println(y);
System.out.println(y+1);
System.out.println(++y);
System.out.println(y--);
}

}

我期望的输出是:

10
11
12
12

但实际输出是:

10
11
11
11

请帮助我理解输出。

最佳答案

让我们看一下打印语句,看看会发生什么:

System.out.println(y);    // value of y is 10 -> print 10
System.out.println(y+1); // value of y is still 10, but we print 10 + 1 -> print 11
System.out.println(++y); // value of y becomes 11 before we print -> print 11
System.out.println(y--); // value of y becomes 10 after we print -> print 11

这个问题与静态变量关系不大。y 可以是局部变量,行为将完全相同。

要理解第 3 和第 4 个陈述,阅读前缀运算符后缀运算符

关于java - 递增和递减静态变量不显示更新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47461651/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com