A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 苑桥别馆 中级黑马   /  2014-11-13 23:12  /  1699 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

JAVA中i++;++i有什么区别,什么时候用有区别,什么时候没有区别

评分

参与人数 1黑马币 +1 收起 理由
MVP + 1

查看全部评分

13 个回复

正序浏览
毕老师的吃饭理论啊。x=i++是先出去玩,再回来吃饭,x=++i是先吃饭再出去玩。
两个单独存在时,是一样的。都是自增,
回复 使用道具 举报
int i=1;
int a=0;
a=i++;
输出a的值是1
输出i的值是2
因为i++是先赋值在运算的
而++i是先运算再赋值的
a=++i;
输出a的值是2
输出i的值也是2
回复 使用道具 举报
我觉得10楼的 方法特别好用
回复 使用道具 举报
怎么现在论坛发布了帖子
回复 使用道具 举报
郑飞 高级黑马 2014-11-16 01:26:47
10#
有个比较好记得办法
如果你关注表达式的值:
      就看前半部分 如果是i 那么表达式值就是i;  如果前半部分是++,那么表达式值就是i+1;
如果你关注i的值那就更简单了 都是i+1;
回复 使用道具 举报
赋值时先赋值再自增,先自增再赋值……单独用都是自增一
回复 使用道具 举报
int i = 1;
  int a = i++   等效于 int i = 1; int  a = i; i++

int a = ++i   等效于   int i = 1; i++; inta = i
希望能帮到卤煮
回复 使用道具 举报
i++,i--运算后的表达式的值是i,而i的值是i+1,i-1;
++i运算后的表达式的值是i+1,i-1,而i的值是i+1,i-1;
回复 使用道具 举报
单独使用没区别,跟其他运算符一齐用就有区别。就是先自增还是后自增的区别
回复 使用道具 举报
一楼说的很全了、、
回复 使用道具 举报
本帖最后由 渐行渐远 于 2014-11-14 17:31 编辑

public class Zizeng {
                /*
                 * i++和++i做为单条语句的时候是一样的,等价于i=i+1;                 * 做运算的时候可以分别当两条语句
                 * 如x=2*i++等价于x=2*i;i=i+1;
                 * x=++i*2等价于i=i+1;x=i*2;
                 * */
        public static void main(String[] args) {
                int x=0,y=0;
                int x1,y1;
                x1=2*x++;                        //x1等于x自增前的值乘以2,语句结束后x加1;
                y1=2*++y;                        //y1等于y自增后的值乘以2,语句结束后y加1;
                System.out.println("x="+x);
                System.out.println("x1="+x1);
                System.out.println("y="+y);
                System.out.println("y1="+y1);
                /*                 
                 * 打印结果:
                 *         x=1
                 *      x1=0
                 *        y=1
                 *        y1=2
                 * */
        }
}

回复 使用道具 举报 1 0
楼上已经解答的很详细了
回复 使用道具 举报
++i或--i,i先自增1或自减1,再参与运算;
i++或i--,i先参与运算,再自增1或自减1。
当运算只有i一个参与的时候++i和i++都一样
比如for(int i = 0;i < 100; i++){
               i++;
      }
这里面的循环后表达式和循环体写成i++或++i都可以。
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马