Java里关于i++和++i到底有什么区别,我不是太明白,求解? Java里关于i++和++i到底有什么区别????不明白,有例子举的最好了!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 i++是先取值,后加加,++i是先加加后取值!int i = 0;System.out.println(i++);int j = 0;System.out.println(++j);打印0,1 int i=0System.out.print(i++)//打印0(打印后执行++)如果写成int i=0System.out.print(++i)//打印1(打印前执行++) int i=0;int j;System.out.println(++i);System.out.println(j++);输出 1 0 int i = 0; int a = i ++; System.out.println("a = "+ a); i = 0; int b = ++ i; System.out.println("b = "+ b); public static void main(String[] args) { int i=0; int j=0; System.out.println("--------i------"); System.out.println(i++); System.out.println(i); System.out.println("--------j------"); System.out.println(++j); System.out.println(j); }结果--------i------01--------j------11i++ 先执行,后运算(自加)++i 先运算,后执行 int i = 1;System.out.println(i);System.out.println(i++);System.out.println(i);System.out.println(++i);System.out.println(i); 不要考虑二者的区别。除非整个语句除了++运算以外不含任何运算及函数调用,否则不要用这个操作符。Java规范只规定++是在原变量基础上加1,但是没有明确规定到底是何时增加(这和C系列不同),所以你滥用++的话,你的程序可能会在不同的JVM上有不同的表现,而你又很难想到是这里的问题。 你试一下不就知道了。如i=1;System.out.println("i++="+i++);输出:i++=1System.out.println("++i="+++i);输出:++i=3 i++就是执行前取i值,在++! i=0; i++就是i=0;在++++i就是执行后取i值,先++! j=0; ++j就是j=1;先++ 你写的第二行System.out.println(i)打印是1没错,但是第四行为什么打印是2,总体的i++,++i我知道是什么意思i,就是不明白为什么第四行为什么打印是2,解释一下,这个地方就是想不通!!!??? 执行这句 System.out.println(i++);时,输出的i是1。但结束后,i的值加1了,值当然是2了。 5555明白啦,这个第二个System.out.println(i)是不是表示执行结束啊?? i++是先赋值在加1;++i是先加1在赋值;比如: int i = 0; x = i++; y = ++i;所以x的值为0;y的值为2; 首先要区分变量的值与表达式的值i++与++i都是表达式,区别在于:i++这个表达式使用了变量i自增之前的值++i这个表达式使用了变量i自增之后的值而经过这两个表达式运算,变量i本身都是自增1的 i++:表示先使用i这个变量的值,然后进行i=i+1的操作++i:则是先进行i=i+1操作,然后再使用这个i变量 java 关于网络编程的几个小问题 SWT中使用Canvas显示图片,实现图片的拖动的问题。 请哪位大虾帮忙看看这个url错误是怎么回事,着急啊 看看这个是怎么回事? 请问,怎么样才能做到不准出现阿拉伯数字 初来,献上一个免费的大学视频教学资源下载的网站 菜鸟弱智问题 急救!!!一个最菜鸟的问题!! 学安卓要学JAVA SE的SWING和AWT么? 请各位大侠帮帮忙!!! Java 定期事务设计 讨论 Java 程序如何在linux 下用JDBC连接mysql
int i = 0;
System.out.println(i++);
int j = 0;
System.out.println(++j);
打印0,1
System.out.print(i++)//打印0(打印后执行++)如果写成
int i=0
System.out.print(++i)//打印1(打印前执行++)
System.out.println(++i);
System.out.println(j++);
输出 1
0
int a = i ++;
System.out.println("a = "+ a);
i = 0;
int b = ++ i;
System.out.println("b = "+ b);
int i=0;
int j=0;
System.out.println("--------i------");
System.out.println(i++);
System.out.println(i);
System.out.println("--------j------");
System.out.println(++j);
System.out.println(j); }结果--------i------
0
1
--------j------
1
1
i++ 先执行,后运算(自加)
++i 先运算,后执行
System.out.println(i);
System.out.println(i++);
System.out.println(i);
System.out.println(++i);
System.out.println(i);
Java规范只规定++是在原变量基础上加1,但是没有明确规定到底是何时增加(这和C系列不同),所以你滥用++的话,你的程序可能会在不同的JVM上有不同的表现,而你又很难想到是这里的问题。
如i=1;
System.out.println("i++="+i++);
输出:i++=1
System.out.println("++i="+++i);
输出:++i=3
++i就是执行后取i值,先++! j=0; ++j就是j=1;先++
i的值加1了,值当然是2了。
++i是先加1在赋值;
比如:
int i = 0;
x = i++;
y = ++i;
所以x的值为0;y的值为2;
++i:则是先进行i=i+1操作,然后再使用这个i变量