5.Java中的数组

Java种的数组

Java中的数据类型

1.基本数据类型

byte short int long float double boolean char

2.复合数据类型

数组 类 接口

1.什么是数组?

相同数据类型的数据值,按照顺序,组成的复合数据类型

2.如何定义一个一维数组?

格式:数据类型 数组名称 []

数据类型 []数组名称

例如:int number1 [];

double number2 [];

数组的标志 "[]"

3.如何创建一个一维数组?

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

4.如何为一维数组赋值?

为数组赋值其实就是将具体的数值保存在数组的指定位置上。
1.逐个赋值--按照指定位置将具体的数值保存在数组中。
   格式:数组名称[指定位置] = 具体的数值;
   指定位置就是我们常说的下标,从0开始数。
   数组中的第一个数据存储单元,对应的下标是0;
   数组中的第二个数据存储单元,对应的下标是1;
    ......
   注意:1.被保存在数组中数据值,要与数组的数据类型匹配。
           2.被保存在数组中数据值个数,不能超过创建数组时指定的存储单元的个数。

例如:

        intnub1 [0] = 12.3;

        intnub1 [0] = 23.4;

        intnub1 [1] = 345;

        intnub1 [1] = 567;

2.直接赋值--定义数组创建数组,为数据中保存数据值,一句话完成
     一句话 = 定义数组 + 创建数组 +保存数据值;
     格式1: 数据类型  数组名称[]=new 数据类型[]{数据值1,数据值2,...数据值n}
                数据类型  []数组名称=new 数据类型[]{数据值1,数据值2,...数据值n}
     注意: 1.被保存在数据中数据值,要与数组的数据类型匹配。
              2.原本需要设置数组存储单元的个数的地方,现在一定不能设置了
例如:

        char  chatarray4[]=new char[]{'H','E','L','L','O'};    
        char  []chatarray5=new char[]{'H','E','L','L','O'};

格式2: 数据类型  数组名称[]={数据值1,数据值2,...数据值n}
                数据类型  []数组名称={数据值1,数据值2,...数据值n}    
     注意:1.被保存在数据中数据值,要与数组的数据类型匹配。
例如:

        char  chatarray2[]={'A','B','C'};
        char  []chatarray3={'H','E','L','L','O'};

5.如何从一维数组中取值?

根据数据在数组中的位置来将数据值取出。
数据在数组中的位置--下标,从0开始
格式:数组名称[下标];
例如:System.out.println(chatarray3[4]);
如果我们需要将数组中的所有值逐个取出,怎么弄?
将数组中的所有值逐个取出---遍历数组
循环修改数组的下标值。
例如:

        //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);

6.一维数组的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);

7.增强的 for 循环遍历一维数组

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

8.数组的内存结构 

9.如何定义一个二维数组?

格式:数据类型  数组名称[][];
           数据类型  [][]数组名称;
例如:

        char chararr1[][];

10.如何创建一个二维数组?

二维数组就相当于一个表格,表格有行和列组成
格式:数组名称 =new 数据类型[行数][行中的列数];
例如:

        chararr1=new char[2][5];

11.如何为二维数组赋值?

1.逐个赋值--将相当于给表格中的每一个单元格赋值
    格式:chararr1[行下标][列下标] = 具体数据值;
    例如:

        chararr1[0][0]='H';
        chararr1[0][1]='E';
        chararr1[1][0]='W';
        chararr1[1][1]='O';
2.直接赋值--定义+创建+赋值
     格式1: 数据类型  数组名称[][]=new 数据类型[][]{{值1,值2},{值1,值2},...{}};
                数据类型  [][]数组名称=new 数据类型[][]{{值1,值2},{值1,值2},...{}};

     格式2: 数据类型  数组名称[][]={{值1,值2},{值1,值2},...{}};
               数据类型  [][]数组名称={{值1,值2},{值1,值2},...{}};    
    例如:

        char char2[][]={{'A','B','C'},{'E','F','G'}};

12.如何从二维数组中取值?

格式: 数组名称[行下标][列下标];
例如:

        System.out.println(char2[1][0]); // E

13.循环遍历二维数组

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

14.二维数组的length属性--表示的是行数

例如:  

        System.out.println((char2.length);//2

15.Arrays类

Arrays类是一个数组的帮助类,里面提供了一组静态方法,来帮助我们灵活使用数组。
    1.数组转字符串  Arrays.toString(array);
    2.填充数组  Arrays.fill(array,数据值);
            Arrays.fill(array, 开始位置,结束位置, 数据值); //部分填充
    3.数组元素排序  Arrays.sort(array); 默认升序排列
            Arrays.sort(array, 开始位置, 结束位置); //部分排序
    4.数组复制 int[] arrayCopy = Arrays.copyOf(array, 3);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值