龙空技术网

java 核心技术-12版 卷Ⅰ- 3.10.2&3 访问/遍历数组元素

CC躺平混吃 67

前言:

眼前你们对“打印数组元素java”大体比较看重,朋友们都想要知道一些“打印数组元素java”的相关资讯。那么小编在网摘上汇集了一些对于“打印数组元素java””的相关内容,希望姐妹们能喜欢,兄弟们一起来了解一下吧!

3.10.2 访问数组元素

数组元素从0开始编号。最后一个合法的索引为数组长度减 1。在下面的例子中,索引值为0~99。一旦创建了数组,就可以在数组中填入元素。例如,可以使用一个循环:

int[] a = new int[100];for (int i=0;i<100; i++)	a[i] = i; // fills the array with numbers 0 to 99

创建一个数字数组时,所有元素都初始化为 0。boolean 数组的元素会初始化为 false。对象数组的元素则初始化为一个特殊值 ull,表示这些元素 (还)未存放任何对象。初学者对此可能有些不解。例如,

String[] names = new String[10];

会创建一个包含 10 个字符串的数组,所有字符串都为 null。如果希望这个数组包含空串,则必须为元素提供空串:

for (int i = 0;i< 10; i++)   names[i] = "";

警告: 如果创建了一个包含 100 个元素的数组,然后试图访问元素 a[100](或在0~ 99之外的任何其他索引),就会出现“array index out of bounds”(数组索引越界) 异常。

要想获得数组中的元素个数,可以使用 array.length。例如,

for (int i =0;i <a.length; i++)  	System.out.println(a[i]);
3.10.3 for each 循环

Java 有一种功能很强的循环结构,可以用来依次处理数组 (或者任何其他元素集合) 中的每个元素,而不必考虑指定索引值

这种增强的 for 循环形式如下:

for (type variable : collection)   statement    // 或 for (type variable : collection) {   statement;  statement2;  statement3;  // ...  }

它将给定变量(variable)设置为集合中的每一个元素,然后执行语句 (statement)(当然,也可以是语句块)。collection 表达式必须是一个数组或者是一个实现了 Iterable 接口的类对象(例如ArrayList)。有关数组列表的内容将在第5 章中讨论,另外Iterable 接口将在第9 章中讨论。

例如

for(int i : arr){	System.out.println(i);}// 将arr 数组中的所有 int 依次打印出来

这个循环应该读作“循环arr中的每一个元素”(for each element in arr)。Java语言的设计者也曾考虑过使用诸如 foreach 和 in 这样的关键字,但这种循环并不是最初就包含在 Java 语言中而是后来添加的,没有人希望破坏已经包含同名方法或变量 (例如 System.in)的老代码。当然,使用传统的 for 循环也可以获得同样的效果:

for (int i =0; i <arr.length; i++)	System.out.println(arr[i]);

但是,“for each”循环更加简洁、更不易出错,因为你不必为起始和终止索引值而操心。

注释:“for each”循环的循环变量将会遍历数组中的每个元素,而不是索引值。

如果需要处理一个集合中的所有元素,相比传统循环,“ for each”循环是个让人欣喜的改进。不过,很多情况下还是需要使用传统的 for 循环。例如,可能不希望遍历整个集合或者可能需要在循环内部使用索引值。

提示: 有一个更容易的方法可以打印数组中的所有值,即利用Arrays 类的 toString 方法。调用Arrays,toString(a) 会返回一个包含数组元素的字符串,这些元素包围在中括号内,并用逗号分隔,例如,"[2,3,5,7,11,13]"。要想打印数组,只需要调用

System.out.println(Arrays.toString(a));

标签: #打印数组元素java