国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

java中i++ 與 i=i++的區(qū)別

2019-11-14 10:00:57
字體:
供稿:網(wǎng)友

記得大學(xué)剛開始學(xué)C語言時(shí),老師就說:自增有兩種形式,分別是i++與++i,i++表示的是先賦值后加1,++i是先加1后賦值。我們來看下下面的例子:

public class Client { public static void main(String[] args) { int count =0; for(int i=0; i<9; i++) { count = count++; } System.out.PRintln(count); }}

這個(gè)程序輸出的count等于幾?是count自加10次嗎?答案等于10?可以非??隙ǖ馗嬖V你,答案錯(cuò)誤!運(yùn)行結(jié)果是count等于0.為什么呢?

count++是一個(gè)表達(dá)式,是有返回值的,它的返回值就是count自增前的值,java對(duì)于自增是這樣處理的:先把count的值(注意是值,不是引用)拷貝到一個(gè)臨時(shí)變量區(qū),然后對(duì)count變量加1,最后返回臨時(shí)變量區(qū)的值。程序第一次循環(huán)時(shí)的詳細(xì)處理步驟如下: 步驟1:JVM把count的值拷貝到臨時(shí)變量區(qū) 步驟2:count值加1,這時(shí)候count的值是1 步驟3:返回臨時(shí)變量區(qū)的值,0 步驟4:返回值賦值給count,此時(shí)count值被重置成0.

解決方法很簡單,只需把“count = count++”改成count++.


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 策勒县| 双城市| 梅河口市| 航空| 三明市| 巴南区| 屏南县| 白玉县| 渑池县| 吉隆县| 安吉县| 齐齐哈尔市| 兰考县| 阳江市| 上蔡县| 保德县| 山丹县| 玛纳斯县| 疏附县| 东阿县| 长子县| 正宁县| 洪洞县| 洱源县| 龙游县| 唐河县| 连平县| 年辖:市辖区| 项城市| 神农架林区| 乌鲁木齐市| 巴林左旗| 那坡县| 霞浦县| 敖汉旗| 伊宁市| 阿巴嘎旗| 河池市| 阳高县| 武陟县| 循化|