Java数组操作——1.遍历数组
Java数组遍历
使用普通for循环遍历
普通for循环是最传统也最灵活的数组遍历方式,通过索引来访问数组元素,适用于需要知道元素索引的场景。
基本语法
for (int i = 0; i < 数组名.length; i++) {
// 通过数组名[i]访问元素
}
示例:倒序遍历
public class ReverseTraversal {
public static void main(String[] args) {
int[] numbers = {1, 4, 9, 16, 25};
// 倒序遍历数组
for (int i = numbers.length - 1; i >= 0; i--) {
System.out.println("索引[" + i + "]的值为:" + numbers[i]);
}
}
}
使用增强for循环(for-each)遍历
增强for循环(也称为for-each循环)是Java 5引入的新特性,专为遍历集合和数组设计,提供了更简洁的语法。
基本语法
for (元素类型 变量名 : 数组名) {
// 变量名代表当前遍历到的元素
}
示例:使用for-each遍历数组
public class ForEachTraversal {
public static void main(String[] args) {
String[] fruits = {"苹果", "香蕉", "橙子", "葡萄"};
// 使用增强for循环遍历
for (String fruit : fruits) {
System.out.println("水果:" + fruit);
}
}
}
输出结果:
水果:苹果
水果:香蕉
水果:橙子
水果:葡萄
两种遍历方式的对比与适用场景
| 遍历方式 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 普通for循环 | 可获取索引,可控制顺序,可修改元素 | 代码相对繁琐,需处理索引 | 需要索引或特殊遍历顺序的场景 |
| for-each循环 | 语法简洁,不易出错 | 无法获取索引,顺序固定 | 仅需访问元素值的简单遍历 |
数组内容的打印
直接打印数组变量会得到数组的引用地址,而非数组内容:
int[] numbers = {1, 2, 3, 4, 5};
System.out.println(numbers); // 输出类似 [I@7852e922
方法1:手动遍历打印
int[] numbers = {1, 2, 3, 4, 5};
System.out.print("[");
for (int i = 0; i < numbers.length; i++) {
System.out.print(numbers[i]);
if (i < numbers.length - 1) {
System.out.print(", ");
}
}
System.out.println("]"); // 输出 [1, 2, 3, 4, 5]
方法2:使用Arrays.toString()
Java标准库的Arrays类提供了toString()方法,可以快速打印数组内容:
import java.util.Arrays;
public class PrintArray {
public static void main(String[] args) {
int[] numbers = {1, 1, 2, 3, 5, 8};
String[] fruits = {"苹果", "香蕉", "橙子"};
System.out.println(Arrays.toString(numbers)); // 输出 [1, 1, 2, 3, 5, 8]
System.out.println(Arrays.toString(fruits)); // 输出 [苹果, 香蕉, 橙子]
}
}
Arrays.toString()方法会自动为数组元素添加方括号和逗号分隔(转为String类型),非常适合快速查看数组内容。
总结
- 普通for循环适合需要索引或特殊遍历顺序的场景
- for-each循环适合简单的顺序遍历
Arrays.toString()方法是快速打印数组内容的首选方式
Java数组操作——1.遍历数组的更多相关文章
- 廖雪峰Java1-4数组操作-1遍历数组
1.遍历数组 for循环通过下标遍历数组 for each直接遍历数组所有元素 int[] ns1 = {1, 34, 9, 16, 25}; for(int i = 0;i<ns1.lengt ...
- python使用数组作为索引遍历数组
python使用数组作为索引遍历数组 觉得有用的话,欢迎一起讨论相互学习~Follow Me python使用数组作为索引遍历数组 import numpy as np a=np.arange(0,5 ...
- Java foreach操作(遍历)数组
语法: 我们分别使用 for 和 foreach 语句来遍历数组 运行结果: 练习: import java.util.Arrays; public class HelloWorld { public ...
- PHP数组操作汇总 php数组的使用技巧
对于Web编程来说,最重要的就是存取和读写数据了.存储方式可能有很多种,可以是字符串.数组.文件的形式等. 数组,可以说是PHP的数据应用中较重要的一种方式.PHP的数组函数众多,下面是我学习的小 ...
- Python数组操作将一维数组变成二维数组
一.问题 我们在进行数组操作的时候会遇到将一个低维的数组变成一个高维的素数组 二.解决 第一种方法基本思路就是将低维数组进行等长的循环,在第一次为零的情况下,需要添加一个[]数组,原因是将它的基本框架 ...
- javascript数组操作大全,数组方法总汇
1. shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] ...
- 用数组指针遍历数组,FOR/FOREACH遍历数组
1. 用数组指针遍历一维数组 <?php header("Content-type:text/html;charset=utf-8"); /*用数组指针遍历一位数组的值*/ ...
- php数组操作,js数组操作
俩语言一块儿学老混.整理一下. php: 1.声明: 1)$arr1 = array('key1' => 'value1', 'key2' => 'value2' ...);//关联数组, ...
- 关于push数组,然后遍历数组遇到的坑,遍历显示函数
我偷了个懒将点击的东西push进一个arr里,然后遍历显示在上面. 为啥子出现了上函数,什么鬼什么鬼.我检查很久都不晓得那里push进去的. 一个小时后,我想想要不看看arr里面的结构吧! 尼玛!为啥 ...
- PHP数组操作大全
<?php /** * File: phpstudy : array_test.php * Created by PhpStorm. * User: IhMfLy Pheonix@jtv-070 ...
随机推荐
- .NET8带来的一些新特性
最近收到任务,项目从.NET 5升级为.NET 8. 特意去了解了一下.NET8的新特性,经过验证后,分享一些这些新特性. 管他用得到用不到,先了解了再说. 一.性能提升 1.原生AOT深度优化 通 ...
- docker-compose用法
以下的示例搭建龙一个wordpress博客 services: mysql: image: mysql:latest environment: - MYSQL_ROOT_PASSWORD=123456 ...
- 把 PySide6 移植到安卓上去!
官方教程在此:https://www.qt.io/blog/taking-qt-for-python-to-android 寥寥几句,其实不少坑.凭回忆写的,可能不是很全(无招胜有招) 仅支持 Lin ...
- 开源 vGPU 方案:HAMi,实现细粒度 GPU 切分
本文主要分享一个开源的 GPU 虚拟化方案:HAMi,包括如何安装.配置以及使用. 相比于上一篇分享的 TimeSlicing 方案,HAMi 除了 GPU 共享之外还可以实现 GPU core.me ...
- Linux系统通过firewall限制或开放端口
一.查看防火墙状态 systemctl status firewalld 开启防火墙并设置开机自启 systemctl start firewalld systemctl enable firewal ...
- K8S的API Server认证介绍
一.说明 kube-apiserver是k8s最重要的制组件之一,主要提供以下功能: 提供集群管理的REST API 接口, 包括认证授权.数据校验以及集群状态变更等 k8s 中所有模块与 etcd ...
- 袋鼠云:基于Flink构建实时计算平台的总体架构和关键技术点
数栈是云原生-站式数据中台PaaS,我们在github和gitee上有一个有趣的开源项目:FlinkX,FlinkX是一个基于Flink的批流统一的数据同步工具,既可以采集静态的数据,也可以采集实时变 ...
- Solon Flow:轻量级流程编排引擎,让业务逻辑更优雅
在当今快速迭代的软件开发环境中,如何高效地管理和执行业务流程成为了开发者面临的重要挑战.Solon Flow作为Solon生态中的流程编排引擎,以其轻量级.高灵活性和强大的表达能力,为开发者提供了一种 ...
- MKL库求解矩阵特征值、特征向量(LAPACKE_dgeev、dsyev)
LAPACK(Linear Algebra PACKage)库,是用Fortran语言编写的线性代数计算库,包含线性方程组求解(\(AX=B\)).矩阵分解.矩阵求逆.求矩阵特征值.奇异值等.该库用B ...
- C# WinForm 选择文件夹对话框
选择文件夹只有选择 FolderBrowserDialog,这种选择对话框让人有些抓狂,特别当文件目录比较深.需要多次选择文件夹操作时. 参考:自定义文件夹选择对话框 - 我也是个傻瓜 - 博客园 ( ...