java: 数组

数组的定义: 是内存中一次能存多个相同类型元素的容器

一维数组:

 声明数组:

                方式一: 数据类型[] 数组名;      推荐

                 例如: int[] arr;

                       double[] adds;

                       String[] strs;

                 读法: 声明int类型的一维数组,名字叫:arr

                 方式二: 数据类型 数组名[];

                 例如: int arr[];

                 读法: 声明int类型,名字叫:arr的一维数组

        -- 给数组赋值:声明 + 赋值

             使用new关键字,创建数组:

                 格式: 数据类型[] 数组名 = new 数据类型[数组长度];

                 例如: int[] arr = new int[5];

                       double[] dous = new double[4];

                       String[] strs = new String[6];

             使用直接赋值的方式创建数组:

               标准写法:  数据类型[] 数组名 = new 数据类型[]{元素1,元素2,.....};

               int[] arr4 = new int[]{1,2,3,5};

               简化写法:  数据类型[] 数组名 = {元素1,元素2,.....};

               int[] arr3 = {1,2,3};

注意事项:

                1. 使用new关键字,创建数组是已知数组的长度,但是不知道具体的元素值

                 使用直接赋值的方式创建数组,已知数组中元素值,根据元素值的个数来创建数组空间

                2. 在创建数组时, = 两边的数组的数据类型必须保持一致。

 数组的基本使用

容器中元素的CRUD操作:

            明确:因为数组的长度一旦确定不能改变。  ---> 数组中添加或者删除元素时,都会改变数组的长度

            说明: 目前只学习查询和修改元素的操作,后面再学习删除和添加元素的操作


 

            查询数组的长度: 数组名.length      例如:arr.length

            查询数组中指定索引位置的元素:

                      说明: 索引index的范围:[0,arr.length -1]

                      格式: 数组名[index]     例如: arr[2]

                注意: 数组种元素的查找效率非常快

            修改数组中指定索引位置的元素:

                       格式: 数组名[index] = 新的值;   例如: arr[2] = 100;


 

       容器中元素的遍历操作:

              -- 从前往后拿出数组中的元素:

              -- 从后往前拿出数组中的元素: 

                    优势:可以操作索引    缺点: 格式比较复杂

              -- 使用增强for遍历: 

                    优势:格式比较简单    缺点: 无法操作索引 , 只能从前往后遍历

    说明: 数组,集合等都属于容器, 可以存多个相同类型数据的容器

数组中元素的默认值

          整数类型: byte , short ,int ,long   默认值: 0

          小数类型: float , double            默认值: 0.0

          字符类型: char                      默认值:' ' , '\u0000'

          布尔类型: boolean                   默认值:false

          引用数据类型:任何引用数据类型的默认值都是:null

数组中两个常见的小问题

        -- 数组的索引越界异常 : ArrayIndexOutOfBoundsException

              原因: 索引不在数组的正常索引范围内

              解决: 让索引在数组的正确的索引范围内

        -- 空指针异常: NullPointerException

              原因: 数组或者对象的值为:null 不能指向内存中的数组或者对象空间

              解决: 让数组 、 对象指向正确的内存地址值

 main方法的形参

          方法的可变参数

                使用场景:将可变参数定义在方法的()的最后

                   例如: getSum2( String name,int... arr)

                格式: 数据类型... 变量名

                例如:int... arr

                      double... dous

                      String... strs

                优点: 将方法的形参定义为可变参数,该方法不光可以接受:数组,还能接受多个参数值的列表

二维数组

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

              定义: 二维数组中的元素值 还是一个一维数组

              学二维数组: 把二维数组当做一维数组来玩。

              二维数组的创建:

                    使用new关键字创建:

                        数据类型[][] 数组名 = new 数据类型[m][n];

                             m: 二维数组中 小数组的个数    n : 每一个小数组长度都是n

                        例如: int[][] arr = new int[3][2];

                        说明: arr 是一个长度为3的二维数组, 每个索引位置都是一个长度为2的一维数组的内存地址hash值

                        数据类型[][] 数组名 = new 数据类型[m][];

                        例如: int[][] arr2 = new int[3][];

                        说明: arr2 是一个长度为3的二维数组, 每个索引位置都是null

                     使用直接赋值的方式创建

                          数据类型[][] 数组名 = {{} , {} ,{},...};

                          int[][] arr = {{1,2},null,{6,7}};

                          数据类型[][] 数组名 = new 数据类型[][]{{} , {} ,{},...};

           二维数组的CRUD:

                 查询操作:

                     查二维数组长度: 二维数组名.length

                     查二维数组元素: 二维数组名[二维数组的索引]

                     查二维数组中小数组的元素: 二维数组名[二维数组的索引][小数组的索引]

                 修改操作

                     修改二维数组元素:

                            格式:二维数组名[二维数组索引] = new 数据类型[]{元素1,元素2,...};

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

                     修改小数组元素:

                             格式:  二维数组名[二维数组索引][小数组索引] = 值;

                             例如:  arr[0][1] = 200;

          二维数组的元素的遍历:

                  参考一维数组的遍历

                  思路:

                      1.外层循环遍历二维数组:arr  , 得到每一个小数组

                      2.内层循环遍历每一个小数组: arr[i]  , 得到每一个小数组中的元素值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值