明明書上寫的++i(前自增)和i++(後自增)做用是不同的。html
可是在我眼中看來它們的做用卻好像同樣??java
這個難題怎麼破?快來觀看這期【圖文+視頻】吧。ide
讓你快速掌握++i(前自增)和i++(後自增)。spa
[TOC]code
package com.task03; public class P044_ { public static void main(String[] args) { int i = 0, j = 1; if ((i++ == 1) || (j ++== 2)) {//此時i++==0 j++==1 j = 42; } System.out.println("i=" + i + ",j=" + j);//i=1,j=2 } }
1.初始化 i=0 j=1htm
因爲後自增是使用i以後,使i的值加1blog
執行i++後,整個表達式的值爲i,而i的值變爲i+1圖片
2.因此執行i++後,整個表達式的值爲i即爲0 不知足i++ == 1的條件ip
同理執行j++後,整個表達式的值爲j即爲1 不知足j++ == 2的條件
3.所以不能執行 j=42;
4.由於執行i++後,i的值變爲i+1,j的值變爲j+1
因此在執行輸出語句後 i=1,j=2
package com.task03; public class P044_ { public static void main(String[] args) { int i = 0, j = 1; if ((i++ == 1) || (++j == 2)) {//此時i++==0 ++j==2 j = 42; } System.out.println("i=" + i + ",j=" + j);//i=1,j=42 } }
1.初始化 i=0 j=1
因爲前自增:在使用j之前,使j的值加1,
所以執行完++j後,整個表達式和j的值均爲i+1
2.因此執行i++後,整個表達式的值爲i即爲0 不知足i++ == 1的條件
而執行++j後,整個表達式的值爲j+1即爲2 知足++j == 2的條件
3.執行 j=42;
4.由於執行i++後,i的值變爲i+1,j變爲42
因此在執行輸出語句後 i=1,j=42
前自減(--i)和後自減(i--)也是同樣的,你們能夠用這裏的例子代碼,本身消化理解一下。這樣效果會更好,記憶會更加深入!期待大家在評論區交做業喔~
推薦你看:
雙重for循環【視頻+圖文】講解傳輸門:點擊這裏便可查看
帶continue語句的雙重for循環【視頻+圖文】講解傳輸門:點擊這裏便可查看
帶break語句的雙重for循環【視頻+圖文】講解傳輸門:點擊這裏便可查看
【你須要的各類數據類型轉換,這裏都有~】傳輸門:點擊這裏便可查看
若是你以爲這篇文章還不錯,麻煩幫我點個贊鴨!可讓更多人看到這篇文章。讓我有動力繼續更技術文~