1. java的參數傳遞是值傳遞還是引用傳遞
測試下就知道了
publicstaticvoidmain(String[]args){
inta=1;
Stringstr="abc";
changeValue(a,str);
System.out.println(a);
System.out.println(str);
}
privatestaticvoidchangeValue(inta,Stringstr){
a=2;
str="123";
}
結果:
1
abc
所以是值傳遞
(如果是引用的類,然後又set、get方法就另當別論了)
2. java中的參數(對象)是怎樣傳遞的
按值傳遞,對象類型參數傳遞的是對象的引用值。
3. java中數組是怎麼作為函數參數進行傳遞的
舉個例子和你說。
傳遞數組參數:
1. 傳遞數組
要傳遞數組到方法里,只要指明傳入的參數是一個數組即可。
例:
public class ArrayDemo //定義主類
{
public static void main(String args[])
{
int a[]={8,23,7,6,9,23}; //定義一維數組
ArrayDemo min=new ArrayDemo (); //創建對象
min.arrayMin(a); //將一維數組a傳入least()方法
}
public void arrayMin(int array[]) //參數array[]接受一維整形數組
{
int temp=array[0];
for(int i=0;i<array.length;i++)
if(temp>array[i])
temp=array[i];
System.out.println("最小的數為:"+temp);
}
}
從該例中可以看出,如果要將數組傳遞到方法里,只需在方法名後的括弧內寫上數組的名即可。二維數組的傳遞與一維數組相似,在需在方法里聲明傳入的參數是一個二維數組。
4. java 怎麼傳遞參數
傳對象,之後通過反射,getClass()獲得對應的類,具體代碼如下
Class<?>type=object.getClass();
Method method=type.getMethod("getId",null);//getId為getId()方法
Object id=method.invoke(object,null);
5. java 中 如何通過命令行來傳遞參數
可以在命令行運行java程序時加上程序的參數。
例子如下:
public class HelloWorld{
public static void main(String args[]){
System.out.println("temp=" + args[0]);
}
}
源代碼截圖:
解釋一下: String[ ] args
該參數,是一個字元串數組,用來接收從命令行輸入的參數
1. 參數之間用空格隔開
2. java解釋器會自動處理,把用空格隔開的每一個參數通過args數組傳遞給買呢()方法。
3. 參數的下標從0開始,args[0]表示第一個參數,例如java HelloWorld 10 20 30
4.可以有多個空格,多個空格會被忽略。
(5)java中傳遞參數擴展閱讀:
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。
Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等 。
6. 在java中傳遞參數的方法有幾種做簡要的說明
傳遞參數的方法分為兩種:
1.值傳遞
2.引用傳遞
7. java 參數傳遞問題
這是java方法參數傳遞的機制
前面那個圖傳遞的是值的副本,無論在方法內部怎麼變換,改變的只是它的副本,而它本身在main方法中並沒有發生任何變化。所以不會交換。
而數組,參數傳遞的是引用的副本。就是說棧里存放的是一個引用,這個引用指向堆里的數組數據。而方法傳遞就傳遞這個引用的副本,這個副本一樣指向堆里的數組的數據。
在方法中按照引用的副本查找到數組並把它的數據交換了,直接對堆中的數據做了變化。所以出了這個方法,在原引用指向的堆內的數據已經發生了變化。
8. java 方法 傳參
在定義方法的時候,方法的參數叫形參(形式參數),在調用方法的時候,給方法傳遞的參數叫實參(實際參數),你的寫法有問題,在調用abc方法的時候,可以直接把45寫在方法後面(直接寫45需要類型轉換,否則報錯),也可以把45先賦值給一個變數,然後把變數當成參數傳給abc方法,不能又寫變數名,又寫45啊,標准寫法如下:
byte a=45;
abc(a);//或者是abc((byte)45)
public static void abc(byte a){
}