① 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]);
}
}
}
运行结果如下: