nxmxx / blog

记录我的学习路程和我的进步
1 stars 0 forks source link

亚信day5 数组相关 #9

Open nxmxx opened 4 years ago

nxmxx commented 4 years ago
慢慢了解到工作的职责,可控范围之内,期望以下。不过也能学到很多东西,会在开发完成后的角度去考虑后端开发相关问题。是个不错的思路。

1.arrayLengthFetch package cn.javase.video.study.Array;

/*arrayLengthFetch(获取数组的长度)

// 1.获取数组长度 int[] array1 = new int[3]; int len = array1.length; System.out.println("数组的长度是" + len); System.out.println("===================================");

// 2.注意事项 // 数组一但创建,程序运行 期间长度不可改变;但以下情况并不是在程序运行期间更改 数组长度, // 首先在堆中new一个长度为三的地址值唯一的数组,其次是使用相同变量名在堆中new一个新的长度为 // 5地址值唯一的新数组。两数组相互独立,并不属于在程序运行期间修改数组长度。 int []array2 =new int[3];//首先 System.out.println(array2.length);

    array2=new int[5];//其次
    System.out.println(array2.length);
}

} 不是在程序执行时改变数组长度的情况图 2.ArrayTraverse(数组遍历) package cn.javase.video.study.Array; /*Arraytraverse(数组的遍历)

3.数组最值 数组最大值 package cn.javase.video.study.Array; //找出数组中的最大值 public class ArrayMax { public static void main(String[] args) {

    int [] array2 = new int[]{1,2,42,444,566};

    int max =array2[0];
    for (int i = 1; i < array2.length; i++) {//使用for循环进行两两对比,哪个大就将哪个值赋给变量max
        if (array2[i]>max)//定义max时将array2的第一个数据赋予它,所以for循环从数组第二个数据开始,也就是i=1。
        {                 //
            max =array2[i];
        }
    }
    System.out.println("ArrayMaxnum:"+max);
}

} 数组最小值 package cn.javase.video.study.Array;

public class Arraymin { public static void main(String[] args) { int [] array2 = new int[]{1,2,42,444,566};

    int min =array2[0];
    for (int i = 1; i < array2.length; i++) {//使用for循环进行两两对比,哪个大就将哪个值赋给变量max
        if (array2[i]<min)//定义max时将array2的第一个数据赋予它,所以for循环从数组第二个数据开始,也就是i=1。
        {                 //
            min =array2[i];
        }
    }
    System.out.println("ArrayMaxnum:"+min);
}

}

4.数组反转

package cn.javase.video.study.Array;

//ArrayInversion(数组反转) //要求:不能使用新数组 public class ArrayInversion { public static void main(String[] args) { int[] array1 = new int[]{1, 22, 344, 567, 887};

// 遍历未反转的数组并打印 for (int i = 0; i < array1.length; i++) { System.out.println("Array Inversion result:"+array1[i]); } System.out.println("--------------------------"); // 反转数组后遍历打印 /初始化语句:int min=0,max=array1.length-1; 条件判断:min<max;

5.数组作为参数传递 package cn.javase.video.study.Array; //数组作为方法参数,调用数组反转的方法 public class ArrayInversionshuzuweicanshu { public static void main(String[] args) { int[] array1 = new int[]{1, 22, 344, 567, 87}; arrayInversion(array1);//调用反转数组的方法,数组名array1为参数。 }

public static void arrayInversion(int[] array1) {//数组为此方法的参数

// 该方法是将数组的元素反转,并打印,所以不用返回值,直接调用即可。 for (int min = 0, max = array1.length - 1; min < max; min++, max--) { int temp = array1[min]; array1[min] = array1[max]; array1[max] = temp; } for (int i = 0; i < array1.length; i++) { System.out.println("Array Inversion result:" + array1[i]); }

}

}

3