java 地址传递 返回值_Java中数组的反转及作为方法的传递参数和返回地址值

1.数组元素的反转:

本来的样子:[1,2,3,4,5]

之后的样子:[5,4,3,2,1]

要求不能使用新数组,就用原来的唯——个数组。

public class ArrayReverse {

public static void main(String[] args) {

int [] array ={1,2,3,4,5};//定义一个数组

//遍历打印数组本来的样子

for(int i =0; i

System.out.println(array[i]);

}

System.out.println("----------");

/*

初始化语句:int min = 0, max = array.lenth -1

条件判断:min < max

步进表达式:min++, max--

循环体,用第三个变量倒手

*/

for (int min = 0, max = array.length -1; min < max; min++, max--){

int temp = array[min];

array[min] = array[max];

array[max] = temp;/*从这里我们可以看到,第一行的结尾

到第二行就变成第二行的开头了,以下皆是,可以理解为数组的反转*/

}

//再次打印输出数组后来的样子。

for(int i =0; i

System.out.println(array[i]);

}

}

}

2.数组作为方法的传递参数

数组可以作为方法的参数。

当调用方法的时候,向方法的小括号进行传参,传递进去的其实是数组的地址值。

public class ArrayParam {

public static void main(String[] args) {

int[] array = {1,2,3,4,5};

System.out.println(array); //地址值

printArray(array);//传递进去的就是array当中保持的地址值

System.out.println("------------");

printArray(array);

System.out.println("============");

printArray(array);

/* for(int i =0; i

System.out.println(array[i]);

}

System.out.println("AAA");

for(int i =0; i

System.out.println(array[i]);

}

System.out.println("BBB");

for(int i =0; i

System.out.println(array[i]);

}*/

}

/*三要素

返回值类型:只是进行打印而已,不需要进行计算,也没有结果,用void

方法名称: printArray

参数列表:必须给我数组,我才能打印其中的元素。int[] array

*/

//以下是以上注释的简写

public static void printArray(int[] array) {

System.out.println("printArray方法收到的参数是:");

System.out.println(array);//地址值

for(int i=0; i

System.out.println(array[i]);

}

}

}

3.数组作为方法的返回地址

一个方法可以有0、1、多个参数;但是只能有e或者1个返回值,不能有多个返回值。

如果希望一个方法当中产生了多个结果数据进行返回,怎么办?

解决方案:使用一个数组作为返回值类型即可。

任何数据类型都能作为方法的参数类型,或者返回值类型。

数组作为方法的参数,传递进去的其实是数组的地址值。

数组作为方法的返回值,返回的其实也是数组的地址值。

public class ArrayReturn {

public static void main(String[] args) {

int[] result = calculate(11,22,33); //result接收

System.out.println("main方法接收到的返回值数组是:");

System.out.println(result); //地址值

System.out.println("总和:" + result[0]);

System.out.println("平均数:" + result[1]);

}

public static int[] calculate(int a,int b, int c){ /*方法的调用,记住,

一定要先写下面的再写上面的,对于方法来说*/

int sum = a+b+c;//总和

int avg = sum/3; //平均值

//两个结果都希望进行返回

//需要一个数组,也就是一个塑料袋,数组可用来保存多个结果

/*int[] array = new int [2];

array[0] = sum; //总和

array[1] = array;//平均数*/

int[] array = {sum,avg};

System.out.println("calculate方法内部数组是:");

System.out.println(array); //地址值

return array;

}

}

方法、数组、调用。。。。。这些有很多,要多多练习才不会忘记,要好好学习了。

本文分享 CSDN - 康贤。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值