Java基础:第十四讲 数组

《算法零基础100讲》之 第二讲:基本数据结构与数组 学习了基本数据结构的概念,特别是数组。通过C#、Java和C语言的示例代码了解了数组的基本操作。理解了数组的优缺点。 阅读详情

 

数组用于存储同种类型的数据,在Java 中数组是一个类型,包括两个方面的信息,数组对象和元素。
       (1 )数组的定义
       数组定义可以使用两种格式:
n         类型[] 数组名
n         类型 数组名[]
       类型是数组中元素的类型,可以是基本数据类型,可以是用户定义的类型,两种格式没有太大的区别。
    下面的代码定义一个日期类型的数组:
n         Date[] d1;
n         Date d2[];
       下面的代码定义一个整型数组:
n         int[] i1;
n         int []i2;
【注意】与C++ 不同,Java 语言在定义数组的时候不需要确定数组元素的个数。
       (2 )数组对象的实例化
数组的初始化包括两个过程:
n         数组对象的实例化
n         数组元素的实例化
数组对象的初始化主要确定数组中元素的个数,如果元素类型不是基本数据类型,元素的值都是null ,如果是基本数据类型,系统会给出默认值。
数组对象的初始化格式如下:
对象名 = new 类型[ 元素个数]
下面的代码是对上面定义的几个数组对象的初始化:
//d1数组有5个元素
d1 = new Date[5];   
//d2数组有4个元素
d2 = new Date[4];   
//i1数组有5个元素
i1 = new int[5];     
//i2数组有6个元素
i2 = new int[6];     
实例化之后,如果数组元素类型是对象,默认值都是null 。
基本数据类型元素的默认值如表8-1 所示。
表8-1 基本数据类型的默认值
元素类型
默认值
char
0 (存储值,不是字符“0 ” )
byte
0
short
0
int
0
long
0
float
0.0
double
0.0
boolean
false
数组实例化也可以在定义数组的时候直接完成。
下面的代码定义有3 个元素的整型数组:
int i2[] = new int[3];
(3 )数组元素的访问
数组对象实例化之后,对象的值为null ,或者默认值,如果是对象,需要进行元素的实例化。
要对元素进行实例化,需要对每个元素进行操作。访问数据元素的方法如下:
数组名[ 索引]
索引值从0 开始,到数组元素个数减1 ,如果数组元素是5 个,索引值从0 到4 。如果索引大于等于数组元素个数,会产生运行时错误:
java.lang.ArrayIndexOutOfBoundsException
下面的方式用于访问上面定义的数组d1 的元素:
d1[0],d1[1],d[2],d[3],d[4]
(4 )数组元素的实例化(赋值)
要对元素进行初始化使用new 关键字(元素类型为基本数据类型的时候不需要使用new 关键字)。
下面的代码对d1 数组的元素进行实例化:
              for(int i=0 ;i<d1.length ; i++)
              {
                     d1[i] = new Date();
              }
对每个元素都使用new Date() 进行实例化,但它们是不同的对象。
赋值过程也可以在定义数组的时候进行。
下面的代码在定义数组的时候为对象赋值
              int[] i2 = {2,3,4,5};
              Date d2[] = {new Date(),new Date(),new Date()};
(5 )修改数据元素的值
数组实例化之后,随时可以对数组元素进行修改。
如果数组元素的类型是基本数据类型,直接通过索引访问修改即可。
下面的代码分别为i1 数组的5 个元素赋值1 到5 :
              for(int i=0 ;i<i1.length ; i++)
              {
                     i1[i] = i+1;
              }
如果数组元素的类型是对象,先获取这个对象,然后进行操作。
下面的代码修改d1 数组中元素的信息:
              for(int i=0 ;i<d1.length ; i++)
              {
                     d1[i].setDate(i+1);
              }
 
 
    李绪成 优快云 Blog : http://blog.youkuaiyun.com/javaeeteacher
SpringCloud2025+SpringBoot3.5.0+gateway+webflux子服务路由报503 本来昨天就应该也记录下,免得忘记的,但是有点晚了,酒没写,真的是被坑惨了。当然这也是追求最新的代价,也是对新技术、老知识点的重温。依赖更粒度让架构的知识面更高,需要非常清楚另外说不定是有新的负载均衡要出现了,就想当初loadbalancer取代Ribbon一样好了,真是坑了半夜,昨晚都没有写,今天才复盘,希望能帮到大家,让更多在坑里的技术人爬出来。 阅读详情

相关推荐

基于SVPWM控制策略的二极管钳位型NPC逆变器并网闭环simulink仿真

本文介绍了二极管钳位型三电平SVPWM技术在逆变器中的应用,通过控制IGBT的开关状态,将直流电压转换为三相交流电压,并采用钳位技术降低谐波失真,提高输出质量。文章还描述了基于SVPWM控制策略的二极管钳位型NPC逆变器并网闭环的Simulink仿真模型,该模型实现了并网控制,具有优异的性能,THD小于1%,适用于新手学习。仿真模型参数包括DC 800V、AC 380V、功率100kw,采用三电平NPC拓扑结构和SVPWM闭环控制策略,配备LCL滤波器,生成三电平波形,监测交流侧电压电流、有功功率和无功功率

2510_91195931的博客 468

java第十四讲--数组

包装类 包装类(Wrapper Class):针对于原生数据类型的包装。所有的包装类(8个)都位于java.lang包下,java中的8个包装类分别是:Byte、Short、Integer、Long、Float、Double、Character、Boolean。他们的使用方式都是一样的,可以实现原生数据类型与包装类型的双向转换。 包装类的作用:java中就属于这八个原生数据类型不属于对象,或者说...

新白的博客 271

时空数据建模的跨节点联邦图神经网络:KDD21 Cross-Node Federated Graph Neural Network for Spatio-Temporal Data Modeling

前言 联邦学习(FL)虽然已经被广泛研究,但是对复杂的时空依赖关系进行建模以提高预测能力仍然是一个开放的问题。此外目前最优的时空预测模型假定对数据的访问不受限制,忽略了对数据共享的限制。基于此,本文提了一个基于图联邦学习的时空数据模型 Cross-Node Federated Graph Neural Network (CNFGNN),该模型在跨节点联邦学习的约束下,使用基于图神经网络(GNN)的架构对底层图结构进行编码,属于结构化联邦的一种,每个本地模型利用私有数据进行学习,并保持分散性。CNFGNN

qq_56027260的博客 1810

Java-输入一个四位数,将它拆开、组合成数组

1. package com.itheima.fiest; import java.util.*; public class zuoye3 { public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.print("请输入一个四位数:"); int ne...

笑对人生 策码奔腾 3054

Matlab中eig内置函数转为C语言

本文记录一下如何将MATLAB中的eig函数转为C语言,即通过C语言求解矩阵的特征值与特征向量。[V,D]=eig(Rx)中V为矩阵Rx的特征向量,D为矩阵的特征值。其中Rx维度为12*12的复矩阵。 首先在MATLAB端创建入口函数保存为eigvalue.m: 打开MATLAB Coder,添加入口函数: 3.在定义输入类型窗口中,需要添加输入数据来训练...

u011441044的博客 3516

YOLOv12环境配置,手把手教你使用YOLOv12训练自己的数据集和推理(附YOLOv12网络结构图),全文最详细教程

YOLO 系统尊嘟太卷了吧,YOLOv11 还没完明白,YOLOv12 就重磅来袭,YOLOv12 是由纽约州立大学联合中科院在 2025年2月19 日发布,从 YOLOv12 论文题目我们大概就知道做了那些更新 ,下图是YOLOv12 在 COCO 数据集上的性能表现引入区域注意力机制(area-attention):通过引入十字形窗口自我注意机制,沿水平和垂直条纹计算注意力机制,纵横交错的注意机制。如下图所示,区域注意力采用最多简单的等分方法,将特征地图垂直或水平划分为 L 个区域。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 6万+

Java基础篇:数组

数组是一种线性数据结构,是一个使用连续的内存空间存放相同的数据类型的集合容器,与其他容器相比,数组的区别主要在于性能与保存基本类型的能力。 在Java中,数组是一种效率最高的存储和随机访问对象的方式,通过寻址公式,随机访问的时间复杂可以达到O(1),但是为了保持空间的连续性,在数组中插入、删除数据时,都需要移动后面数据,该操作的时间复杂度为O(n)。另外,由于空间上连续,所以数组对CPU缓存比较友好,借助CPU的缓存机制,预读数组中的数据,提高访问效率。但是,由于数组是定长

张维鹏的博客 3万+

YOLOv8性能突破:DySample超轻量动态上采样算子的创新应用与实现【附保姆级代码】

YOLOv8(You Only Look Once Version 8)作为YOLO系列模型的最新版本,延续了高效、准确的目标检测优势。其基础结构包含了骨干网络(Backbone)、检测头(Head)、以及特征融合层(Neck)。在特征融合阶段,YOLOv8需要对不同尺度的特征图进行上采样,以便将低分辨率的特征与高分辨率的特征进行融合。传统的上采样操作多使用插值(如双线性插值)或固定卷积,而这些方法可能无法很好地适应复杂的上下文信息。

一键难忘的博客 3122

JAVA基础:数组

Java中数组的基本使用

愿你我都能实现自己的梦想 2320

Claude Code 错误解决方案: Request Timed Out 超时 原因、配置与解决方案

Claude Code 抛出 Request Timed Out 不仅可 能是网络问题,更大概率是 API 高负载或超大响应导致。本文从 默认超时机制出发,拆解三种根因场景,给出 API_TIMEOUT_MS 环境变量调优与任务拆分策略,帮助开发者在保证稳定性的同时 避免误判网络故障。

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 902

交换机四种光互联技术:OIO、OBO、NPO与CPO

在过去几十年里,数据中心交换机主要依赖电信号通过铜线进行数据传输。然而,随着数据传输速率从100Gbps向400Gbps、800Gbps甚至1.6Tbps迈进,传统电互联(Electrical Input & Output, EIO)面临三大瓶颈:信号衰减、功耗激增和空间限制。例如,高速信号在长距离铜线传输中会产生严重的信号失真,迫使设计者加入数字信号处理器(DSP)来补偿信号衰减,这进一步推高了功耗和成本。此外,传统可插拔光模块的体积较大,限制了端口密度,难以满足现代数据中心对高带宽密度的需求。

网络技术联盟站 3160

Java基础学习第六讲:数组

数组 一、数组概述 1、什么是数组? 数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。 2、数组的特点 长度是确定的。数组一旦被创建,它的大小就是不可以改变的。 其元素必须是相同类型,不允许出现混合类型。元素的类型可以是java 支持的任意类型。 数组类型可以是任何数据类型,包括基本类型和引用类型。 数组的元素在堆内存中被分配空间,并且是连续分配的 使用new 关键字对数组进行 内存的

跟着老高学Java 993

计算机视觉入门:从像素到理解的旅程

计算机视觉入门:从像素到理解的旅程,计算机视觉是人工智能领域的核心方向之一,旨在让计算机具备理解和解释视觉信息的能力。本文以系统化的知识框架,结合 Python 代码与经典案例,带您从像素级操作逐步掌握计算机视觉核心技术。涵盖图像处理、特征工程、传统机器学习到深度学习模型,助您构建从基础到进阶的完整能力体系。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 18万+

JAVA数组基础

初识Java数组,基础要打牢!

zhao_2907的博客 1621

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【Java基础】数组基础

Java当中的数组在栈中被使用,而数组指向堆中的数据才是真实的数据。数组只是引用了这些数据,因此,我们称数组为引用类型。当数组指向对应的数据时,我们称为”引用指向对象“。如下图所示,我们假设0x99是堆中的数据,数组array在栈中存放着这些数据的地址,通过调用指向堆中各自对应的数据,这就是”引用“。那么有没有可能存在数组不指向对象呢?在上面的代码中,arr2并不存在引用的情况,arr2这个引用不指向任何一个对象,只对数组进行了初始化。在运行了array[0]之后,则数组出现空指针异常。

Starc_的博客 943

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

咱们一起学 Java(第十四篇)

大家好,我一直都希望能与大家共同在Java编程的学习道路上稳步前行,通过分享知识和经验,一起攻克一个又一个编程难题。在之前的学习中,我们已经对Java基本程序结构中的诸多内容有了较为全面的认识,今天我们将继续探索Java中的两个重要概念——大数值和数组,这将进一步拓展我们处理数据的能力,让我们能够应对更复杂的编程任务。

wj_rdk的博客 2065

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

[Java基础] 创建一个对象数组

先从一段错误的代码切入,然后在后面提出正确的创建方法。先考虑这段代码:public class Student { private int age; private String name; public void Student() { this.age = 21; this.name = "someone"; } public v

lkxlaz的博客 1万+

【Java基础篇】Java 数组

Java 数组Java 数组声明数组变量创建数组处理数组For-Each 循环数组作为函数的参数数组作为函数的返回值多维数组多维数组的动态初始化(以二维数组为例)多维数组的引用(以二维数组为例)Arrays 类 Java 数组 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。 Java 语言中提供的数组是用来存储固定大小的同类型元素。 声明数组变量 首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法: dataType[] arrayRefVar

输入技术、输出想法 7531

Java基础(六):数组

数组的概念数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理数组中的概念数组名下标(或索引)元素数组的长度数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型创建数组对象会在内存中开辟一整块连续的空间。占据的空间的大小,取决于数组的长度和数组中元素的类型数组中的元素在内存中是依次紧密排列的,有序的数组,一旦初始化完成,其长度就是确定的。数组的长度一旦确定,就不能修改。

从基础到源码解析的学习记录 2810

Java数组详解:从基础到高级应用

数组(Array)是一种线性数据结构,用于存储一组相同类型的元素。数组中的每个元素通过索引(Index)进行访问,索引通常从0开始。数组的大小在创建时确定,且在Java中是固定的。Java数组是编程中的基本构建块,理解并熟练掌握数组的概念、操作和应用场景,对于编写高效、可维护的代码至关重要。通过合理使用数组,可以实现复杂的逻辑和功能,提高代码的可读性和可维护性。在实际编程中,应遵循数组的最佳实践,避免数组的局限性,合理选择替代方案。通过不断练习和应用,可以提升编程技能,编写出更清晰、更高效的代码。

xycxycooo的博客 2711

第五讲 - Java数组详解

深入探索Java世界,领略编程之美。从基础语法到高级特性,从实战案例到性能优化,《Java后端学习路线》专栏带你领略编程的无穷魅力。无论你是初学者还是资深开发者,这里都有适合你的精彩内容。让我们一起在Java的世界里,书写代码的传奇! 欢迎大家支持订阅本专栏,后续内容更加精彩。

智潮先锋聚集地 1033

深入浅出 Java 数组:从基础到进阶

优点缺点存储相同类型的一组值数组的长度固定,无法动态调整访问元素速度快如果需要动态存储,需要使用其他数据结构,例如链表方便操作数组越界和空指针错误是常见的错误类型概念描述示例数组用来存储相同数据类型的一组值,每个元素都有唯一的索引数组创建使用new关键字或直接赋值初始化或数组访问使用索引访问数组元素,索引从 0 开始// 输出第一个元素的值数组遍历使用循环遍历数组元素使用for循环或增强for循环遍历数组排序使用方法对数组进行排序数组查找使用。

weidl001的博客 1356

第六讲 Java语法基础——数组

数组的概念 同一种类型数据的集合,其实数组就是一个容器。数组既可以存储基本数据类型,也可以存储引用数据类型。 数组的定义格式 格式一: 元素类型[] 数组名 = new 元素类型[元素个数或数组长度]; 例,需求:想定义一个可以存储3个整数的容器。 int[] x = new int[3]; 格式二: 元素类型[] 数组名 = new 元素类型[]{元素, 元素, ...

李阿昀的博客 731

Java基础 — 数组

Java数组是存储固定数量同类型元素的数据结构,属于对象类型。声明数组需指定元素类型和方括号,如int[] arr或int arr[],推荐前者规范写法。创建数组必须使用new关键字指定长度,例如int[] arr = new int[5],此时元素会根据数据类型自动初始化默认值(整型0,浮点0.0,布尔false,对象null)。也可直接初始化具体元素:String[] names = {"Alice", "Bob"}。数组通过从0开始的索引访问元素,arr[0]表示首个元素。

2403_89893216的博客 1182

Java基础知识14讲-07:Java数组

【Java基础知识14讲-07:Java数组】 数组是相同类型的数据按顺序组成的⼀种复合数据类型。 如果在程序中想定义多个同样类型的。变量,数组是⼀个很好的⽅法 数组是⼀组相关数据的集合,可以分为⼀维数组,⼆维数组和多维数组。 一:声明数组 声明数组包括数组的名字,数组包含的元素的数据类型 声明⼀维数组有下列两种格式: 1.数组元素类型数组名字[]; 2.数组元素类型[] 数组名字; 例如: i...

兰海泽的博客 329

Java从零开始 第5讲 数组,数组算法

Java从零开始 第5讲 数组,数组算法什么是数组声明一个数组数组基本操作数组操作常见问题数组的两种常用简单算法冒泡排序二分查找转载请注明出处 什么是数组 数组是相同数据类型的多个数据的集合,放在数组中的元素都为相同的数据类型,且他们按线性顺序排列,即一个一个的排列。 声明一个数组 声明数组主要有四种格式: 数据类型[] 数组名称 = new 数据类型[数组长度]; 数据类型[] 数组名称 = {数组内容1,数组内容2,数组内容3…数组内容n}; 数据类型[] 数组名称; (现阶段不推荐使用) 数据类型[

CheakccL的博客 247
上一篇: 为“得”而“舍”
下一篇: Java基础:第十五讲 方法使用
老李-大连
博客等级 码龄20年 3206粉丝 308原创
评论 15
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值