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

ubuntu24.04+RTX5090D 显卡驱动安装 本文详细介绍了在Ubuntu系统中更新内核、安装NVIDIA驱动的步骤。首先,通过mainline工具安装新版内核,并确保GCC版本兼容。接着,在无桌面环境下配置TTY模式,解决中文显示问题。然后,禁用默认的nouveau驱动,安装NVIDIA驱动,并选择开源驱动以避免黑屏问题。最后,重新启用图形界面,并通过测试软件验证显卡功能。整个过程涵盖了内核更新、驱动安装、TTY配置及图形界面恢复等多个关键步骤,适合需要手动配置NVIDIA驱动的用户参考。 阅读详情

一、数组类型

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

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的循环变量进行赋值。

深度强化学习在足式机器人中的应用 (一):基础原理与仿真环境 我们将首先深入探讨其背后的核心挑战与技术栈,然后详细推导机器人学和强化学习的基本数学原理,特别是剖析在机器人控制领域表现卓越的PPO算法。下面的独立Python脚本展示了Isaac Gym的基本API用法,加载一个Go1机器人(假设URDF已准备好),并让它执行一个简单的预设动作(正弦波运动),以此来熟悉仿真流程。:代码的核心是直接操作GPU上的PyTorch张量,避免了CPU和GPU之间的数据拷贝,这是实现高性能的关键。:所有计算(如伪策略中的正弦波计算)都应该是向量化的,一次性为所有。 阅读详情

相关推荐

Kaggle大神Abhishek的机器学习框架实战:从红酒数据集看交叉检验的坑与解法

本文通过Kaggle竞赛Grandmaster Abhishek Thakur的实战经验,以红酒数据集为例,深入探讨了机器学习中交叉检验的五大陷阱与优化策略。文章详细解析了决策树max_depth调优过程中的过拟合现象,对比了五种主流交叉检验方法的适用场景,并提供了回归问题中的分层技巧和特征工程陷阱的解决方案。最后,总结了交叉检验方案选型决策树,帮助数据科学家在实际项目中提升模型泛化能力。

h6j7k8l9p0的博客 964

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

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

yoyo31的博客 1万+

基于立创EDA的8口全千兆POE交换机设计详解:RTL8370N芯片与90W大功率供电方案

本文详细解析了基于立创EDA设计的8口全千兆POE交换机方案,核心采用RTL8370N交换芯片与支持90W大功率供电的IEEE 802.3bt标准PD芯片。文章深入探讨了PSE/PD供电管理、电源架构设计、电路细节及关键散热方案,为DIY或学习POE交换机硬件设计提供了完整的开源实践指南。

weixin_29050829的博客 1万+

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

8.3数组常见操作问题:

baobeiduoduo的博客 246

投第一篇SCIE英文期刊(详细步骤)

一个投稿SCIE英文期刊的过程

weixin_48849679的博客 1万+

Spring Boot应用Docker化实战:从Dockerfile编写到镜像推送完整流程

本文详细介绍了将Spring Boot应用Docker化的完整实战流程。从环境准备、项目审视,到编写高效且安全的Dockerfile,重点讲解了多阶段构建、镜像层优化、Spring Boot分层JAR等核心技巧,并涵盖了镜像构建、验证、调试以及最终推送至仓库并集成CI/CD的最佳实践,帮助开发者构建生产级Docker镜像。

butter的博客 1023

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

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

DerrickWestbrook的博客 5650

伺服系统控制原理深度解析

摘要:本文系统阐述了伺服系统的控制原理与应用。首先介绍了伺服系统的定义、组成及其在工业自动化中的重要性;然后详细分析了反馈控制机制、稳定性判据和性能指标;重点推导了传递函数和状态空间两种数学模型,并通过LaTeX公式展示了二阶系统建模过程;进而对比了PID控制、状态反馈及自适应控制等方法的优缺点;最后结合数控机床等案例,验证了理论方法的有效性,并展望了伺服系统智能化发展趋势。全文兼顾理论深度与实践指导性,为控制工程领域提供了系统的技术参考。

技术工作者 1267

【五】Java数组

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

奈何的人生 1868

LVGL colorwheel组件教程一(调色板)

【代码】LVGL colorwheel组件教程一(调色板)

摸鱼专家 440

什么是 PD 电压诱骗?

电压诱骗” 的意思就是,使用某些方法让 PD 充电器误以为设备需要更高的电压,从而让充电器提供比实际需要更高的电压。手机可能只需要 5V,但笔记本电脑可能需要 20V,通过 PD 协议,充电器能够根据设备的需求输出合适的电压和电流。在“电压诱骗”的情况下,你通过某种手段让充电器以为设备需要 12V,于是充电器会按照这个伪造的请求输出 12V,而不是默认的 5V。充电器评估自己的能力,如果可以提供设备需要的电压和电流,它会调整输出电压,从默认的 5V 切换到设备请求的电压(如 12V)。

qq_45430571的博客 2660

模块五 数组

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

枫林残忆 951

Spring Boot入门(02):【教程】轻松搭建Spring Boot开发环境,启动你的第一个Web项目!

快速搭建开发环境和启动项目是每个开发人员必备的技能。本文将为您提供一些简单易懂的方法和技巧,以帮助您快速搭建开发环境和启动项目。我们将介绍如何选择适合您的开发工具、配置您的操作系统、安装必要的软件包和依赖项,并开始编写您的第一个应用程序。无论您是一位新手还是一位经验丰富的开发人员,本文都会给您提供有用的信息和实用的建议,让您在最短时间内快速搭建和启动开发项目。

**My Coding Family** 22万+

初始java数组

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

AgoniTop的博客 5121

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Java学习五—数组

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

qq_17153885的博客 838

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

五、数组——Java基础篇

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

木头博客 1160

VC中sqlite的使用

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

浅谈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、付费专栏及课程。

余额充值