0 前言
本文适合零基础小白。
本文接上一篇文章:快速搞定数组的声明、开辟空间和初始化赋值
重要的知识点
- 通过
array index
访问数组 - 使用
for each循环
遍历数组 - 使用
Arrays.toString()方法
打印数组
我们先创建一个数组,之后通过它来说明后面的知识。
int[] a = {1,2,3,4};
1 通过array index访问和操作数组
这是最基本的,通过下标访问数组,同时也是能够灵活操作数组的方式。
- 可以直接修改数组本身
- 可以使用数组而不修改
对于使用数组某一个元素,只需要写上a[0]
,然后输入对应操作即可。
如果想要依次访问数组每个元素,可以使用for循环
for(int i = 0;i < a.length;i++){System.out.println(a[i]);
}
2 通过for each循环遍历和使用数组
for each循环,只能够实现使用数组的每一个元素,不能修改原数组内容,其他方面与for循环等效。
也就是说,下面两端代码,除了我刚说的区别,其他是等效的
for(int i = 0;i < a.length;i++){System.out.println(a[i]);
}
for(int b:a){System.out.println(b);
}
显然,后者更加简洁方便。下面我们来详细说明一下。
2.1 数组元素的应用
上述两种循环都有共同点,那就是,每次只访问一个元素,都可以直接使用这个元素的值,区别是:for
循环访问的元素,可以直接改变数组本身,但是for each
只能使用,不能改变数组本身。
那么,数组如何使用呢?其实,怎么用都可以,就把它当作一个int类型的变量使用就可以了。
int类型变量怎么使用,我就不再多说了。
2.2 for each循环的原理简述
这里只简述其原理,不涉及过多专业术语。
for(variable : collection)
,这里,前者创建一个变量int b
,后者使用数组a
,就表示:将a中的元素值,依次存入临时变量b中,这样,变量b的值就与数组a的某个元素值相同,之后就可以使用b的值了。
例如访问第一个元素的时候
- for循环,通过index访问元素,即
a[0]
,然后使用a[0]
- for each循环,执行
b = a[0]
,然后使用b
这时候你也明白,为什么for each循环只能使用数组,不能修改数组本身了。
下面是for each
循环的原理图
3 通过Arrays.toString()方法打印数组
我们先来查阅一下jdk官方文档(建议java学习者养成查阅jdk官方文档的好习惯)。
这里我直接放出来,含义不再赘述。
public static String toString(int[] a)
Returns a string representation of the contents of the specified array. The string representation consists of a list of the array’s elements, enclosed in square brackets ("[]"). Adjacent elements are separated by the characters ", " (a comma followed by a space). Elements are converted to strings as by String.valueOf(int). Returns “null” if a is null.
Parameters:
a - the array whose string representation to return
Returns:
a string representation of a
Since:
1.5
官方文档表明,该方法能够返回数组所有元素的值,并且是字符串格式的。
例如本文开篇的数组int[] a = {1,2,3,4};
System.out.println(Arrays.toString(a));
将会输出
这个很容易理解,不再多说。
本文中图片使用亿图图示(试用版)制作,之后截图上传,侵删。