Java-数组遍历

for循环遍历

具体描述

假设有一个数组nums,设置初始条件i=0,即从数组的第一个开始,循环结束条件为i<nums.length,即数组中所有元素的数量,设置更新条件i++,即依次遍历完数组中所有元素

实例:

public class demo04 {public static void main(String[] args) {int[] nums= {1,3,5,7,9};for(int i=0;i<nums.length;i++) {int n=nums[i];System.out.println(n);}}
}

使用for each循环

直接迭代数组中的每个元素:在for(int n:nums)循环中,变量n直接拿到nums数组的元素,而不是索引。显然for each循环更加简洁。但是,for each循环无法拿到数组的索引,因此,到底用哪一种for循环,取决于我们的逻辑需要。

public class demo04 {public static void main(String[] args) {int[] nums= {1,3,5,7,9};for(int n:nums) {System.out.println(n);}}
}

打印数组内容

直接打印数组内容,得到的是数组的引用地址 ,如果要打印数组内容,除了使用for循环或for each循环打印,还可以使用Arrays工具类的toString方法,直接打印数组内容

import java.util.Arrays;
public class E13 {public static void main(String[] args) {//数组类型[]数组名称=new 数组类型[长度]int arr01[]=new int[100];double arr02[]=new double[2];boolean arr03[]=new boolean[5];//打印方式1//直接打印数组:数组类型@内存地址System.out.println(arr01);System.out.println(arr02);System.out.println(arr03);//打印方式2//通过Arrays工具类的toString()方法查看数组中的内容System.out.println(Arrays.toString(arr01));System.out.println(Arrays.toString(arr02));System.out.println(Arrays.toString(arr03));		}	
}

打印结果如下:

 [I@15db9742
[D@6d06d69c
[Z@7852e922
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0.0, 0.0]
[false, false, false, false, false]

二维数组遍历

可以用双层for each循环

import java.util.Arrays;
public class demo04 {public static void main(String[] args) {int[][] nums={ {1,3,5,7,9},{2,4,6,8,10},{3,5,7,3}};for(int[] n:nums) {for(int m:n) {}System.out.println(Arrays.toString(n));}}
}

执行结果:

 [1, 3, 5, 7, 9]
[2, 4, 6, 8, 10]
[3, 5, 7, 3]

还可以使用Arrays.deepToString()方法 

import java.util.Arrays;
public class demo04 {public static void main(String[] args) {int[][] nums={ {1,3,5,7,9},{2,4,6,8,10},{3,5,7,3}};System.out.println(Arrays.deepToString(nums));}
}

 执行结果:

[[1, 3, 5, 7, 9], [2, 4, 6, 8, 10], [3, 5, 7, 3]]

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/683155.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2019年全年回顾

本文于2020年Q1完成&#xff0c;发布在个人博客网站上。 最近几年处于动荡之中&#xff0c;比较忙碌&#xff0c;好几年没有写年度总结了。 现在2020年Q1马上结束&#xff0c;先把19年的总结补了。 年度大事记 1月 启动项目迁移工作。 深圳团队的人员释放&#xff0c;在南京…

java数据结构前置知识以及认识泛型

目录 什么是集合框架 容器 时间复杂度 空间复杂度 包装类 装箱 拆箱 引出泛型 泛型类的使用 类型推导 泛型如何编译的 泛型的上界 泛型方法静态泛型方法以及泛型上界 什么是集合框架 Java 集合框架 Java Collection Framework &#xff0c;又被称为容器 containe…

算法训练营day24(补),回溯4-2

import ( "fmt" "sort" ) 78. 子集 func subsets(nums []int) [][]int { //存储全部集合 result : make([][]int, 0) if len(nums) 0 { return result } //存储单次集合 path : make([]int, 0) var backtrace func(numList []int, startIndex int) bac…

变量与运算符

目录 1. 关键字&#xff08;keyword&#xff09; 2. 标识符( identifier) 3. 变量 3.1 为什么需要变量 3.2 初识变量 3.3 Java中变量的数据类型 3.4 变量的使用 3.4.1 步骤1&#xff1a;变量的声明 3.4.2 步骤2&#xff1a;变量的赋值 4. 基本数据类型介绍 4.1 整数…

cool Nodejs后端框架 如何快速入门 写一个接口

1.cool 框架 js前端开发者 想自己写后端接口 快速入门的就是node.js 了 可以用这个框架自己做一些东西 或者实现前后端的开发 2.目录结构 这个基本上 就是cool 框架的项目结构 主要是 这个src 中的modules 文件夹 这个文件夹 主要是一些接口模块 比如 business 中 相当于…

OJ_深度优先搜索

题干 c代码 #include <iostream> #include <algorithm> using namespace std; #define Max_M 100 #define Max_N 100 char a[Max_M][Max_N],M,N; void dfs(int x,int y) {//先把w替换成.//然后遍历8个方向a[x][y] .;for(int dx -1;dx < 1;dx){for(int dy -1…

基于 Python 的大数据的电信反诈骗系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

车载诊断协议DoIP系列 —— 车载以太网诊断需求规范(网关、路由)

车载诊断协议DoIP系列 —— 车载以太网诊断需求规范(网关、路由) 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自…

Springboot加载bootstrap和application原理

Springboot加载bootstrap和application原理 bootstrap.yml能被springboot加载导入依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.6</version><rel…

Bitcoin Bridge:治愈还是诅咒?

1. 引言 主要参考&#xff1a; Bitcoin Bridges: Cure or Curse? 2. 为何需关注Bitcoin bridge&#xff1f; 当前的Bitcoin bridge&#xff0c;其所谓bridge&#xff0c;实际是deposit&#xff1a; 在其它链上的BTC情况为&#xff1a; 尽管当前约有43.7万枚BTC在其它链上…

防御保护---防火墙的带宽管理

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一.带宽管理概述 带宽管理是指限制网络流量的速率或控制网络流量的优先级&#xff0c;以确保网络的性能和可用性。 防火墙带宽管理核心&#xff1a; 带宽限制&#xff1a;限制非关键业务的流量…

PR:视频源素材的截取操作

导入素材后&#xff0c;双击视频素材&#xff0c;打开源视频 1&#xff1a;设置入点 2&#xff1a;设置出点&#xff0c;设置完出入点&#xff0c;抓取视频就可以将入点至出点的片段拖至时间轴上 3&#xff1a;转到入点 4&#xff1a;后退一帧 5&#xff1a;播放 6&#x…

全面理解JVM虚拟机

为什么要学JVM&#xff1f; ​ 首先&#xff1a;面试需要。面试题层出不穷&#xff0c;难道每次面试都靠背几百上千条面试八股&#xff1f; ​ 其次&#xff1a;基础决定上层建筑。自己写的代码都不知道是怎么回事&#xff0c;怎么可能写出靠谱的系统&#xff1f; ​ 然后&a…

【算法设计与分析】反转链表 ||

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;算法分析与设计 ⛺️稳中求进&#xff0c;晒太阳 题目 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表…

机器学习入门--循环神经网络原理与实践

循环神经网络 循环神经网络&#xff08;RNN&#xff09;是一种在序列数据上表现出色的人工神经网络。相比于传统前馈神经网络&#xff0c;RNN更加适合处理时间序列数据&#xff0c;如音频信号、自然语言和股票价格等。本文将介绍RNN的基本数学原理、使用PyTorch和Scikit-Learn…

【网络攻防实验】【北京航空航天大学】【实验四、防火墙配置(Firewall Configuration)实验】

实验四、防火墙配置(Firewall Configuration)实验 一、 实验环境搭建 1. Kali Linux网络配置 将Kali Linux虚拟机网卡1设置为NAT网络模式,ip地址为10.0.2.5,如下图所示: 配置NAT网络端口转发: 将Kali Linux网卡2设置为内部网络模式: 配置Kali Linux网卡1: 类似地,配…

Spring Cloud 路由和消息传递 (HTTP 路由)

Spring Cloud 路由 Spring Cloud 路由是指将请求路由到特定服务的机制。Spring Cloud 提供了多种路由机制&#xff0c;包括&#xff1a; Ribbon: 一个基于 HTTP 和 TCP 的客户端负载均衡工具&#xff0c;提供软负载均衡、故障转移等功能。Feign: 一个声明式的 HTTP 客户端&am…

在中国做 DePIN?你需要明白风险与机遇

撰文&#xff1a;肖飒团队 来源Techub News专栏作者 随着科技的发展&#xff0c;我们正在日益进入一个资源相对过剩的时代&#xff0c;这使我们在日常生活中虽然支付了该部分资源的使用费&#xff0c;但却时常不能将其「物尽其用」&#xff0c;难免出现资源浪费。例如&#x…

【More Effective C++】条款19:了解临时对象的来源

临时对象&#xff1a;没有命名&#xff0c;不会出现在源代码中 帮助隐式类型转换成功而创建的对象 编译器创建一个类型为string的临时对象&#xff0c;以buffer作为参数&#xff0c;调用string的构造函数&#xff1b;str绑定到了这个临时对象上函数返回时&#xff0c;这个临时…

PHP+vue+mysql校园学生社团管理系统574cc

运行环境:phpstudy/wamp/xammp等 开发语言&#xff1a;php 后端框架&#xff1a;Thinkphp 前端框架&#xff1a;vue.js 服务器&#xff1a;apache 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat/phpmyadmin 前台功能&#xff1a; 首页&#xff1a;展示社团信息和活动…