Java習(xí)題:i=5,為什么呢?
- 教育綜合
- 2024-05-18 07:57:34
java為什么第一個(gè)i等于5,第二個(gè)j也等于5
int i=1; //i=1 int j=i++; //j=1 i=2 if((i==++j))&((i++)==j)) i+=j; //first:(2==(j+1)) & (/*(i=i+1)*/2==2) ->true -> i=i+j -> i=3+2=5; //--------------------------------------------------- 下面一個(gè)照推:其實(shí)你只要記住規(guī)則,就OK Example:i=2 j=2; 1,如果++在變量前,比如:i=++j+i 先使j=j+1,則j=3,再使執(zhí)行j+i(3+2=5) ,最后i=5,j=3 ,考慮到運(yùn)算符的優(yōu)先級(jí)問(wèn)題請(qǐng)問(wèn)c語(yǔ)言和java分別運(yùn)行同樣的代碼:i=5,i=i++,輸出i,結(jié)果為什么不一樣?
java中 i++ 是先運(yùn)算再自增 例如 i = i++ 是先運(yùn)算 i = i, 后自增 i = i+1,所以這一句代碼相當(dāng)于 i = i 如果想讓i加1的話 可以直接使用 i++,不要 i = i++,也可以使用 i = ++i 因?yàn)?+i是先自增再運(yùn)算JAVA這題為什么是1、5
你這個(gè)題目,不管是JAVA還是C或者C++啥的,都一樣。 1、先說(shuō)i。“i++” 后i=2;"--i"后i=1;這個(gè)毫無(wú)疑問(wèn)。 2、再說(shuō)j。j=i++*2+3*--i,我們一步步來(lái)拆分。 ①、j=i++,是先賦值,在++,也就是j先等于1,i再++等于2。 ②、j=第①步結(jié)果*2,也就是j=2。 ③、先計(jì)算3*--i ,--i代表先減一,再計(jì)算。i在第①步已經(jīng)是2了,先減一等于1,再乘三=3; ④、第②步+第③步,即2+3 = 5;請(qǐng)問(wèn)java中 int i=5; int j<<2;是什么意思???
int i=5; int j<<2; 這樣寫是錯(cuò)誤的 正確的是 int i = 5; int j = i << 2; //移位運(yùn)算 5 為 0101 向左移2位 變成 00010100 就是20java中i>5什么意思?
意思是 i 大于 5 舉例: if(i > 5){ System.out.println("你的java生涯剛剛開(kāi)始。"); } 意思是 如果i 大于 5,就輸出: 你的java生涯剛剛開(kāi)始。展開(kāi)全文閱讀
上一篇
南澗泉初冽,東籬菊正芳是什么意思
下一篇
返回列表