面试的时候遇到一个题,感觉挺有意思
int i=3;
求(i++)+(++i)+(i++)输出结果,程序如下所示
-
public class Test {
-
public static void main(String[] args) {
-
int i = 3;
-
System.out.println((i++) + (++i) + (i++));
-
}
-
}
这个题分为三个阶段
第一个(i++)
此时结果为3,i为4
第二个(++i)
此时结果为8,i为5
第三个(i++)
此时结果为13,i为6
这种题其实只要把结果和变量分别记录,就不容易出错了。类似的还有
-
public class Test {
-
static boolean foo(char c) {
-
System.out.print(c);
-
return true;
-
}
-
-
public static void main(String[] args) {
-
int i = 0;
-
for (foo('A'); foo('B') && (i < 2); foo('C')) {
-
i++;
-
foo('D');
-
}
-
}
-
//ABDCBDCB
-
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29254281/viewspace-1127368/
,如需转载,请注明出处,否则将追究法律责任。