数组

 如果需要存储大量的数据,例如如果需要读取100个数,那么就需要定义100个变量,显然重复写100次代码,是没有太大意义的,如何解决这个问题?

 Java语言提供了数组(array)的数据结构,是一个容器可以存储相同数据类型的元素,可以将100个数存储到数组中。


概念

同一种类型数据的集合。其实数组就是一个容器。

数组的好处

可以自动给数组中的元素从0开始编号,方便操作这些元素。

格式1

元素类型[] 数组名 = new元素类型[元素个数或数组长度];

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

格式2

元素类型[] 数组名 = new元素类型[]{元素,元素,……};

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

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

     数组是一种单独的数据类型。数据类型分为2大派,分为基本数据类型和引用数据类型。 第二大派是引用数据类型。数组类型 ,[] 中括号就代表数组,就是引用数据类型三种当中的一种。

初始化方式1:不使用运算符new

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

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

初始化方式2

int[ ] arr3=new int[3];

arr3[0]=1;

arr3[1]=5;

arr3[2]=6;

一种常犯错误:下列写法是错误的。

int[] arr;

arr={1,2,3,4,5};

注意:给数组分配空间时,必须指定数据类型以及数组能够存储的元素个数来确定数组大小。创建数组之后不能修改数组的大小和类型。可以使用length属性获取数组的大小。

数组遍历

数组中有一个属性可以获取到数组中元素的个数,也就是数组的长度.数组名.length

public static void main(String[] args) {

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

for (int y = 0; y < x.length; y++) {

System.out.println(x[y]);

// System.out.println("x["+y+"]="+x[y]); 打印效果 x[0]=1;

} // 那么这就是数组的第一个常见操作.遍历

}

数组的常见异常

一、数组角标越界异常:,注意:数组的角标从0开始。  /下标  /索引

public static void main(String[] args) {

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

System.out.println(x[3]);

//java.lang.ArrayIndexOutOfBoundsException

}

内存结构图示:


 、空指针异常:

int[] arr=new int[2];
arr[1]=10;
System.out.println(arr[1]);
输出:10
int[] arr=new int[2];
arr=null;
arr[1]=10;
System.out.println(arr[1]);
空指针异常:java.lang.NullPointerException

public static void main(String[] args) {

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

x = null;

System.out.println(x[1]);

// java.lang.NullPointerException

}


什么时候使用数组:

 当元素较多时为了方便操作这些数,会先进行临时存储,所使用的容器就是数组。

特点:

 数组长度是固定的。




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值