数组作为函数的参数
数组作为函数的返回值
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