数组元素的反转:
数组元素的反转
- 本来的样子[1, 2, 3, 4]
- 之后的样子[4, 3, 2, 1]
- 要求不能使用新数组,就用原来的一个数组
public class Demo07ArrayReverse {
public static void main(String[] args){
int[] array ={10, 20, 30, 40, 50};
//遍历打印数组本来的样子
for(int i = 0; i < array.length; i++){
System.out.println(array[i]);
}
System.out.println("=========");
/*
* 初始化语句:int min = 0, max = array.length - 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 < array.length; i++){
System.out.println(array[i]);
}
}
}
数组可以作为方法的参数。
- 当调用方法的时候,向方法的小括号进行传参,传递进去的其实是数组的地址值。
- `public class Demo01ArrayParam {
public static void main(String[] args){
int[] array = {10, 20, 30, 40 ,50};
System.out.println(array);//地址值
printArray(array);//传递进去的就是array当中的地址值
System.out.println("=AAA==");
printArray(array);
System.out.println("=BBB==");
printArray(array);
}
/*三要素:
- 返回值类型;只是进行打印而已,不需要进行计算,也没有结果。用void
- 方法名称:printarray
- 参数列表:必须给我数组,我才能打印其中的元素。int[]array
- */
//任何数据类型都能作为方法的参数。
public static void printArray(int[] array){
System.out.println(“pintArray方法收到的参数是:”);
System.out.println(array);//地址值
for (int i = 0; i < array.length; i++){
System.out.println(array[i]);
}
}
}`
一个方法可以有0,1,多个参数;但是只能有0或者1个返回值,不能有多个返回值。
*
- 如果希望一个方法当中产生了多个结果数据进行返回,怎么办?
- 解决方案:使用一个数组作为返回值类型即可。
- 任何数据类型都能够作为方法的参数类型,或者返回值类型。
- 数组作为方法的参数,传递进去的其实是数组的地址值。
- 数组作为方法的返回值,返回的其实也是数组的地址值。
- */
public class Demo02ArrayReturn {
public static void main(String[] args){
int[] result = calculate(10, 20, 30);
System.out.println("mian方法接收到的返回值数组是");
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] = avg;//平均数
*/
int[] array = {sum, avg};
System.out.println("calculate方法内部数组是:");
System.out.println(array);//地址值
return array;
}
}