首页 > 试题广场 >

下面程序依次输出的3个值i,j,k分别是[$##$][$##

[填空题]
下面程序依次输出的3个值i,j,k分别是123?
public class ExamSample {
public static void main(String[] args) {
new ExamSample( ).pluses( );
}
public void pluses( ) {
int i = -010;
int j = ++i + i++ + i++ + ++i;
int k = j++ + ++j + j++ + ++j;
System.out.println(String.format("i=%s,j=%s,k=%s", i, j, k));
}
}
++a在使用变量a之前,先使a的值加1
a++在使用变量a之后,再使a的值减1

发表于 2019-09-12 15:46:23 回复(0)
一开始那里被坑了
int i = -010;
第一位数字是0,所以表示8进制的,换成十进制也就是0*80 + 1*81 = 8 ,前面有一个负号,也就是-8 
后面就简单了
int  j = ++i + i++ + i++ + ++i
也就是 j = (-7)+(-7)+(-6)+(-4)
下面同理


发表于 2019-09-10 13:19:12 回复(0)
八進制。
发表于 2018-11-10 20:19:00 回复(0)