菜鸟求解i++,++i问题。
public class ttt {public static void main(String[] args) {
int i=0;
for(int j=0;j<10;j++){
++i; //或者是i++
System.out.println(i);
}
}
}
把++i改为i++,输出的结果还是一样,为什么呢? --------------------编程问答-------------------- 楼主试一下这个看还一样不
public class ttt {
public static void main(String[] args) {
int i=0;
for(int j=0;j<10;j++){
i=++i; //或者是i=i++
System.out.println(i);
}
}
} --------------------编程问答-------------------- i++先赋值后加1
++i先加1后赋值
public class test {
public static void main(String[] args) {
int i=0;
for(int j=0;j<10;j++){
++i; //或者是i++
System.out.println(i);//这里输出的时候无论是i++,还是假++i,此时的i都加1,也就是1,2,3,4,5..
}
}
}
--------------------编程问答-------------------- 因为你 只是单纯的 i++ 或者++i。无论怎么变化地址都是不变的。。 --------------------编程问答-------------------- 1楼弄对了
i++跟++i是在运算中起作用 单独使用情况一样
a=i++;跟a=++i就不同了
单独使用i++跟++i是相同的 --------------------编程问答-------------------- lz,当你用i++;后面在输出i,无论怎样都已经自加过了,所以你写的语句有问题.
试试这个:
public class man
{
public static void main(String args[])
{
int i = 0;
for(int j = 0;j < 10;j++)
{
System.out.println(++i\\i++);
}
}
} --------------------编程问答-------------------- 罪过,是//,唉,失误太低级了········ --------------------编程问答-------------------- 楼主先要搞明白 i++ 和 ++i 的用法
首先 i++ 是先 赋值 在进行+ 的运算 譬如 i=1 a=i++; 这样是先给a 赋值 为1 i 再 自加 输出结果是 a=1; i= 2;
++i 正好相反 i=1;a=++i; 结果是 a=2; i=2;也就是说 i先自加 在赋值给a
看看这个经典的例子:
int i = 5;
for(int j=0;j<1000;j++)
i=i++;
System.out.println(i);
输出结果为 5;
int i = 5;
for(int j=0;j<1000;j++)
i=++i;
System.out.println(i);
输出结果为1005;
楼主好好领会一下! --------------------编程问答-------------------- 哈哈。。谢谢,结贴咯
补充:Java , Java SE