Java 数组

一、java中的数组
       java中的数据类型
           1.基本数据类型
                   byte  short int long float double  boolean char
           2.复合数据类型【引用数据类型】
                   数组  类  接口  

二、如何定义一个一维数组?

           格式:   数据类型  数组名称[];
                         数据类型  []数组名称;
           例如:   一维: int intarray1[];       
                                     char []chararray1;  
                         二维: int intarray[][];

                                     char chararray[][];

三、如何创建一个一维数组?

           创建数组就是指定数组的存储单元的个数。
           创建数组是在定义数组之后。
           格式:数组名称 = new 数据类型[存储单元的个数];
           例如:一维:   intarray1 =  new int[4];
                                   chararray1 = new char[5];

                     二维:   intarray = new int[2][3]; // 表示两行三列 

四、如何为一维数组赋值?

       为数组赋值其实就是将具体的数值保存在数组的指定位置上。
       1.逐个赋值--按照指定位置将具体的数值保存在数组中。

              格式:数组名称[指定位置] = 具体的数值;
              指定位置就是我们常说的下标,从0开始数。
              数组中的第一个数据存储单元,对应的下标是0;
              数组中的第二个数据存储单元,对应的下标是1;例:intarray1[0]=123;

       注意:1.被保存在数组中数据值,要与数组的数据类型匹配。
               2.被保存在数组中数据值个数,不能超过创建数组时指定的存储单元的个数。

        2.直接赋值--定义数组创建数组,为数据中保存数据值,一句话完成
           一句话 = 定义数组 + 创建数组 +保存数据值;
           格式1:  数据类型  数组名称[]=new 数据类型[]{数据值1,数据值2,...数据值n}
                       数据类型  []数组名称=new 数据类型[]{数据值1,数据值2,...数据值n}----------一维

                       数据类型 数组名称[][] = new 数据类型[][]{{数值1,数值2},{数值1,数值2},.....}  -----------二维

                        数据类型 [][]数组名称 = new 数据类型[][]{{数值1,数值2},{数值1,数值2},.....}  -----------二维
             注意:  被保存在数据中数据值,要与数组的数据类型匹配。
                       原本需要设置数组存储单元的个数的地方,现在一定不能设置了

             例如:  char  chatarray4[]=new char[]{'H','E','L','L','O'};

            格式2:   数据类型  数组名称[]={数据值1,数据值2,...数据值n}
                         数据类型  []数组名称={数据值1,数据值2,...数据值n}  --------一维

                         数据类型 数组名称[][] = {{数值1,数值2},{数值1,数值2},.....}  -----------二维

                         数据类型 [][]数组名称 = {{数值1,数值2},{数值1,数值2},.....}  -----------二维
             注意:    被保存在数据中数据值,要与数组的数据类型匹配。

             例如:  char  chatarray2[]={'A','B','C'};

五、如何从数组中取值?

           将数组中的所有值逐个取出---遍历数组

           //for循环遍历一维数组
             for(int i=0;i<5;i++){
                        System.out.println("for循环遍历数组--"+chatarray3[i]);
               }
           //while循环遍历数组
              int j=0;
              while(j<5){
                         System.out.println("while循环遍历数组--"+chatarray3[j]);
                         j++;
              }
           //do{}while()循环
              int k=0;
              do{
                         System.out.println("do{}while循环遍历数组--"+chatarray3[k]);
                          k++;
                  }while(k<5);

六、一维数组的length属性

      1.先定义,后创建,接着再赋值构建起来的数组,那么这种方式构建的数组的length属性,表示的是创建数组时,指定的数组存储单元的个数

例如:
              char  chararr1[]; //定义数组
              chararr1=new char[5];//创建数组
              chararr1[0]='A';
              chararr1[1]='B';
              //保存在chararr1中的元素个数是---2
              //chararr1中指定的存储单元个数是---5
               System.out.println("length==="+chararr1.length);
     2.通过直接赋值构建起来的数组,那么它的length属性,表示的是存储在数组中的元素个数。
例如:
              char  chararr2[]={'A','B','C'};
              //保存在chararr2中的元素个数是---3
              //chararr2中指定的存储单元个数是---3
              System.out.println("length==="+chararr2.length);
      因为有了数组的length属性,所以我们在遍历数组的时候,就不需要自己手动去数数组中元素的个数。

例如:
               //for循环遍历数组
                 for(int i=0;i<chatarray3.length;i++){
                             System.out.println("for循环遍历数组--"+chatarray3[i]);
                 }
               //while循环遍历数组
                 int j=0;
                 while(j<chatarray3.length){
                              System.out.println("while循环遍历数组--"+chatarray3[j]);
                               j++;
                   }
               //do{}while()循环
                  int k=0;
                  do{
                                System.out.println("do{}while循环遍历数组--"+chatarray3[k]);
                                k++;
                   }while(k<chatarray3.length);

七、增强的 for 循环遍历一维数组
格式:

           for(数组的数据类型  保存从数组中取出的数据值变量:需要被遍历的数组名称){
                                 使用取出的数据值变量
           }
例如:
             for(char value:chatarray3){
                       System.out.println("增强的 for 循环===="+value);
             }

八、循环遍历二维数组
       使用循环的嵌套来遍历二维数组
       例如:
                    //for循环遍历
                      for(int i=0;i<2;i++){
                            for(int j=0;j<3;j++){
                                       System.out.pritnln(char2[i][j]);
                            }
                       }

      注:二维数组的length属性--表示的是行数
      例如:  System.out.println((char2.length);//2

九、Arrays类
    是一个数组的帮助类,里面提供了一组静态方法,来帮助我们灵活使用数组。
    Arrays类属于java.util程序包中的一个java类
    如果要使用Arrays这个java类就需要导入java.util程序包到当前程序中
    在当前java代码的第一行“import java.util.Arrays;”    
    1.数组转字符串  Arrays.toString(array);

        int arr1[] = {21333,13,3443,2389,25};

        System.out.println(Arrays.toString(arr1));
    2.填充数组  Arrays.fill(array,数据值);

        float arr2[] = new float[4];

        Arrays.fill(arr2,783.5f);//  结果----783.5,783.5,783.5,783.5
        Arrays.fill(array, 开始位置,结束位置, 数据值); //部分填充

        Arrays.fill(arr2, 1,4, 65.4f);//不包含结束位置,结果--------0,65.4,65.4,65.4
    3.数组元素排序  Arrays.sort(array); 默认升序排列

         Arrays.sort(arr1);//默认升序排列
         System.out.println(Arrays.toString(arr1));
         Arrays.sort(array, 开始位置, 结束位置); //部分排序

        Arrays.sort(arr1, 1,arr1.length);//Arrays.sort(array, 开始位置, 结束位置); 部分排序,不包含结束位置
        System.out.println(Arrays.toString(arr1));
    4.数组复制 int[] arrayCopy = Arrays.copyOf(array, 3);

       如果目标数组的长度大于原始数组的长度,多出的部分将会用默认值填充。对于基本数据类型的数组,默认值为零。对于引用类型的数组,默认值为null。
        char arr3[] = {'我','很','开','心'};
        char arr4[] = Arrays.copyOf(arr3, 3);
        int arr5[] = Arrays.copyOf(arr1,6);
        for(char i :arr4){
            System.out.print(i+"\t");
        }
        System.out.println();
        for(int i:arr5){
            System.out.print(i+"\t");
        }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值