任何包含=的如+=、-=、 /=等等,都內(nèi)含了賦值操作。 不再是你以前理解的數(shù)學(xué)含義了,而+ - * /和 = 在java中更不是一個(gè)級別,換句話說, = 是一個(gè)動(dòng)作,一個(gè)可以改變內(nèi)存狀態(tài)的操作,一個(gè)可以改變變量的符號,而+ - * /卻不會。 這里的賦值操作其實(shí)是包含了兩個(gè)意思: 1、放棄了原有的值或引用; 2、得到了 = 右側(cè)變量的值或引用。Java中對 = 的理解很重要啊!!可惜好多人忽略了,或者理解了卻沒深思過。
換句話說,“=之后,你我已無關(guān)聯(lián)”;至于基本數(shù)據(jù)類型,就不在這科普了。
換句話說,“嘿,= 左側(cè)的變量,你丫別給我瞎動(dòng)!咱倆現(xiàn)在是一根繩上的螞蚱,除非你再被 = 一次放棄現(xiàn)有的引用!!上面說了 = 是一個(gè)動(dòng)作,所以我把 = 當(dāng)作動(dòng)詞用啦!!”。而非基本數(shù)據(jù)類型變量你基本上可以
參數(shù)是變量,所有我們對變量的操作、變量能有的行為,參數(shù)都有。所以把C語言里參數(shù)是傳值啊、傳指針啊的那套理論全忘掉,參數(shù)傳遞就是 = 操作。
作者:Jack Tan 鏈接:https://www.zhihu.com/question/31203609/answer/51473602 來源:知乎 著作權(quán)歸作者所有,轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)。
(1):“在Java里面參數(shù)傳遞都是按值傳遞”這句話的意思是:按值傳遞是傳遞的值的拷貝,按引用傳遞其實(shí)傳遞的是引用的地址值,所以統(tǒng)稱按值傳遞。
(2):在Java里面只有基本類型和按照下面這種定義方式的String是按值傳遞,其它的都是按引用傳遞。
直接使用雙引號定義字符串方式:String str = “Java私塾”;
新聞熱點(diǎn)
疑難解答
圖片精選