很容易看懂的java代码(我遇到问题了)

来源:百度知道 编辑:UC知道 时间:2024/05/23 12:17:14
public class ArithOp
{
public static void main(String args[])
{
int a=7+2; //a=9
int b=a*2; //b=18
int c=b/9; //c=2
int d=-a; //d=-9
int e=d%2; //e=-1
double f=17.5%4;//f=1.5
int i=2;
int j=i++; //i=3,j=2
int k=++i; //i=4,k=4
System.out.println("a="+a);
System.out.println("b="+b);
System.out.println("c="+c);
System.out.println("d="+d);
System.out.println("e="+e);
System.out.println("f="+f);
System.out.println("i="+i);
System.out.println("j="+j);
System.out.println("k="+k);
}
}

我遇到的问题:
1:int j=i++;//i=3,j=2 这句话中i++的结果是3,为什么j会是2阿?
2:++i 是什么意思啊,我不懂
3:为什么输出结果中i是4阿?

先谢谢啦

这里面有一个运算顺序问题,j=i++;先把i的值赋给j,然后在做i的自增运算。同理k=++i则是现做i的自增运算,然后在把i的值赋给k。第三个问题你应该明白了

1: i++的意思是i=i+1,因为++是写在i的后面的,所以是先把i的值2赋给j,然后i再加1。
2: ++i和i++的意思都是i=i+1,不同的是如果写成j=++i,那么就是先把i的值加1,再赋值给j。
3: 声明的时候i=2,i++一次++i一次,那么i的值又加了2,所以i=4。

1. j=i++是指先把i赋给j,再把i+1
2. ++i就是把i+1放到i中,即i=i+1
3. 加来加去就是4了,你数一下加的次数

i++运算是先计算完表达式的值,再进行自加运算
j=i++,意思是先把i赋值给j,再让i+1
++i和i++相反,先自加1,再计算表达式的值

如果是i++,则代表输出结果是i的值。
如果是++i,则代表输出的结果是要先加上1的值。
也就是i++,是i变,得到结果不变。
如果是++i,i变,得到结果也变。