java傳遞數組
1. 在java中如何實現數組的值傳遞
num3=num3;這句代碼其實是兩個引用指向同一個數組,代表同一個數組對象。
排序之後假設所有的元素排序要發生改變,那麼數組本身是不具備記錄之前排序的狀態功能,只能備份一份原來排序的數組數據。
int temp[]=new int[num2.length];
for(int i=0;i<num2.length;i++){
temp[i]=num2[i];
}
//排序
2. java數組參數如何傳遞
int型的數據是一個常量,存在於一個常量池中,當修改池中的值時,如果產生的新值,在原池中沒有這個值,就會在池中創建一個新的。其實以上過程又創建了新的常量。
java中對於數組,是當作一個對象來看待的,你傳遞的是一個引用,也就是內存地址,在這個過程中,只存在一個對象,並沒有創建新的對象,所有修改的只是這一個對象。
以上純屬我的個人理解。
3. java中 數組可以作為形式參數傳遞到調用的方法中嗎要怎麼操作
可以,操作代碼如下:
public class ArrTest{
public static void doTest(String[] args){
for(int i=0;i<args.length;i++){
System.out.println(args[i]);
}
}
public static void main(String[] args){
String[] testArr = {"a","b","c","d"};
ArrTest.doTest(testArr );
}
}
(3)java傳遞數組擴展閱讀:
把數組作為參數傳入一個方法,在該方法中對數組進行一些操作:如果僅僅是插入數據項等一般操作,那麼該操作會影響到數組本身;反之,如調整數組大小、對數組賦值等操作,則對數組本身沒有影響。
例子:
public class Tester {<br data-filtered="filtered">
public static void counter(int count) {<br data-filtered="filtered">
count = 2;<br data-filtered="filtered">
}<br data-filtered="filtered">
<br data-filtered="filtered">
public static void changeA1(int[] ints) {<br data-filtered="filtered">
int[] temp = { 4, 5, 6 };<br data-filtered="filtered">
ints = temp;<br data-filtered="filtered">
}<br data-filtered="filtered">
<br data-filtered="filtered">
public static void changeA2(int[] ints) {<br data-filtered="filtered">
ints[0] = 4;<br data-filtered="filtered">
ints[1] = 5;<br data-filtered="filtered">
ints[2] = 6;<br data-filtered="filtered">
}<br data-filtered="filtered">
<br data-filtered="filtered">
public static void main(String[] args) {<br data-filtered="filtered">
// Output: 1<br data-filtered="filtered">
// 基本數據類型沒有改變。<br data-filtered="filtered">
int count = 1;<br data-filtered="filtered">
counter(count);<br data-filtered="filtered">
System.out.println("count: " + count);<br data-filtered="filtered">
<br data-filtered="filtered">
<br data-filtered="filtered">
int[] ints = { 1, 2, 3 };<br data-filtered="filtered">
<br data-filtered="filtered">
// Output: 1, 2, 3<br data-filtered="filtered">
// 對數組賦值,不會改變原始數組。<br data-filtered="filtered">
changeA1(ints);<br data-filtered="filtered">
for (int i = 0; i < ints.length; i++) {<br data-filtered="filtered">
System.out.print(ints[i] + " ");<br data-filtered="filtered">
}<br data-filtered="filtered">
<br data-filtered="filtered">
// Output: 4, 5, 6<br data-filtered="filtered">
// 可以對數組插入新的數據項。<br data-filtered="filtered">
System.out.println();<br data-filtered="filtered">
changeA2(ints);<br data-filtered="filtered">
for (int i = 0; i < ints.length; i++) {<br data-filtered="filtered">
System.out.print(ints[i] + " ");<br data-filtered="filtered">
}<br data-filtered="filtered">
}<br data-filtered="filtered">
}
4. java數組的傳遞
按照C的理解是傳地址。Java的說法是傳引用。
Java中基本數據類型是傳值的。如boolean,byte,char,short,int,long,float,double。
Java中引用數據類型(包括數組,包括基本類型的數組)是傳引用的。
如
int[] is = new int[]{1,2,3};
int[] is2 = is;
is2[0] = 10;
那麼is[0]也跟著變化。
5. java里數組如何作為參數傳遞給方法,以及如何在方法中返回數組
定義方法的時候可以在參數列表中定義傳入參數的類型 例如
void method( int[] a)
或者使用可變參數
void method(object…obj)
而方法的返回值在方法內使用return定義 同時方法定義中的返回值類型也要同 return後的數據類型一致
例如
public int[] method(){
//代碼塊…
return 數組名;
}
希望能幫到你