社区
Java SE
帖子详情
++i与i++有什么区别?
宁静以致远_2020
2004-04-11 08:05:05
请问各位大侠++i与i++有什么区别?
...全文
82
20
打赏
收藏
++i与i++有什么区别?
请问各位大侠++i与i++有什么区别?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
MaxDD
2004-04-13
打赏
举报
回复
在表达式中:
++i:i先加1再取得i的值
i++:先取得i的值,再加1
单独运算:i++,++i是一样的结果。
效率?要这么细么??为什么?
我只知道++是自由向左结合的?符合逆波兰式?所以效率高?
没有必要这么细吧。
warren04
2004-04-12
打赏
举报
回复
晕,当然是++i效率高
宁静以致远_2020
2004-04-12
打赏
举报
回复
那请问在for语句中,用++i效率高还是i++效率高呢?
ngqzmjmj
2004-04-12
打赏
举报
回复
c我不太熟悉
我估计c中的i取得都是这个表达是中所表示的i最终值
j=++i*i++ //(++i -->i=8) * (i++ -->先取i=8,这个表达式中i=8) 8*8=64
j=++i*++i//(++i -->i=8) * (++i -->先计算i+1的i=9再取i,这个表达式中i=9) 9*9=81
宁静以致远_2020
2004-04-12
打赏
举报
回复
书上可没讲过这些哦!!!
ngqzmjmj
2004-04-12
打赏
举报
回复
在C和java中
如果i=7;
j=++i*i++;
结果都是输出i=9,j=64;
而当i=7;j=++i*++i;的时候,C输出的是i=9,j=81;而java输出的则是i=9,j=72;
为什么?!
这是在C版块争论了很久的一个话题,我一直在思考,就是不明白,还请高手指教!
i=7;
j=++i*i++ //(++i -->i=8) * (i++ -->先取i=8,再计算i+1最终i=9) 8*8=64
j=++i*++i//(++i -->i=8) * (++i -->先计算i+1的i=9再取i) 8*9=72
宁静以致远_2020
2004-04-12
打赏
举报
回复
我运行过,在Java中,如果i=7,(++i)*(i++)和++i*i++结果都是64,i++*++i和(i++)*(++i)结果都是63,这是什么原因呢?
OnlyInJava
2004-04-12
打赏
举报
回复
搂主拜托查查书。
ps:别专牛角尖。晕!
宁静以致远_2020
2004-04-12
打赏
举报
回复
在for(int i;i<100;i++)最好用++i,功能一样,但是效率却不一样。
那个效率高,为什么呢?
htl
2004-04-12
打赏
举报
回复
++i:i先加1再取得i的值
例如:
int i=4;
int j=++i;
得到: j为5,i为5;
i++:先取得i的值,再加1.
例如:
int i=4;
int j=i++;
得到: j为4,i为5;
wzzxq
2004-04-12
打赏
举报
回复
在for(int i;i<100;i++)最好用++i,功能一样,但是效率却不一样
bluejing08
2004-04-12
打赏
举报
回复
我同意楼上所说的,但为什么J的运行结果是64呢?应该是72才对呀
viperasi
2004-04-11
打赏
举报
回复
JAVA里应该是这样的吧
j=(++i)*(++i)
j= a * b
a=8 而 b=9
所以。。。
Kosling
2004-04-11
打赏
举报
回复
大家看看这个
------
在C和java中
如果i=7;
j=++i*i++;
结果都是输出i=9,j=64;
而当i=7;j=++i*++i;的时候,C输出的是i=9,j=81;而java输出的则是i=9,j=72;
为什么?!
这是在C版块争论了很久的一个话题,我一直在思考,就是不明白,还请高手指教!
l1s2z3218
2004-04-11
打赏
举报
回复
二楼说的对
dlxu
2004-04-11
打赏
举报
回复
for语句括号里最后那个i++或++i都无所谓的
viperasi
2004-04-11
打赏
举报
回复
public class i
{
public static void main(String[] args)
{
int i=1;
int n;
//n=i++; //先把i的值付给n,然后i自加1;
n=++i; //i先自加1,然后把所得值付给n;
System.out.println(n);
}
}
看看就知道为什么了。
宁静以致远_2020
2004-04-11
打赏
举报
回复
但我看书里面的for语句:for(int i;i<100;i++),要是用++i行吗?
aid666
2004-04-11
打赏
举报
回复
搂主拜托查查书。
sagittarius1979
2004-04-11
打赏
举报
回复
++i:i先加1再取得i的值
i++:先取得i的值,再加1.
i
++
和
++
i的
区别
.md
你想要知道i
++
和i--的
区别
吗?你想了解i
++
和
++
i吗,还有你要了解i--和--i吗?都是可以的,关注我不定时发一些基础知识,这样可以更加的巩固你的知识的,以后的bug可以少写一点。
C
++
小知识:用
++
i替代i
++
为什么我们应该使用
++
i代替i
++
?下面我们来解释。 前自增运算符(
++
i)和后自增运算符(i
++
)都是用于增量运算的,但是它们的
区别
在于它们的实现机制。前自增运算符改变了对象的状态并返回对象改变后的状态,不需要...
面试官:你说你懂i
++
跟
++
i的
区别
,那你会做下面这道题吗?
面试官:你说你懂i
++
跟
++
i的
区别
,那你知道下面这段代码的运行结果吗? 面试官:“说一说i
++
跟
++
i的
区别
” 我:“i
++
是先把i的值拿出来使用,然后再对i+1,
++
i是先对i+1,然后再去使用i” 面试官:“那你看看下面这段...
++
i? i
++
? i+=1? i=i+1? 何必纠结?
前言 今天在牛客上看面经,看到一个问题:num
++
;...首先说明,自增操作符是 num = num + 1 或者 num += 1 的缩写,但又有不同,比如 C
++
中涉及到了操作符重载,其他语言又有不同的特性,但是本文只讨论最简...
i
++
和
++
i有什么
区别
?
i
++
和
++
i的
区别
有: 赋值顺序不同
++
i 是先加后赋值;i
++
是先赋值后加;
++
i和i
++
都是分两步完成的。 因为
++
i 是后面一步才赋值的,所以它能够当作一个变量进行级联赋值,
++
i = a =b,即
++
i 是一个左值;i
++
的...
Java SE
62,622
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章