package com.java.test;
import java.util.Arrays; import java.util.Scanner; public class Array { //数组是对象 public static void main(String [] args) { int []a=new int [10]; int[]b=new int[5]; int[]c=new int[10]; int[]d=new int[10]; //数组的常见方法有arraycopy,fill,sort,binarySearch,equals Arrays.fill(d,5); Arrays.sort(d); int e=Arrays.binarySearch(d, 5); System.out.println(Arrays.equals(a, c)); //声明数组的另外俩种方法如下: //int []a=new int[]{0,1,2,3,4,5,6,7,8,9} //int []a={0,1,2,3,4,5,6,7,8,9} for(int i=0;i<10;i++) a[i]=i;//给数组赋值 //如何将一个数组拷贝到另外一个数组方法 //方法之一是c=a,但是这样c的c和a引用同一个对象,所以c改变的话就会导致a数组也会改变。 //方法之二是将a依次读出,依次赋值给数组c //方法之三是arraycopy(原数组,从原数组的第几个位置开始,目标数组,从目标数组的第几个位置开始放置,拷贝几个) System.arraycopy(a, 0, c, 0, 10); for(int element:c) System.out.println(element); //还可以将用户输入的值赋值给数组 Scanner scan=new Scanner(System.in); for(int i=0;i<5;i++) { System.out.println("请输入第"+i+"个数,该数将为数组第"+i+"个位置赋值"); int score=scan.nextInt(); b[i]=score; } for(int element:b) System.out.print(element); System.out.println("下面用for循环方法遍历整个数组输出"); for(int i=0;i<a.length;i++) System.out.print(a[i]); System.out.println("foreach语法遍历数组并输出,好处是不用考虑数组索引问题"); for(int element:a)//foreach 语法遍历整个数组并输出 System.out.print(element); System.out.println("下面是Arrays.toString方法遍历整个数组并输出,它将返回包含数组元素的字符串"); String s=Arrays.toString(a); System.out.print(s); //下面关于二维数组 int [][] arr={ {1,2,3,4},{2,3,4,5},{5,6}}; //通过for循环遍历整个二维数组,注意arr.length属性指的是数组的行数,而由于二维数组的不规则性,列数可能 //不唯一,所以列数的范围只能是取得某行,然后在确定列数,即arr[i].length for(int i=0;i<arr.length;i++) { for(int j=0;j<arr[i].length;j++) System.out.print(arr[i][j]); } }