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;
}就可以了