① java數組參數如何傳遞
int型的數據是一個常量,存在於一個常量池中,當修改池中的值時,如果產生的新值,在原池中沒有這個值,就會在池中創建一個新的。其實以上過程又創建了新的常量。
java中對於數組,是當作一個對象來看待的,你傳遞的是一個引用,也就是內存地址,在這個過程中,只存在一個對象,並沒有創建新的對象,所有修改的只是這一個對象。
以上純屬我的個人理解。
② 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]也跟著變化。
③ java里數組如何作為參數傳遞給方法,以及如何在方法中返回數組
定義方法的時候可以在參數列表中定義傳入參數的類型 例如
void method( int[] a)
或者使用可變參數
void method(object…obj)
而方法的返回值在方法內使用return定義 同時方法定義中的返回值類型也要同 return後的數據類型一致
例如
public int[] method(){
//代碼塊…
return 數組名;
}
希望能幫到你
④ Java的數組作為參數傳入方法和C語言的不同
首先,數組名不是指針,只不過作為參數或返回值時會退化為指針,其次,java 使用值傳參(pass_by_value)的方式來傳遞函數參數,只是值傳遞方式在處理原始數據類型參數與引用類型參數時候有不同,如果一個參數是原始數據類型,那麼參數變數的值傳遞進去,如果要修改,需要傳遞引用類型
⑤ 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 );
}
}
把數組作為參數傳入一個方法,在該方法中對數組進行一些操作:如果僅僅是插入數據項等一般操作,那麼該操作會影響到數組本身;反之,如調整數組大小、對數組賦值等操作,則對數組本身沒有影響。
例子:
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">
}
⑥ java數組 方法參數傳遞問題
其實程序設計語言里函數傳遞參數的方式只有一種:按值傳遞,只是有的是傳遞的數值,有的是傳遞的地址值,所謂的地址傳遞、引用傳遞只是地址傳遞的一種說法。理解了這個就很好理解為啥沒有完成真正的數組元素值得交換了。函數參數傳遞值是是拷貝原值,方法退出後就失效了,你在fun方法里輸出b肯定也是4 4 4,main方法b=a是直接修改了原始變數指向的地址值,所以會變。
⑦ java中數組之間的傳值
java中數組之間的傳值,可以使用for循環語句根據下標分別進行賦值,實例如下:
packagecom.qiu.lin.he;
publicclassCeShi{
publicstaticvoidmain(String[]args){
int[]i=newint[]{1,2,3};//第一個int數組
int[]j=newint[3];//等待賦值的第二個int數組
for(intk=0;k<3;k++){
j[k]=i[k];//進行數組之間賦值
System.out.println("數組之間賦值"+j[k]);
}
}
}
運行結果如下: