增量Java初始化变量增量
用另一个全局变量的增量初始化全局变量是否有风险
示例:
int a=0;
int b=a++;
int c=a++;
int d=a++;
这应该输出:
0,1,2,3
编译器可能会先读取一个全局值,然后读取另一个全局值吗
你可以在下面搜索框中键入要查询的问题!
用另一个全局变量的增量初始化全局变量是否有风险
示例:
int a=0;
int b=a++;
int c=a++;
int d=a++;
这应该输出:
0,1,2,3
编译器可能会先读取一个全局值,然后读取另一个全局值吗
# 1 楼答案
它将按预期运行。如果在定义字段之前尝试使用该字段,编译器将抛出错误:
这将在JLS 8.3中介绍
对于您的情况,如果未修改变量的输出,则为:
# 2 楼答案
结果将是
a=3, b=0, c=1, d=2
如果所有这些变量都在一个类中声明,它们将按照代码中出现的顺序进行初始化
PS:
b = 0
因为a++
获取值,然后递增变量