java數組傳遞
⑴ java數組參數如何傳遞
int型的數據是一個常量,存在於一個常量池中,當修改池中的值時,如果產生的新值,在原池中沒有這個值,就會在池中創建一個新的。其實以上過程又創建了新的常量。
java中對於數組,是當作一個對象來看待的,你傳遞的是一個引用,也就是內存地址,在這個過程中,只存在一個對象,並沒有創建新的對象,所有修改的只是這一個對象。
以上純屬我的個人理解。
⑵ Java中set方法傳遞一個數組,用get方法怎麼獲取數組中的內容
package test2;
import java.util.Arrays;
public class test2_test6 {
int[] i;
void setI(int[] i) {
this.i = i;
}
//兩種方法
//第一種,直接列印數組
String getI_value1() {
return Arrays.toString(i);
}
//第二種,循環遍歷
String getI_value2() {
StringBuilder s = new StringBuilder();
for (int i_value : i) {
s.append(i_value);
s.append(" ");
}
return s.toString();
}
public static void main(String[] args) {
int[] Array = {1, 2, 3, 4, 5};
test2_test6 t2_t6 = new test2_test6();
t2_t6.setI(Array);
System.out.println("第一種方法獲取值:");
System.out.println(t2_t6.getI_value1());
System.out.println("第二種方法獲取值:");
System.out.println(t2_t6.getI_value2());
}
}
⑶ 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">
}
⑷ java里數組如何作為參數傳遞給方法,以及如何在方法中返回數組
定義方法的時候可以在參數列表中定義傳入參數的類型 例如
void method( int[] a)
或者使用可變參數
void method(object…obj)
而方法的返回值在方法內使用return定義 同時方法定義中的返回值類型也要同 return後的數據類型一致
例如
public int[] method(){
//代碼塊…
return 數組名;
}
希望能幫到你
⑸ java傳遞int數組到c++
你用哪種方法在java/c++之間通信得?服務介面,JNI?
⑹ 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]);
}
}
}
運行結果如下:
⑺ java傳遞數組:為什麼傳遞數組能通過傳遞一個數組給另一個方法並修改值後,能得到一個不一樣數組
這屬於傳值傳引用問題
首先一個問題 String str="1";這句話到底做了些什麼事情?
String str聲明一個變數str
"1"劃分一個值為"1"的內存空間
=號,使用變數str引用該內存空間。
理解了這個,再來看你的第二個例子:
int z=9
我們用->來表示「引用」關系
此時z->9,沒錯吧?
fun(z)將z的引用傳遞給該方法,參數為Int x
則,z->9,且x->9
然後x=10則是進行這一步:x->10
此時z的引用並沒有改變啊
所以 z還是保持9
再來看第一個例子
int[],在內存里並不存在這么一塊單獨的空間用於存放數組
它的做法是,劃分出和數組等量的空間出來,然後使用一個int[]歸納全部的空間
於是
你對int[]的傳遞fun(temp)其實是傳遞這個int[]引用
然後 取出來的int[0]自然是temp[0]
你對x[0]的操作x[0]=6並不是把x[0]原來引用的空間裡面的值替換成了6
而是x[0]不再引用1,轉而引用6
所以 你可以看到值發生了改變
⑻ 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程序中數組傳遞給參數的問題,【代碼1】【代碼2】如何填寫!
占個位置。。。。
希望選我為最佳答案,謝謝!!!
可根據提示,將對應內容填入即可
第一個地方:computer調用average(double x[])方法,將數組a傳遞給參數x
填入:computer.average(a);
第二個地方:computer調用average(double x[])方法,將數組b傳遞給參數x
填入:computer.average(b);
說明:
就是調用類下的方法,傳入說明的中參數,就可以返回需要的值!
⑽ JAVA函數傳遞數組
Students類加一個Student[]類型的屬性和構造函數
Student[] stus;
Students(Student[] stus)
{
this.stus = stus;
}就可以了