当前位置:编程学习 > JAVA >>

菜鸟求解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;
楼主好好领会一下! --------------------编程问答-------------------- 哈哈。。谢谢,结贴咯

引用 7 楼  的回复:
 楼主先要搞明白 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(in……
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,