求解java代码

来源:百度知道 编辑:UC知道 时间:2024/07/03 05:16:01
package first;

public class Hello {
public static void main(String [] args)
{
int a=2;
a++;
System.out.println("a="+a);
int m=a++;
System.out.println("a="+ a +",m="+m);
int n=a++;
System.out.println("a="+a+",n="+n);
}
}
这段代码运行后的结果不是:a=3
a=3,m=3
a=4,n=4嚒?
但运行后的结果是:a=3
a=4,m=3
a=5,n=4

a++后,a当然要自增了。
a++,和++a的区别:
a++先进行a的赋值操作,a再自增,
++a先进行a的自增再进行赋值操作。

public class Hello {
public static void main(String [] args)
{
int a=2;
a++;//a=3
System.out.println("a="+a);
int m=a++;//m=3, a=4,如果是m=++a,就是m=4,a=4
System.out.println("a="+ a +",m="+m);
int n=a++;同上分析
System.out.println("a="+a+",n="+n);
}
}

public class Hello {
public static void main(String [] args)
{
int a=2;
a++;//a=3
System.out.println("a="+a);
int m=a++;//m=3,a=4,
/*这句话可以拆成这样
int m=a;
a++;
如果是int m=++a;就可以拆成这样
a++;
int m=a;
*/
System.out.println("a="+ a +",m="+m);
int n=a++;//n=4,a=5
System.out.println("a="+a+",n="+n);
}
}

a++ 的意思是赋值后在自身加1.

int m = a++;
等效于
int m = a;
a = a + 1;

你的明白?

你应该去