2021-06-23

1、什么是数组

在我看来,数组就像我们生活中的容器,比如水杯等,那数组(Array)在程序中就是充当容器的一中数据类型。

1.1 数组的特征

(1)连续的。
(2)类型一致。
(3)大小固定。
这都比较好理解。

1.2 数组的声明和初始化

(1)静态初始化
所谓静态初始化就是在声明数组的同时初始化数组元素,而且由用户分配初值,系统计算长度。
例如:

int[] arr = {1,2,3,4,5};
//或者
int arr[] = {1,2,3,4,5};
//但是不太推荐这种写法

要注意的是,静态初始化后,赋给初值就不能重新初始化,比如以下代码:

int[] arr = {1,2,3,4,5};
arr = {1,3,5};//错误,需要重新分配内存空间
arr = new int[]{1,3,5};

(2)动态初始化
使用new分配内存空间,用户决定数组长度,系统给数组赋初值。例如:

int[] arr = new int[5];
//遍历
for(int i = 0;i<arr.length;i++){
	System.out.pirntln(arr[i]+"");
	//结果都为0
}
arr[4] = 100;//改变第5个元素的值。

2.数组的下标和长度

数组有一个length属性,表示数组的长度。
数组中的每一个元素都有下标,下标从0开始,最后一个元素的下标就是arr.length-1;
如果下标超出了规定的范围,就会抛出数组下标越界异常,例如:

int[] arr = new int[5];

System.out.println("数组长度是:" + arr.length); //打印数组的长度
arr[0]=1;
arr[arr.length-1]=100;
System.out.println(arr[0]);
System.out.println(arr[arr.length - 1]);
arr[arr.length] = 1000; //这里出现ArrayIndexOutOfBoundsException
System.out.println(arr[arr.length]);

运行结果:
数组长度是:5
1
100
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
	at com.oracle.datatype.Test.main(Test.java:18)

3.数组的遍历

数组遍历有两种方法,一种是普通的for循环,另外一种就是foreach迭代器循环。
(1)for循环

int[] arr = {1,2,3,4,5};
for(int i = 0;i < arr.length;i ++){
	System.out.pirntln(arr[i]+"");
}

(2)foreach循环

int[] arr = {1,2,3,4,5};
foreach(int n:arr){
	System.out.println(n);
}

for循环遍历使用频率最高,最灵活,每次知道当前的循环次数。
foreach循环最大的好处是语法简单,内部是使用迭代器原理实现。缺点的无法判断当前的循环次数。比如,上面的例子如果循环次数大于3次,则跳出循环,使用for循环可以很轻松的实现,但是foreach循环就无法办到。

int[] arr = {12,34,6,7,8};

for(int i=0;i<arr.length;i++){
    if(i>=3){
	break;
    }
    System.out.println(arr[i]);
}

新手小白,如有不对请指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值