java JAVA中實(shí)參和形參的區(qū)別?
JAVA中實(shí)參和形參的區(qū)別?形式參數(shù)與實(shí)際參數(shù)的區(qū)別在于:形式參數(shù)出現(xiàn)在函數(shù)定義中,可以在整個函數(shù)體中使用,但不能沒有函數(shù)就使用。參數(shù)出現(xiàn)在main函數(shù)中。進(jìn)入被調(diào)用函數(shù)后,不能使用參數(shù)變量。形式參數(shù)
JAVA中實(shí)參和形參的區(qū)別?
形式參數(shù)與實(shí)際參數(shù)的區(qū)別在于:形式參數(shù)出現(xiàn)在函數(shù)定義中,可以在整個函數(shù)體中使用,但不能沒有函數(shù)就使用。參數(shù)出現(xiàn)在main函數(shù)中。進(jìn)入被調(diào)用函數(shù)后,不能使用參數(shù)變量。形式參數(shù)和實(shí)際參數(shù)的作用是傳遞數(shù)據(jù)。當(dāng)函數(shù)調(diào)用發(fā)生時,主函數(shù)將實(shí)際參數(shù)的值轉(zhuǎn)換為被調(diào)用函數(shù)的形式參數(shù),從而實(shí)現(xiàn)從主函數(shù)到被調(diào)用函數(shù)的數(shù)據(jù)傳輸。
1. 參數(shù)變量僅在被調(diào)用時分配內(nèi)存單元。在調(diào)用結(jié)束時,立即釋放分配的內(nèi)存單元。因此,形式參數(shù)僅在函數(shù)內(nèi)部有效。函數(shù)調(diào)用結(jié)束并返回主調(diào)用函數(shù)后,形式參數(shù)變量就不能再使用了。
2. 實(shí)際參數(shù)可以是常量、變量、表達(dá)式、函數(shù)等。無論實(shí)際參數(shù)是什么類型的量,在調(diào)用時都必須有特定的值,以便將這些值轉(zhuǎn)換為形式參數(shù)。因此,我們應(yīng)該事先采用賦值、輸入等方法,得到實(shí)際參數(shù)的定值。
3. 實(shí)際參數(shù)和形式參數(shù)的個數(shù)、類型和順序應(yīng)嚴(yán)格一致,否則會出現(xiàn)“類型不匹配”的錯誤。
4. 函數(shù)調(diào)用中的數(shù)據(jù)傳輸是單向的。也就是說,只能將參數(shù)的值傳遞給形參,但不能將形參的值傳遞回參數(shù)。因此,在函數(shù)調(diào)用過程中,形式參數(shù)的值會發(fā)生變化,而實(shí)際參數(shù)的值不會發(fā)生變化。
5. 當(dāng)形式參數(shù)和實(shí)際參數(shù)不是指針類型時,它們在函數(shù)運(yùn)行時是不同的變量,并且位于內(nèi)存中的不同位置。形式參數(shù)復(fù)制實(shí)際參數(shù)的內(nèi)容。函數(shù)結(jié)束時,形式參數(shù)被釋放,但實(shí)際參數(shù)的內(nèi)容不會改變。如果函數(shù)的參數(shù)是指針型變量,則在調(diào)用函數(shù)的過程中,實(shí)際參數(shù)的地址傳遞給函數(shù),實(shí)際參數(shù)的地址也在函數(shù)體內(nèi)部使用,即使用實(shí)際參數(shù)本身。因此可以在函數(shù)體中更改參數(shù)的值。