Java一维数组入门
- 数组是一种用于存储数据的典型数据结构。
- 数组是有序的
- 数组存放的元素类型相同
- 一旦创建数组,数组的长度不可修改
- 数组的基本属性:数组的长度
通常使用数组名.length返回一个int类型的数表示数组的长度
package com.etime01;
class Test01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//静态初始化
int [] arr={
1,2,3};
int length = arr.length;
System.out.println(length);
}
}
可理解为,数组中存放了多少个元素,数组的长度就等于数组存放的元素个数和。
- 数组存放元素通过索引值(索引值从0开始进行存取对应元素) 索引值的取值范围应为 [0,数组长度)(取左不取右)
- 数组的初始化方式
1.静态初始化:数组被创建时就拥有初始值
2.动态初始化:数组创建时给定数组长度,依此根据索引进行赋值
package com.etime01;
class Test01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//静态初始化
int [] arr1={
1,2,3,4,5};
//动态初始化
int [] arr2= new int[5];
arr2[0]=1;
arr2[1]=2;
arr2[2]=3;
arr2[3]=4;
arr2[4]=5;
}
}
- 数组的应用
1.访问与赋值
通过索引值进行取元素
package com.etime01;
class Test01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//静态初始化
int [] arr={
1,2,3,4,5};
int i=arr[1];//取出索引值为1的元素
int j=arr[0];//取出索引值为0的元素
System.out.println(i);
System.out.println(j);
}
}
通过索引值进行存元素:
package com.etime01;
class Test01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//动态初始化
int [] arr=new int[3];
arr[0]=1;
arr[1]=2;
arr[2]=3;
//根据索引值为数组进行赋值,可看作动态初始化数组
//int [] arr={1,2,3};
}
}
注意:当索引值超出最大值是(即值超过大于等于0小于数组长度的区间)会报出数组下标越界异常
package com.etime01;
class Test01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//静态初始化
int [] arr={
1,2,3,4,5};
int x=arr[6];
System.out.println(x);
}
}
2数组是随机访问结构,不需要按照顺序进行访问
(注意,访问可以无序,但数组本身是有序的)
package com.etime01;
class Test01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//静态初始化
int [] arr={
1,2,3};
int i=arr[2];//不需要从索引值为0开始访问,可直接访问范围内的索引值对应的元素
System.out.println(i);
}
}
3 数组的遍历
当一个数组元素不是很多的时候,我们可以依次取出对应索引值元素来实现访问所有元素的目的,那如果元素过多,会显得很麻烦,所以我们就需要利用for循环来遍历所有数组中的元素
package com.etime01;
class Test01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//静态初始化
int [] arr={
1,2,3,4,5,6,7,8,9,10};
//for循环遍历数组,结合索引值我们可以知道从第0个开始,直到数组长度-1个为止
//超过数组长度(arr.length)会抛出数组下标越界异常
for (int i = 0; i < arr.length; i++) {
int m=arr[i];//m的值就为数组中从0开始直到长度-1的对应的元素值
System.out.print(m);
}
}
同样,在for循环中当超过 [0,长度)范围时,会抛出数组下标越界异常
package com.etime01;
class Test01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//静态初始化
int [] arr={
1,2,3,4,5,6,7,8,9,10};
//for循环遍历数组,结合索引值我们可以知道从第0个开始,直到数组长度-1个为止
//超过数组长度(arr.length)会抛出数组下标越界异常
for (int i = 0; i < arr.length+1; i++) {
//当超过长度时,即i取值超过范围时
//会抛出数组下标越界异常
int m=arr[i];
System.out.print(m);
}
}
}