Java(五)——浅谈Java数组(一)

电机FOC控制实战:STM32 CubeMX配置六路互补PWM与死区优化 本文详细介绍了如何使用STM32 CubeMX配置六路互补PWM与死区优化,实现电机FOC控制。通过实战经验分享,包括时钟配置、定时器设置、死区时间计算及优化技巧,帮助开发者避免常见问题,提升电机控制性能。特别适用于STM32G4系列的无刷电机驱动应用。 阅读详情

一、数组类型

数组是一种最常见的数据结构,可用于存储多个数据,每个数组元素存储一个数据。通常可以通过数组元素的索引来访问数组元素,包括为数组元素赋值和读取数组元素中的值。

Java中要求一个数组中所有的数组元素必须是同一种数据类型。因为Java是面向对象语言,类与类之间存在继承关系,因此容易造成Java数组的数组元素可以是多个类型的假象。比如苹果类和橘子类都可以继承水果类,因此在一个水果数组中,既可以有苹果对象,也可以有橘子对象(苹果、橘子都是特殊的水果)。但是这个数组类型仍然是唯一的,只能是水果。

二、定义数组

数组也是一种数据类型,比如int[]就是一种数据类型,与int类型、String类型类似,可以使用该类型定义变量,也可以用来进行类型转换。

Java定义数组有两种语法格式:
type[] arrayName;
type arrayName[];
通常推荐使用第一种格式来定义数组,因为第一种不仅有更好的语义,而且具有更好的可读性。对于type[] arrayName;定义,很容易理解这是定义一个变量,变量名是arrayName,变量类型为type[]。前面已经提出type[]是一种新类型,与type类型完全不同(例如int[]类型是引用类型,而int类型是基本类型)。

数组是一种引用类型的变量,因此使用它定义一个变量时,仅仅表示定义了一个引用变量,这个引用变量还未指向任何有效内存,因此定义数组时不能指定该数组的长度。而且由于定义数组只定义了一个引用变量,没有指向任何有效内存空间,所以还没有内存空间来存储元素,因此这个数组也不能使用,只有对数组进行初始化之后才可以使用。

三、数组的初始化

Java中数组必须初始化才可以使用,所谓初始化,就是给数组元素分配内存空间,并为每个数组元素赋初值。
数组的初始化有一下两种方式。

  • 静态初始化:初始化时由程序员指定数组元素的初值,由系统决定数组长度。
  • 动态初始化:初始化时程序员只指定数组长度,由系统为数组元素分配初值。
静态初始化

语法格式如下:

arrayName = new type[]{element1,element2,...};

例如:
静态初始化还有如下简化的格式:

type[] arrayName = {element1, element2,...};

只有在定义数组的同时执行初始化才支持使用简化的静态初始化。

动态初始化

动态初始化只指定数组长度,由系统为每个数组元素指定初始值。语法格式如下:

arrayName = new type[length];

只需要指定一个int类型的length参数,这个参数指定了数组长度。与静态初始化类似的是,这里的type必须与定义该数组时使用的type类型相同,或者是定义数组时使用的type类型的子类。例如:
Object[] books;
books = new String[5];
定义和初始化可以合为一步:
Object[] books = new String[5];

动态初始化时,系统按如下规则为数组元素分配初始值:

  • 数组元素的类型是基本类型中的整数类型(byte、short、int、long),则数组元素初值为0;
  • 数组元素的类型是基本类型中的浮点类型(float、double),则数组元素初值为0.0;
  • 数组元素的类型是基本类型中的字符类型(char),则数组元素初值为’\u0000’;
  • 数组元素的类型是基本类型中的布尔类型(boolean),则数组元素初值为false;
  • 数组元素的类型是引用类型(类、接口和数组),则数组元素初值为null。

四、遍历数组

int[] numbers = new int[10];
此时numbers数组变量指向一块内存区域,该内存区域存储了十个数组元素,每个数组元素均是整数类型,且由系统为数组元素分配初始值,初值均为0。
接下来遍历该数组并输出每个数组元素:
方法一:

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

方法二:

for(int number : numbers) {
	System.out.println(number);
}

方法二为使用foreach循环遍历数组。Java 5之后,Java提供了一个更简单的循环:foreach循环,这种循环遍历数组和集合更加简洁。无需获得数组和集合的长度,无需根据索引来访问数组元素和集合元素,foreach循环自动遍历数组和集合的每个元素,直到该数组或集合的所有元素均被迭代一次后,自动跳出循环。foreach循环语法格式如下:

for(type variableName : array|collection) {
	// variableName自动迭代访问每个元素...
}

其中,type是数组元素或集合元素的类型,variableName是一个形参名,作为循环变量,foreach循环将自动将数组元素、集合元素依次赋给该变量。
注意
使用foreach循环迭代数组元素时,并不能改变数组元素的值,因此不要对foreach的循环变量进行赋值。

多普勒效应及多普勒频移的简单推导 多普勒频移的简单推导 阅读详情

相关推荐

Apollo MPC横纵向耦合控制学习笔记

Apollo MPC横纵向控制原理学习笔记

weixin_39199083的博客 1万+

Java集合面试题(总结最全面的面试题)

集合容器概述 什么是集合 集合就是一个放数据的容器,准确的说是放数据对象引用的容器 集合类存放的都是对象的引用,而不是对象的本身 集合类型主要有3种:set(集)、list(列表)和map(映射)。 集合的特点 集合的特点主要有如下两点: 集合用于存储对象的容器,对象是用来封装数据,对象多了也需要存储集中式管理。 和数组对比对象的大小不确定。因为集合是可变长度的。数组需要提前定义大小 集合和数组的区别 数组是固定长度的;集合可变长.

yoyo31的博客 1万+

多层感知机 Multilayer Perceptron | MLP

本文主要简单介绍了多层感知机的基本概念,优缺点,应用场景,建模时的注意事项,评价指标,实现方法,python示例和模型的参数等。

JasonH2021的博客 3万+

java基础知识(第二章java语言基础)(3)(数组)

8.3数组常见操作问题:

baobeiduoduo的博客 246

从BIOS到路由器:深入拆解SPI NOR Flash的硬件连接与‘芯片内执行’(XIP)奥秘

本文深入解析SPI NOR Flash的硬件连接与‘芯片内执行’(XIP)技术,从BIOS到路由器的应用场景出发,详细介绍了其架构精髓、典型连接方案、时序设计及性能优化方法。通过实际案例和参数对比,帮助开发者掌握NOR Flash在嵌入式系统中的关键作用与设计技巧,提升电路设计效率与可靠性。

weixin_30522183的博客 492

KEPServerEX与三菱iQ-R系列PLC通讯

KEPServerEX与三菱iQ-R系列PLC通讯Mitsubishi Ethernet北京东方鼎晨科技有限公司目 录1. 前言2. 三菱PLC端相关设置3. Kepware端相关设置KEPServerEX是美国PTC Kepware公司生产的具有行业性的连接平台,KEPServerEX支持150多种通讯协议,用于向您的所有应用程序提供单一来源的工业自动化数据。该平台的设计使用户能够通过一个直观的用户界面来连接、管理、监视和控制不同的自动化设备和软件应用程序。KEPServerEX利用OPC(自动化产业的互

qq_28768521的博客 8097

【Java】浅谈Java数组的定义与使用

????写在前边???? 前言 本篇博客主要讲述了以下几点问题 1. 理解数组基本概念 2. 掌握数组的基本用法 3. 数组与方法互操作 4. 熟练掌握数组相关的常见问题和代码~ 【☕Java】Java数组的定义与使用????写在前边????数组基本用法什么是数组创建数组**基本语法**动态初始化 数据类型[] 数组名称 = new 数据类型 [ ] { 初始化数据 };如果在创建的同时不初始化数组则必须指定其大小 数据类型[] 数组名称 = new 数据类型 [元素个数] ;静态初始化 数据类型[]

DerrickWestbrook的博客 5650

基于PINN的一个简单的求解偏微分方程实例

本人是做化工模拟的一名学生,最近在学习PINN(Physics-Informed Neural Networks,物理信息神经网络)对管道动力学进行建模研究,PINN由于其对机理与数据的良好兼顾性非常热门,本文是作者对PINN入门研究过程的一个练手小题目,main code也是作者代码是基于pytorch2.6.0写的,发上来供各位参考,欢迎研究管道动力学和PINN的小伙伴一起讨论~

weixin_64491760的博客 1741

【五】Java数组

目录 一、数组的概念 二、数组的声明和赋值 三、数组的下标 四、数组的异常错误 五、数组的遍历 六、数组的应用 七、数组的排序 八、关于二维数组 知识章节参考:【五】Java数组思维导图 【二维数组经典案例与详解】打印“杨辉三角”的三种方案(个别方案超纲!) 【排序经典案例与详解】Java排序法合集(冒泡、选择、JDK排序详解) 【习题与详解】 1、自定义一个数组a,读入一个整数n,如果...

奈何的人生 1868

RAG在医药行业为什么80%都翻车了?

这篇文章不是要劝你别做RAG,而是把坑说清楚。医药行业有它的特殊性——监管压力、专业术语密度、多语言混排、文档结构复杂——这些因素叠加在一起,让标准RAG教程里的那套方法论几乎直接失效

qq_31808385的博客 635

基于Simulink的PID控制防抱死制动系统(ABS)建模与仿真

防抱死制动系统(Anti-lock Braking System,简称ABS)是一种用于防止车辆在紧急制动时车轮完全抱死的技术。通过实时监测车轮速度并调节制动力,ABS能够显著提高车辆的制动性能和操控稳定性,从而减少交通事故的发生。PID(比例-积分-微分)控制器因其结构简单、性能稳定且易于实现而被广泛应用于ABS控制系统中。本项目旨在通过MATLAB/Simulink平台设计和验证一个基于PID控制的ABS系统,重点研究PID参数调优方法、系统动态响应特性以及制动过程中的滑移率控制能力。

MHD0815的博客 485

模块五 数组

问题:如果我们想存储一个数据,我们可以使用变量,但是变量一次只能存储一个数据,所以我们想能不能一次存储多个数据数组的概述:是一个容器,数组本身属于引用数据类型作用:一次存储多个数据特点:a. 既可以存储基本类型的数据,还能存储引用类型的数据;b.定长(定义数组时,长度为多长,最多能存多少个数据),同时也是缺点。定义:a. 动态初始化:定义数组的时候,我们没有给具体的数据,只指定了长度数据类型[] 数组名 = new 数据类型[长度]或者数据类型 数组名[] = new 数据类型[长度]

枫林残忆 951

Untiy之如何实现AI+MR (Pico4u 相机推流MR画面给Server做实时AI图像识别)

本文介绍了基于Pico4U企业版开发AI+MR应用的实现方案。文章详细说明了硬件准备步骤,包括购买企业版设备、申请相机权限和注册管理平台。重点讲解了Unity开发中获取摄像头画面的两种技术方案:通过Overlay直接渲染到Android Surface,或使用API获取图像数据转换为Texture。提供了完整的代码示例和权限配置说明,并揭示了底层通过JNI调用Android原生API的技术原理。该方案适用于带电操作等实习场景,可提升安全性和学习趣味性。

TxNet 1342

初始java数组

1.初始化定义 2.数组的三种打印方式 3.数组引用null 4.浅谈引用变量的影响 5.与数组相关的字符串操作 以及javaJVM内存简单介绍 6.浅谈二维数组与C的区别

AgoniTop的博客 5121

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Java学习五—数组

在Java中,数组是一种特殊的对象,用于存储固定大小的相同类型的元素。数组可以存储基本数据类型(如int、char、boolean等)或对象引用。​

qq_17153885的博客 838

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

五、数组——Java基础篇

在Java中使用数组,一般需要3个步骤:声明数组、创建数组对象空间、为数组元素赋值。其中,声明数组和创建数组对象空间的语法如下: 数据类型[] 数组名; // 声明一维数组,这种是推荐的写法 数据类型 数组名[]; // 声明一维数组的第二种写法 数组名 = new 数据类型[数组元素个数]; // 为数组对象分配内存空间

木头博客 1160

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

浅谈Java数组

浅谈Java中的数组 一、数组的定义与使用 1、 数组概念 数组是一组具有相同类型的数据的集合。其本质上就是让我们能批量创建相同类型的变量。数组在内存中是连续存放的。 eg:如果需要表示两个数据,那么直接创建两个变量即可 int a ;int b 。 如果需要表示一万个数据,那么就不能创建一万个变量了,此时就需要使用使用数组来帮我们批量创建。 值得注意的是Java中数组包含的变量类型必须是相同的。...

WangHuiMing_的博客 199

Java浅谈数组(一)

数组: 编程语言中最常见的一种数据结构,数组就是内存中一段连续的存储空间。可以用于存储多个数据,每个数组元素存放一个数据,通常可通过数组元素的索引来访问数组元素。 1.java数组:   具有相同的数据类型,长度是固定的,通过索引或者下标来访问数组中的数据。(数组也是一种数据类型,它本身是一种引用类型) 2.定义数组: 语法: type [] arrayName; 或 t...

diaowoyan6442的博客 122

JAVA——浅谈数组

新手学JAVA数组必知 本质:同种类型,多个变量的集合体(通过后文代码可帮助理解) 性质: 长度固定 属于引用数据类型 下标=数组长度-1 正在阅读的你至少要掌握以下三点: 数组的声明,初始化 数组的遍历 数组的排序 1.数组的声明及初始化 法一: 例: int[] arry = new int[3]; // 此处创建了一个int类型的数组,且长度为3 arry[0] = 13; ...

quyanyanchenyi的博客 176

浅谈java数组

数组是最基本的数据类型之一,也是最简单的数据类型,想要深入学习数据类型,数组是一个很好的学习入口。 1.创建数组 在Java语言中,数组是一个对象,所以在创建数组时需要new关键字,而且数组的大小必须事先声明。 例:int[] intArr = new int[10]; 或 User[] userArr = new User[10]; 还有一种情况是,直接用“{}”包围起来创建数组,这种创

zzzxxv 1092

java中定义byte数组,浅谈java的byte数组的不同写法

(由于篇幅原因阐述的不够详细科学,不喜勿喷)。经常看到java中对byte数组的不同定义,粗略整理的一下:一个字节(byte)=8位(bit),“byte数组”里面全部是“byte”,即每一个byte都可以用二进制、十六进制、十进制来表示。二进制:00010110----->0*2^8 + 0*2^7 + 0*2^6 + 1*2^5 + 0*2^4 + 1*2^3 + 1*2^2 + 0*2...

weixin_32466193的博客 1万+

Java浅谈数组之多维数组

二维数组 java语言里提供了支持多维数组的语法。但如果从数组底层的运行机制上来看——没有多维数组。 java里的数组类型是引用类型,因此数组变量其实是一个引用,这个引用指向真实的数组内存,数组元素的类型也可以是引用,如果数组元素的引用再次指向真实的数组内存,这种情形看上去很像多维数组。 类似的定义java二维数组的语法:   type [] [] arrayName; 但...

diaowoyan6442的博客 157

数组:加一(Java)

加一 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123。 示例 2: 输入: [4,3,2,1] 输出: [4,3,2,2] 解释: 输入数组表示数字 4321。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/plus-on

qq_42847094的博客 1324

浅谈泛型数组

声明:本文为原创,如有转载请注明转载与原作者并提供原文链接,仅为学习交流,本人才识短浅,如有错误,敬请指正 我的其他随笔: 来一局紧张刺激的吃鸡——浅谈装饰者模式 一起去开心的购物吧——浅谈观察者模式 记一场精彩的篮球比赛——浅谈策略模式 大家好,前几日连夜更了几篇Java设计模式的小随笔,从观看量来说,我还是很高兴的,有很多的朋友通过看了博文,也许接触了新的知识,也许理解了自己之前没弄...

weixin_30653097的博客 184

java 数组的应用_浅谈Java基础中的数组及其应用

大家都知道,在java中,我们可以使用变量来存放单个相关的数据,比如存放一个整数5,可以直接使用赋值语句 int a = 5这样就把5存放到变量a当中了。 那么不管在学习或者开发中我们遇到这样的情况:存放一连串的相关数据,显然,变量是不能够满足我们的这个要求。Java给我们一个好的解决方法--数组。数组的定义1. 数组的概念数组是由一组相同类型的变量所组成的数据类型,以一个共同的名称表示,用标注来...

weixin_39855869的博客 266

浅谈JAVA数组与对象

数组的定义: int [ ] array=new int[ ]; JAVA中数组在堆上。 如果数组不进行初始化,默认所有元素为0。 System.out.pritln(Arrays.toString(array)) ; //以字符串的形式打印数组。 二维数组 int [ ] [ ] array = new int [行数] [列数],二维数组每个元素用{ }括起来,如:{(1,2),(3,4),...

weixin_44790716的博客 657
上一篇: Java(四)——Java的文档注释(使用javadoc工具生成API文档)
下一篇: Java(六)——浅谈Java数组(二)
Undergoer_TW
博客等级 码龄11年 185粉丝 103原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值