Java为什么两个语句不一样?

两个语句不应该相等吗?

图片说明
图片说明


图片说明

你按照循环流程走一下就明白了,
要是说简单一点就是你图1的公式是

S+=i x 2

直观一点就是

s = s + i x 2


你图2是这样的

i x= 2

s += i

直观一点就是

i = i x 2

s = s+i


两个公式看似一样,但是图二多了一步多出来的这一步会让 “i”这个变量快速增长,在循环第三时候就“i”的值就到了4所以循环条件不成立就结束了循环所以图一和图二的结果不一样

图2在循环体内改变了i的值,两个循环次数都不一样,结果自然也不一样了

图2执行的时候就执行了两次i=1;i=3,因为你在方法内i的值被改变了呀