四十年前很多人學過譚潔強版的C語言,都對其中的“++”“–”符號很費解 , 感覺折騰得不行 。其實這個問題在Java里面也一樣存在 。
例如下面這段代碼,能輸出什么結果呢?
inta = 3;
intb = 5;
intc = 9;
.out.(b+++-c–+–a);
大家可以先算算java中webapi是什么,看看輸出的結果是不是和大家想的一樣 。
一秒 。
兩秒 。
三秒 。
好吧,現在我們出結果,答案是-2 。

文章插圖

文章插圖
那么為什么是-2呢?很多人可能會這樣算java中webapi是什么,b++=6,-c–=-8,–a=2,所以結果應該是0 。
那么為什么會這樣呢?我們先來把這個表達式的運算順序確定一下 。
b+++-c–+–a的運算順序是這樣的
【“++”在前還是在后有什么區別?聊聊Java里面的奇怪語法】(b++) + (-(c–)) + (–a)
加上了括號就清晰了 。
很多朋友一看就覺得這不就應該是6+(-8)+2=0嗎?
但是事實上不是這樣,這個原因主要是在于對“++”這個運算符的定義上,這個運算符如果在后面的話的是在運算結束之后再加1,在前面的話是加1之后再參與運算,–同理 。所以在上面的例子中 , 實際的運算中,是5-9+2,所以結果是-2 。
如果我們先進行++和–再參與運算的話 , 那么結果就是0了 。
喜歡本文的話,歡迎活在信息時代哦:)
本文到此結束,希望對大家有所幫助 。
- “明明在進步,為什么你們還是不滿意!”孩子的無奈,家長的苦惱
- 俠客谷在大自然中“飛檐走壁”
- 孩子太皮不聽話?先別急著動手,試試用這些方法代替打罵
- 【關“心”】疫情下,怎樣給中小學生做心理疏導?
- 手機里面有哪些“驚天動地”的APP?
- “您看中哪款,用微信掃一掃就可以自助下單了!”
- 玩轉“六一” 滿滿都是交警叔叔阿姨對孩子們的愛與祝福 | 知危險會避險
- 孩子的很多問題,都能用“深度陪伴”治愈
- 拒絕暴力 反家暴有我——全省婦聯系統開展“11·25”國際消除對婦女暴力日反家庭
- 山村學前教育發展:淺談農村“留守兒童”的學前教育
