手记

整理Java基础知识--数组2

数组作为函数的参数
数组作为函数的返回值

class A{    public static int[] backarr(int[] arr){        int[] resultarr = new int[arr.length];        for (int i = 0,j=resultarr.length-1; i < arr.length; i++,j--) {            resultarr[j] = arr[i];        }        return resultarr;    }}public class TestArr2{      public static void main(String[] args){        int[] arr = {1,2,3,4,5,6,7,8,9};        for(int i:arr){            System.out.print(i + " ");        }        System.out.println(" ");        arr = A.backarr(arr);        for (int i : arr) {            System.out.print(i + " ");        }    }}输出结果:1 2 3 4 5 6 7 8 99 8 7 6 5 4 3 2 1arr数组既作为参数 又作为返回值!!!

多维数组

String str[][] =new String[3][4];理解:3行4列的矩阵
1.多维数组的初始化 格式:
type arrayName = new type[arraylength1][arraylength2];
int arr[][] =new int[3][4];
2.从最高维开始分别为每一维分配内存

Sting str[][] = new String[2[];声明二维数组str:两行 列数待定 arr[0] = new String[2];确定第一行含有2个元素arr[1] = new String[3];确定第二行含有3个元素数组结构 = {{"E1", "E2"}, {"E1", "E2", "E3"}}

Arrays 类
java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的
1.给数组赋值 通过file方法
2.对数组排序 通过sort 方法 按升序
3.比较数组 通过equals 方法比较数组中元素值是否相等
4.查找数组元素 通过binarySearch 方法能对排序好的数组进行二分查找法操作

方法说明
public static void fill(int[] a, int val)将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。
public static void sort(Object[] a)对指定对象数组根据其元素的自然顺序进行升序排列
public static boolean equals(long[] a, long[] a2)如果两个指定的 long 型数组彼此相等,则返回 true。
public static int binarySearch(Object[] a, Object key)用二分查找算法在给定数组中搜索给定值的对象
import java.util.Arrays;public class TestArr2 {    public static void output(int[] array) {        if (array != null) {            for (int i = 0; i < array.length; i++) {                System.out.print(array[i] + " ");            }        }        System.out.println();    }    public static void main(String[] args) {        int[] arr = new int[5];        Arrays.fill(arr, 5);//填充数组            TestArr2.output(arr);        Arrays.fill(arr, 2, 4, 8);// 将数组的第2和第3个元素赋值为8        TestArr2.output(arr);        int[] arr1 = { 7, 8, 3, 2, 9, 6, 1, 5, 4 };               Arrays.sort(arr1, 2, 7);// 对数组的第2个到第6个进行排序进行排序        TestArr2.output(arr1);        Arrays.sort(arr1);// 对整个数组进行排序        TestArr2.output(arr1);        System.out.println(Arrays.equals(arr, arr1));// 比较数组元素是否相等        int[] arr2 = arr1.clone();//克隆        System.out.println(Arrays.equals(arr1, arr2));        Arrays.sort(arr1);// 必须先排序好,否则会报错        System.out.println(Arrays.binarySearch(arr1, 3));//二分搜索算法查找指定元素3所在的下标        System.out.println(Arrays.binarySearch(arr1, 10));// 如果不存在就返回负数    }}输出结果:5 5 5 5 55 5 8 8 57 8 1 2 3 6 9 5 41 2 3 4 5 6 7 8 9falsetrue2-10

0人推荐
随时随地看视频
慕课网APP