首页 > 代码库 > java基础中的一维数组和二维数组

java基础中的一维数组和二维数组

1.数组:具有相同数据类型的一组数据的集合。

一维数组

2.创建一维数组

   a.数组作为对象允许使用new关键字进行内存分配,使用数组之前,必须首先定义数组变量所属类型,即声明数组。

   声明数组:

    语法:数组元素类型   数组名字[];

            数组元素类型[]  数组名字;

  注释:数组元素类型:决定了数组的数据类型,包括基本数据类型和费基本数据类型。

          数组名字:为一个合法的标识符,自己去定义

          []:指明该变量是一个数组类型变量,单个"[]"表示要创建的是一维数组。

例如:int arr[];

        String[] arr;

注意:a.声明数组之后还不能进行访问他的任何元素,因为声明数组只是给出了数组的名字和元素的数据类型。

       b.真正使用数组还要为其分配内存空间,且分配内存空间时必须指明数组的长度。

分配内存空间:

语法:数组名字=new 数组元素类型[数组元素的个数];

注释:数组名字:已经声明的数组变量的名称;

        new:对数组分配空间的关键字

        数组元素的个数:指定数组中变量的个数,即数组的长度。

例如:arr=new int[5];

注意:a.在内存空间中数组的下标是从0开始的。

        b.使用new关键字为数组分配内存时,数组中的各个元素都为0.  

           int型数组初始值为:0   boolean型初始值为:false   char型初始值为:“\0”

声明数组和分配内存可以同时执行

语法:数组类型  数组名[] =new  数组元素类型[数组元素的个数]

例如:int  day[]=new int[30];     //创造了一个一维数组day,制定了数组长度是30.

注意:无论哪种方法声明数组,前面的中括号都不可以填写内容。

初始化数组

数组初始化的方式是:把数据类型包括在大括号之内,中间用逗号分开数组元素的值,系统自己为数组分配一定的空间。

例如:int arr []=new int[] {1,2,3,4,5,6};

        int arr []={1,2,3,4,5,6};

注意:初始化数组时可以省略new运算符和数组的长度。

 

二维数组

二维数组:如果一维数组中的各个元素仍然是一维数组,那么它就是一个二维数组。

二维数组的创建

语法:   数组元素类型   数组名字[][];

            数组元素类型[][]  数组名字;

  注释:数组元素类型:决定了数组的数据类型,包括基本数据类型和费基本数据类型。

          数组名字:为一个合法的标识符,自己去定义

           符号[]:[]:指明该变量是一个数组类型变量,两个"[][]"表示要创建的是二维数组。

注意:与一维数组一样,如果二维数组在声明时没有分配内存空间,同样也要使用new关键字类分配内存空间,然后才可以访问各个元素。

分配内存空间:

语法:数组元素类型 数组名字=new 数组元素类型[数组元素的个数][数组元素的个数];

注释:第一个中括号的数字是一维数组的个数,第二个中括号的数字是这些一维数组的长度。

例如:int a[][]=new int[2][4]   //分配后的a拥有两个长度是4的一维数组。

二维数组的初始化:

语法:type b[][]={value1,value2,value3,value4,value5...}

注释:type:数组数据类型

           b:   数组名称,一个合法的标识符

         valuen:数组中各元素的值  

例如:int myArr[][]={{12,10},{1,2,3}};   // myArr[1][2]=3

 

对数组进行排序:通过Arrays类的静态sorts()方法可以实现对数组进行排序。

语法:Arrays.sort(object)

注释:object:进行排序的数组名称

         返回值:排序后的数组。   

例如:  int arr []={18,45,34,12,20};

          Arrays.sort(arr);

          for (int i = 0; i < arr.length; i++) {

          System.out.println(arr[i])
         }

结果为:

12

18
20
34
45

填充替换数组元素:通过Arrays类的静态方法fill()来对数组中的元素进行替换。fill方法有两种参数类型int  和   byte两种。

1.语法:fill(int a, int value )

注释:a:  要进行元素替换的数组

         value:要存储数组中所有元素的值

         返回值:填充后的数组。

例如:int a[]=new int[5];        //创建int型数组,长度为5

        Arrays.fill(a,10);            //使用10 对数组进行填充

        for (int i = 0; i < arr.length; i++) {

        System.out.println(arr[i]);
         }

原来的结果:0 0 0 0 ;

现在的结果:10 10 10 10

2.语法:fill(int[] a , int fromIndex , intfromIndex , int value)

注释:a:  要进行填充的数组

         value:要存储数组中所有元素的值

         返回值:替换元素后的数组。

         fromIndex :要是用指定值填充的第一个元素的索引(包括)

         toIndex: 要是用指定值填充的最后一个元素的索引(不包括)

例如:int a[]={45,2,10,56,14};

         Arrays.fill(a,1,5,8);

        for (int i = 0; i < arr.length; i++) {

        System.out.println(arr[i]);
         }

结果为:45 8 8 8 14

复制数组:Arrays类的copyOf方法与copyOfrange方法实现对数组的复制

             copyOf()复制数组到指定的长度

             copyOfrange()将指定数组的指定长度复制到一个新数组中。

语法:copyOf(arr,int newlength)           copyOfRange(arr,int formIndex ,int toIndex)  

注释:    a:  要进行复制的数组对象

         返回值:复制指定位置后的数组。

         fromIndex :指定开始复制数组的索引位置, fromIndex必须在0至整个数组的长度之间(包括)

         toIndex: 要复制范围的最后索引位置,可以大于数组a的长度(不包括)

例如:

        int a[]={45,2,10,56,14};

        Arrays. copyOfRange(a,1,4)  

        for (int i = 0; i < a.length; i++) {

        System.out.println(a[i]);
         }

结果为:10 56 14

 

          

 

java基础中的一维数组和二维数组