Java 面试题整理
1. 为什么下列代码中c = 3+7;可以正确输出,c = a + b;却编译报错?
public static void main(String[] args) { |
注意:整数默认是int类型。
结论:右边不确定是无法判断并赋值的。
2.下述代码的运算结果为何是3?
public static void main(String[] args) { |
运算如下:
tmp = a;
a = a+1;
a=tmp;
结论:在内存中运算顺序如下:
- 先将a=3记录到临时存储空间中;
- 再做a++运算,即3+1=4,再赋值给a,此时a=4;
- 再将(1)中临时存储空间中记录的a的值赋值给a, 此时a=3;