JAVA复习(3)—数组

一.创建一维数组:数组元素类型[] 数组名字;
eg:int[] a; 声明int型数组,数组中的每个元素都是int型数值
String[] str[];声明String型数组,数组中的每个元素都是String型数值
声明数组后,不能立即访问他的元素,因为声明数组只是给出了数组名字和元素的数据类型,要想真正的使用数组,还要为他分配内存空间。在为数组分配内存空间时必须指明数组的长度,为数组分配内存空间的语法格式如下:
数组名字=new 数组元素的类型{数组元素的个数};

二.声明的同时为数组分配内存
数组元素类型 数组名=new 数组元素的类型[数组元素的个数];
int[] a=new int[5];

三.初始化一维数组
静态初始化一维数组: int[] array={100,111,222};
动态初始化一维数组:int [] array=new int[]{11,111,1111};

      //动态初始化
        int[] array1=new int[]{
    
    11,111,1111};
        //遍历数组
        for(int i=0;i<array1.length;i++){
    
    
            System.out.print(array1[i]+" ");
        }
        //静态初始化
        int[] array2={
    
    22,222,2222};
        for(int i=0;i<array2.length;i++){
    
    
        System.out.print(array2[i]+" ");
    

四.二维数组的创建
数组元素类型[][] 数组名字;

为二维数分配内存空间: int array=new int[3][4]

二维数组的静态初始化:
int[][] array1={ {1,1,1},{2,2,2},{3,3,3}};
动态初始化
int[][] array2=new int[3][4]

   int[][] array3={
    
    {
    
    1,1,1},
                {
    
    2,2,2},
                {
    
    3,3,3},
                {
    
    4,4,4,4,4}};
        for(int i=0;i<array3.length;i++){
    
    
            for(int j=0;j<array3[i].length;j++){
    
    
                System.out.println(array3[i][j]);
            }

五.填充替换数组元素
(1)fill(int[] a, int value):该方法可将指定的int值分配给int类型数组的每个元素

  int[] array=new int[]{
    
    2,3,4,5,6,7};
        Arrays.fill(array,24);
        for(int i=0;i<array.length;i++){
    
    
            System.out.print(array[i]+" ");
            }//24 24 24 24 24 24

(2)fill(int[] a, int fromIndex,int toIndex,int value):该方法将指定的int值分配给int型数组指定范围中的每个元素,填充的范围从 fromIndex(包括)一直到toIndex(不包括),如果fromIndex=toIndex,则填充范围为空

 int[] array=new int[]{
    
    2,3,4,5,6,7,23,566};
        Arrays.fill(array,3,6,12);
        for(int i=0;i<array.length;i++){
    
    
            System.out.print(array[i]+" ");
        }//2 3 4 12 12 12 23 566 

六.复制数组
(1)arraycopy(Object src, int srcPos,Object dest, int destPos,int length)

 int[] array=new int[]{
    
    2,3,4,5,6,7,23,566};
        int[] array1=new int[15];
        System.arraycopy(array,2,array1,1,5);
        for(int i=0;i<array.length;i++){
    
    
            System.out.print(array1[i]+" ");
        }//0 4 5 6 7 23 0 0 

七.数组查询
(1)binarySearch(Object[] a,Object key)
a:要搜索的数组
key:要搜索的数值

 int[] array = new int[]{
    
    2, 3, 4, 5, 6, 7, 23, 566};
        int x=Arrays.binarySearch(array, 23);
        System.out.println(x);//6

(2):binarySearch(Object[] a, int fromlndex,int tolndex,Object key):在指定的范围内检索某一元素

   int[] array = new int[]{
    
    2, 3, 4, 5, 6, 7, 23, 566};
        int x=Arrays.binarySearch(array, 2,7,23);
        System.out.println(x);

八.数组排序
Arrays.sort(Object)

  int[] array = new int[]{
    
    23,24,5,1,234,56,43,56,100};
    Arrays.sort(array);
       for(int i=0;i<array.length;i++){
    
    
           System.out.print(array[i]+" ");
       }//1 5 23 24 43 56 56 100 234 

猜你喜欢

转载自blog.csdn.net/pcybb/article/details/109802533