数组元素反转与数组作为方法参数_传递地址

数组反转  
  数组的反转: 数组中的元素颠倒顺序,例如原始数组为1,2,3,4,5,反转后的数组为5,4,3,2,1
  实现思想:数组最远端的元素互换位置。
  实现反转,就需要将数组最远端元素位置交换
  定义两个变量,保存数组的最小索引和最大索引
  两个索引上的元素交换位置
  最小索引++,最大索引--,再次交换位置
  最小索引超过了最大索引,数组反转操作结束

 

 

public static void main(String[] args) {
 int[] arr = { 1, 2, 3, 4, 5 };
 /*循环中定义变量min=0最小索引 max=arr.length‐1最大索引 min++,max‐‐ */ 
for (int min = 0, max = arr.length ‐ 1; min <= max; min++, max‐‐) { 
//利用第三方变量完成数组中的元素交换 
int temp = arr[min];
 arr[min] = arr[max];
 arr[max] = temp; }
// 反转后,遍历数组 
for (int i = 0; i < arr.length; i++) {
 System.out.println(arr[i]);
     }
 }

 

 

/*
数组元素的反转
    本来的样子:【1,2,3,4】
    之后的样子:【4,3,2,1】
    要求不能使用新数组,就用原来的唯一一个数组
 */
public class day05 {
    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 day06 {
    public static void main(String[] args) {
            int[] arr ={1,3,5,7,9};
            printArray(arr);

    }
    public static void printArray(int[] arr){
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}

 

/*
三要素
返回值类型:只是进行打印而已,不需要进行计算,也没有结果,
方法名称:printArray
参数列表:必须给我数组,我才能打印其中的元素。int[ ] array

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

 */
public class day07 {
    public static void main(String[] args) {
        int[] array={10,20,30,40,50};
        System.out.println(array);
        printArray(array);
        System.out.println("****aaa*****");
        printArray(array);
        System.out.println("****bbb*****");
        printArray(array);
    }
    public static void printArray(int[] array){
        for (int i = 0; i < array.length; i++) {
            System.out.println(array[i]);
        }
    }
}

 

 

 

 

posted @ 2022-06-29 20:38  zj勇敢飞,xx永相随  阅读(105)  评论(0编辑  收藏  举报