输出结果为:
i + j is 23
k is 5
j is 3
原因如下:
public class Foo {
static int i = 0;
static int j = 0;
public static void main(String[] args) throws IOException {
int i = 2;
int k = 3;
int j = 3;
// i,j 在方法中定义了,因此 i 的取值为 2,j 的取值为 3,字符串从前到后一次拼接
System.out.println("i + j is " + i + j);
// k 的值为 i + j = 2 + 3 = 5
k = i + j;
System.out.println("k is " + k);
// j 的值为方法中定义的局部变量 3
System.out.println("j is " + j);
}
}
23
5
3
3 4 两行是静态变量,在此方法中并没有使用到 变量使用就近原则,main方法内部有 i 和 j变量了