阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

遍历数组

36次阅读
没有评论

共计 1247 个字符,预计需要花费 4 分钟才能阅读完成。

我们在 Java 程序基础里介绍了数组这种数据类型。有了数组,我们还需要来操作它。而数组最常见的一个操作就是遍历。

通过 for 循环就可以遍历数组。因为数组的每个元素都可以通过索引来访问,因此,使用标准的 for 循环可以完成一个数组的遍历:

// 遍历数组
public class Main {public static void main(String[] args) {int[] ns = { 1, 4, 9, 16, 25 };
        for (int i=0; i<ns.length; i++) {int n = ns[i];
            System.out.println(n);
        }
    }
}

为了实现 for 循环遍历,初始条件为 i=0,因为索引总是从0 开始,继续循环的条件为 i<ns.length,因为当i=ns.length 时,i已经超出了索引范围(索引范围是0 ~ ns.length-1),每次循环后,i++

第二种方式是使用 for each 循环,直接迭代数组的每个元素:

// 遍历数组
public class Main {public static void main(String[] args) {int[] ns = { 1, 4, 9, 16, 25 };
        for (int n : ns) {System.out.println(n);
        }
    }
}

注意:在 for (int n : ns) 循环中,变量 n 直接拿到 ns 数组的元素,而不是索引。

显然 for each 循环更加简洁。但是,for each循环无法拿到数组的索引,因此,到底用哪一种 for 循环,取决于我们的需要。

打印数组内容

直接打印数组变量,得到的是数组在 JVM 中的引用地址:

int[] ns = { 1, 1, 2, 3, 5, 8 };
System.out.println(ns); // 类似 [I@7852e922

这并没有什么意义,因为我们希望打印的数组的元素内容。因此,使用 for each 循环来打印它:

int[] ns = { 1, 1, 2, 3, 5, 8 };
for (int n : ns) {System.out.print(n + ",");
}

使用 for each 循环打印也很麻烦。幸好 Java 标准库提供了Arrays.toString(),可以快速打印数组内容:

// 遍历数组
import java.util.Arrays;

public class Main {public static void main(String[] args) {int[] ns = { 1, 1, 2, 3, 5, 8 };
        System.out.println(Arrays.toString(ns));
    }
}

练习

请按倒序遍历数组并打印每个元素:

public class Main {public static void main(String[] args) {int[] ns = { 1, 4, 9, 16, 25 };
        // 倒序打印数组元素:
        for (???) {System.out.println(???);
        }
    }
}

下载练习

小结

遍历数组可以使用 for 循环,for循环可以访问数组索引,for each循环直接迭代每个数组元素,但无法获取索引;

使用 Arrays.toString() 可以快速获取数组内容。

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-08-05发表,共计1247字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中