導航:首頁 > 編程語言 > java形參的傳遞

java形參的傳遞

發布時間:2023-08-03 09:29:09

『壹』 java 方法 傳參

在定義方法的時候,方法的參數叫形參(形式參數),在調用方法的時候,給方內法傳遞的參容數叫實參(實際參數),你的寫法有問題,在調用abc方法的時候,可以直接把45寫在方法後面(直接寫45需要類型轉換,否則報錯),也可以把45先賦值給一個變數,然後把變數當成參數傳給abc方法,不能又寫變數名,又寫45啊,標准寫法如下:
byte a=45;
abc(a);//或者是abc((byte)45)
public static void abc(byte a){
}

『貳』 java 類之間數值的傳遞

Java語言中方法間的數據傳遞方法
方法是數據加工處理或相應操作的基本模塊,為了實現某種需求而調用一個方法,需要為被調用的方法傳遞數據,以便於被調用的方法依據所提供的數據進行相應的操作。
C++語言的函數間的數據傳遞可以分為:數值傳遞、地址傳遞和引用傳遞。地址傳遞的形參是同類型的指針,由於指針操作的不安全等問題,Java語言屏棄了指針,故Java語言方法之間的數據傳遞只有數值傳遞和引用傳遞。
1方法間的數值傳遞
所謂的數值傳遞又稱為值傳遞,數值傳遞的特徵是:調用方法的實參可以是常量、變數或者是表達式,形參則是對應數據類型的變數。如果實參是變數,則實參
和形參是相互獨立的兩個單元。在方法調用的過程中,實參的值將拷貝到形參中,此後形參的任何修改都不會影響實參。數值傳遞方法見例1。
[例1]數值傳遞調用方法舉例:
importjava.io.*;
public class ValueTransmit
{publicstatic void main(Stringargs[])
{intx=5,y=66;
System.out.println(「在主方法,交換前的:x=」+x+「,y=」+y);
swap(x,y);
System.out.println(「在主方法,交換後的:x=」+x+「,y=」+y);
}
static voidswap(int x,int y)
{int temp;
System.out.println(「在swap方法未交換時:x=」+x+「,y=」+y);
temp=x;x=y;y=temp;
System.out.println(「在swap方法交換之後:x=」+x+「,y=」+y);
}
}
例1程序的輸出結果如下所示:
在主方法, 交換前的:x=5,y=66
在swap方法未交換時:x=5,y=66
在swap方法交換之後:x=66,y=5
在主方法, 交換前的:x=5,y=66
在例1程序中,方法調用的「swap(x,y);」中的實在參數x,y是兩個單元,而形式參數中的x,y又是兩個單元,它們是互相獨立的。所以,對形式參數的改變並不影響實在參數的內容;程序的運行結果也驗證上述觀點。

2方法間的引用傳遞
方法之間的數據傳遞還有一種方法,就是引用傳遞。引用傳遞的實質就是將實在參數的地址傳遞給形式參數引用,也就是形式參數是實在參數的別名。

『叄』 java 參數傳遞問題

Java的參數傳遞總結:

JAVA的參數傳遞總是傳"值",但是傳值方式也分為兩種方式,它們是靠傳遞參數的類型區分的。這兩種類型分別為JAVA的基礎類型和Object(對象)類型;基礎類型包括boolean,byte,short,char,int,long,float,double,而Object就是對象,如數組.在參數為基礎類型時,見代碼:
public class A{
public static void main(String arg[]){
int a=3;
method1(a);
System.out.println(a);
}
public static void method1(int a){
a=4;
}
}
此時結果的輸出將是1,而且只要你的值在Main函數中沒變,a的值不管怎麼傳都不回變,這是因為a是傳值,而這個"值"是a的一個拷貝,a的值在傳遞後的改變只是改變了a的拷貝的內容,並沒有改變真正的a的值;對於參數為對象
public class A{ public class A{
public static void main(String arg[]){ public static void main(String arg[]){
int[] a=new int[1]; int[] a=new int[1];
a[0]=3; a[0]=3;
method1(a); method1(a);
System.out.println(a[0]); System.out.println(a[0]);
} }
public static void method1(int[] a){ public static void method1(int[] a){
a[0]--; a=new int[0];
} a[0]=4;
} }
}
左邊的結果將是2,右邊的結果將是3(未變),原因是:在傳遞的參數為對象時,這個傳遞的"值"中放的內容實際上是對向所在的地址,左邊的情況是指針定位到對象的地址後,在上面把內容給改了,所以數組的值後會改變,而右邊的情況為給對象新分配了一個指針到新的地址上面去,所以所有的操作都在新的地址上面,並不會影響原來的值。註:對於String,Interger,Boolean,Double等的系統對象,它們雖然是Object,但是任何方式的傳遞參數的值得改變並不會影響原來的值。

『肆』 java中參數傳遞是形參傳遞給實參的嗎和方法調用有什麼聯系謝謝各位

1.形參變數只有在被調用時才分配內存單元,在調用結束時, 即刻釋放所分配的內存單元。因此,形參只有在函數內部有效。 函數調用結束返回主調函數後則不能再使用該形參變數。

2.實參可以是常量、變數、表達式、函數等, 無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應預先用賦值,輸入等辦法使實參獲得確定值。

3.實參和形參在數量上,類型上,順序上應嚴格一致, 否則會發生「類型不匹配」的錯誤。

4.函數調用中發生的數據傳送是單向的。 即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。
5.當參數為基礎數據類型時:實參傳遞給形參的是值(包括String類型)形參在函數內值的變化不會影響實參
6.當參數為對象是:實參傳遞給形參的是堆棧地址,形參在函數內的修改會影響實參的修改

閱讀全文

與java形參的傳遞相關的資料

熱點內容
mp3文件多少位元組 瀏覽:261
哪個飾品批發網站好 瀏覽:944
ef資料庫備注 瀏覽:824
iae的配置文件 瀏覽:454
簡單九宮格密碼 瀏覽:89
word2010表格調整行距 瀏覽:960
cad只顯示保存一個plt文件 瀏覽:500
街頭籃球新版本技能兌換券 瀏覽:849
家庭如何做好網路營銷 瀏覽:465
如何設置胎壓監測數據 瀏覽:530
降噪工具 瀏覽:692
obs編程是什麼意思 瀏覽:859
怎麼看c4d打開了多少個文件 瀏覽:792
蘋果銀河高清壁紙 瀏覽:811
怎麼從蘋果電腦垃圾桶找迴文件 瀏覽:771
介面文件不能用action寫嗎 瀏覽:85
svn代碼提交規范 瀏覽:642
在宣讀多少號文件時怎麼讀數字 瀏覽:921
網站中的區域網訪問量是什麼意思 瀏覽:397
蘋果啟動助理識別不到鏡像文件 瀏覽:670

友情鏈接