本文共 1044 字,大约阅读时间需要 3 分钟。
public class Main { public static void main(String[] args) { int x=iAddAdd(); //1 int y=addAddI(); //2 System.out.println("x="+x); //3 System.out.println("y="+y); //4 int i=0; //5 System.out.println(i++); //6 System.out.println(++i); //7 } public static int addAddI() { int i=0; //8 int b=0; //15 b=++i; //16 System.out.println("b="+b); //17 return ++i; //10 } public static int iAddAdd() { int i=0; //11 int a=i++; //12 System.out.println("a="+a); //13 return i++; //14 }}
在Java中,i++和++i都是用来给i这个变量赋值的,不同的是,++i是先让i增加,再进行使用;而i++则是先给把i给用了,再让i增加。
为了方便,我通过注释给上面代码的每句话都编了一下号。 在上面的程序中,我们先执行了1号语句,我们定义了变量x,使它的值为iAddAdd这个函数的返回值。在iAddAdd当中,我们通过11制造出形式参数i,初值为零,在执行12时,计算机内部过程为:先把i拿出来,看看程序需不需要拿它做什么,这时,电脑发现他需要把i的值赋值给a,于是他就先让a=i(即让a=0),完成了这一步之后,计算机把i增加了1。这个就叫做先用再加。所以13输出的结果就是a=0。而,继续执行第14 句时,计算机又看到了i++,这时,他发现程序让他把i的值返还给主函数中的x,于是,他就将i的值给了语句1的x,给完之后,i变成2。这就叫:加号在后用后加。 程序回到主函数,执行语句2,调用了函数addAddI,当加加i执行到16号语句时,计算机现将i的值增加1,再检测i有没有什么用处,发现要把它赋值给b,于是b 就是1,这就叫:加号在前用前加。转载地址:http://fqbdi.baihongyu.com/