数组的基础知识

什么是数组?

数组: 是一个可以保存多个数据的容器,但是只能存储同一种类型的数据。数组的一旦定义,不可以发生改变。

一维数组:

声明:  数据类型[] 数组名 = new 数据类型[数组的长度];

      数据类型[] 数组名 = new 数据类型[]{元素。。。。};

      数据类型[] 数组名 = {元素 。。。。 };

数组的使用:   数组名[下标]。

  1. 数据类型:  可以使基本类型  也可以使引用类型  比如 int[]  arr  double[]  arr  String[]  arr
  2. 数组中只能存储跟声明时相同的数据类型。
  3. 数组本身也是一种数据类型  叫做数组类型

注意  int  和 int[]  是不是一种数据类型

eg:

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

数组的初始化:

  1. 动态初始化

数组名  =  new 数据类型[数组的长度];

一般声明和初始化 一起使用

数据类型[]   数组名 = new 数据类型[数组的长度];

注意:左边的括号没有数字。

      2.静态初始化

数据类型[ ]   数组名  = new 数据类型[ ] {元素1,元素2,元素3..... };

动态初始化由我们自己指定数组的长度,由系统 给i与元素的初始值。

静态初始化由我们自己指定元素的初始值,由系统指定数组的长度。

数组的使用:

我们可以将数组里面的每一个元素当成是一个普通的变量来对待

通过数组名 加 下标的形式来使用    数组名[下标]

下标:

最小值是0

最大值是  数组的长度-1

数组名[0] 表示数组的第一个元素   数组名[长度-1] 表示最后一个元素

如果当一个数组的下标超过了最大值,那么会报数组角标越界异常。

ArrayIndexOutOfBoundsException

如果一个栈内存的变量不再引用一个堆内存的数组对象,那么这个时候如果再通过该变量去访问数组的元素,就会出现空指针异常:

NullPointerException:  当一个null对象去调用一个方法的时候也会出现空指针异常

数组的遍历:

eg:            //数组名.length 表示数组中元素的个数

public class Array{

public static void main(String[] args){

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

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

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

}

} }

arrays的使用:

import java.util.*;

public class Array{

public static void main(String[] args){

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

System.out.println(arr);

System.out.println(arrays.toString(arr));

}  }

二维数组:

我们可以将二维数组当成是一个元素为一维数组的数组。

二维数组的定义:

数据类型[][] 数组名 = new 数据类型[二维数组中元素的个数][一维数组的元素个数];

数据类型[][] 数组名 = {{1,2,3},{4,5,6},{7,8,9}};

怎么使用二维数组:

数组名[下标]: 获取到的二维数组中的一维数组

数组名[下标][下标]: 获取二维数组中一维数组的元素。

二维数组的length属性:

数组名.length  : 二维数组的长度,一维数组的个数

数组名[下标].length  :  二维数组中一维数组的长度

eg

public class shuzu{

   public static void main(String[] args){
    int [][] arr={{1,2,3},{4,5,6},{7,8,9}};
    for(int i=0;i<arr.length;i++){
        for(int j=0;j<arr[i].length;j++){
                System.out.println(arr[i][j]);
}
}    //  1 2 3 4 5 6 7 8 9 
}
}

当碰到二维数组中一维数组的长度不一样的情况

public class Arrays{ 

   public static void main(String[] args){

       int [] [] arr=new int[3] [];//二维数组的长度已经确定,但是里面的一维数组还没初始化

arr[0]=new int[ 3];    //给一维数组初始化

arr[1]=new int[2];

arr[2]=new int[4];

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值