public class Test
{
public static void main(String[] args)
{
int i=1;
int j;
i=i++;
j=i;
System.out.println("i="+i+" j="+j);
}
}
//结果:i=1 j=1
那位讲一下是为什么?
{
public static void main(String[] args)
{
int i=1;
int j;
i=i++;
j=i;
System.out.println("i="+i+" j="+j);
}
}
//结果:i=1 j=1
那位讲一下是为什么?
你把i=++i;你就看到另外一個效果了!
{
public static void main(String[] args)
{
int i=1;// i 赋默认值1
int j;//j 在这里没有赋值,所以默认值是 0
i=i++;//关键之处,i++ 虽然使得i的值加1,但是i++的值是1,该语句把i++的值1又赋给了i
j=i;//上一句使得i的值变为1,所以j的值是1
System.out.println("i="+i+" j="+j);
}
}
//所以结果是:i=1 j=1
关键之处是语句“i=i++;”,i 的值没有发生变化。(你怎么没有悬赏分啊,这样不好的。否则没几个人会回答的。)