gpt4 book ai didi

java - 为什么我会得到在静态和实例初始化 block 中分配的静态变量的输出?

转载 作者:行者123 更新时间:2023-12-01 22:09:34 25 4
gpt4 key购买 nike

我在面试中得到了以下代码。

为什么输出是2?

public class Test {
static int a = 1111;
static {
a = a-- - --a;
}

{
a = a++ + ++a;
}

public static void main(String[] args) {
System.out.println(a);
}
}

最佳答案

static 变量 a 初始化为 1111

然后运行静态初始化程序。 a-- 计算结果为 1111,但将 a 设置为 1110。然后运行 ​​--a,将 a 设置为 1109 并计算结果为 1109。发生减法,a 设置为减法结果 2

实例初始值设定项(使用 ++ 运算符)不会运行,因为没有 Test 实例。打印2

关于java - 为什么我会得到在静态和实例初始化 block 中分配的静态变量的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32080107/

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