java中的数组(2)

news2025/1/10 19:00:58

大家好,我们今天继续来看java中数组这方面的知识点,那么话不多说,我们直接开始。

一.数组的使用

1.数组中元素访问

数组在内存中是一段连续的空间,空间的编号都是从0开始的,依次递增,数组可以通过下标访问其任意位置的元素. 也可以进行修改 

如:array[3];array[1]=100;

注意事项

1.数组是一段连续的空间,因此支持随机访问,即通过下标快速访问数组中任意位置的元素

2,下标从0开始,介于(0,N)之间不含N,N为元素个数不能越界,否则今报出下标越界异常.

二.遍历数组.
所谓遍历是指数组中的所有元素部访问一遍,访问是指数组中的元素来进行某种操作.

 

aa492ddfed674437a0b6c93222e0fecd.png

注意:

1,在数组中可以通过数用对象.length来获取数组长度

1.foreach是for循环的另外一种使用方式,能够更方便的完成对数组的遍历,可以避免循环条件和更新语句写错.

2.数组是引用类型.

1.初始JVM的内存分布

内存是一段连续的存储空间,主要用来存储程序运行时数据的.

1、程序运行时代码需要加载到内存

2.程序运行产生的中间数据要存放在内存

1.程序中的常量也要保存

4.有些数据可能需要长时间存储,而有些数据当方法进行结束后就要被销毁.

下面大家看看我画的一些数组和方法作用域的理解:

b1417fe97f67466db05cbe6784c87cc8.jpg

 2.基本类型变量和引用类型变量的区别.

.基本数据类型创建的变量,称为基本变量,该变量空间中直接存放的是其所对应时值.

.而引用数据类型创建的变量,一般称为对象的引用,其空间中存储的是对象所在空间的地址。

例:public static void func(){

int a =10; 

int b = 20; 

int[] array = new int[]{1,2,3};

在上述代码中,a,b,array都是函数内部的变量(局部变量),因此其空间都在main方法对应的栈帧中分配.

a,b是内置类型的变量,因此其空间中保存的就是该变量初始化的值..

away是数据类型的引用变量,其内部保存的内容可以简单理解成是数组在堆空间中的首地址。

1fd8e01970f34023851af92ac367ed00.jpg 

从上图可以看到,引用变量并不直接存储对象本身,可以简单理解成存储的是对象在堆空间的起始地址,通过该地址,引用变量便可以去操作对象..

下面我们可以看个例子:

c5f2c16b23b24589be616bb7a4892463.png

 13316886eed0412c9421dfb6b13778a5.jpg

 

注:

当引用重新引用一个对象的时候,一个对象如果没有了引用变量引用它了,此时这个对象就被JVM自动回收了.

例如:设x为引用,y为对象,y是x的数,一个x不能对应多个y,但一个y可以由不同的x对应.

一个引用不能同时指向多个对象.因为一个变量里面只能存储一个值。

那么今天分享就到这里,谢谢大家!!!

41792a59906f49798ad3a2312bdd1156.png

 

 

 

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

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

相关文章

Qt入门7——Qt事件

目录 1. Qt事件介绍: 2. 事件的处理 示例1:鼠标进入(enterEvent)与离开事件(leaveEvent) 示例2:鼠标点击事件(mousePressEvent) 示例3:鼠标移动事件(mouseMoveEvent) 3. 按键事件 4. 定时器 5. 窗口事件 1. Qt事件介绍&a…

PyQt事件机制练习

一、思维导图 二、代码 import sysfrom PyQt6.QtTextToSpeech import QTextToSpeech from PyQt6.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QLineEdit from PyQt6 import uic from PyQt6.QtCore import Qt, QTimerEvent, QTimeclass MyWidget(QWidget):d…

【河南】《关于省级政务信息化建设项目支出预算标准的规定(试行)》(豫财预〔2020〕81号)-省市费用标准解读系列25

《关于省级政务信息化建设项目支出预算标准的规定(试行)》(豫财预 〔2020〕81号)是河南省财政厅2020年8月27日发布的信息化项目预算标准(了解更多可直接关注我们咨询)。该标准旨在加强河南省省级部门预算管理,规范省级…

oscp备考,oscp系列——Kioptix Level 3靶场

Kioptix Level 3 oscp备考,oscp系列——Kioptix Level 3靶场 nmap扫描 主机发现 └─# nmap -sn 192.168.80.0/24 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-09 00:33 CST Nmap scan report for 192.168.80.1 Host is up (0.00014s latency). MAC…

活动|华院计算董事长宣晓华应邀出席2024科创大会并作圆桌嘉宾

2024科创大会在上海举行,由中央广播电视总台和上海市人民政府共同主办。本次大会以“创新驱动 新质未来”为主题,来自知名院校、科研机构的专家学者以及科技企业、金融机构的相关负责人共聚一堂,探讨人工智能、生物医药等产业应用前景&#x…

Robust Univariate Mean Estimation算法简介

Robust Univariate Mean Estimation 是一种统计算法,主要用于在单变量场景中估计样本的均值,同时对异常值(outliers)具有鲁棒性。传统的均值估计使用样本的算术平均值,但它对异常值高度敏感。为了缓解这个问题&#xf…

C/C++流星雨

系列文章 序号直达链接1C/C爱心代码2C/C跳动的爱心3C/C李峋同款跳动的爱心代码4C/C满屏飘字表白代码5C/C大雪纷飞代码6C/C烟花代码7C/C黑客帝国同款字母雨8C/C樱花树代码9C/C奥特曼代码10C/C精美圣诞树11C/C俄罗斯方块12C/C贪吃蛇13C/C孤单又灿烂的神-鬼怪14C/C闪烁的爱心15C/C…

MySQL——buffer poll

为什么要有buffer poll? 如果没有buffer poll,每次读取数据的时候都是从磁盘上读的,这样效率是很差的的。 所以有了提高效率的方式,就加上了一个缓存——buffer poll 所以,当我们读取数据的时候就有以下的方式 当读…

2025年山东省职业院校技能大赛“信息安全管理与评估”(山东省) 任务书

2025年山东省职业院校技能大赛“信息安全管理与评估”(山东省 任务书 模块一网络平台搭建与设备安全防护任务1:网络平台搭建 (50分)任务2:网络安全设备配置与防护(250分) 模块二网络安全事件响应、数字取证…

ERROR: KeeperErrorCode = NoNode for /hbase/master

原因分析 通过上面的情景模拟,我们可以看到报错的原因在于zookeeper中出现问题,可能是zookeeper中的/hbase/master被删除,或者是在hbase集群启动之后重新安装了zookeeper,导致zookeeper中的/hbase/master节点数据异常。 1. 停止…

ElasticSearch7.8学习笔记

1. ElasticSearch概述 1.1 ElasticSearch是什么 Elaticsearch,简称为 ES,ES 是一个开源的高扩展的分布式全文搜索引擎,是整个Elastic Stack 技术栈的核心。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到…

CSS制作字体炫彩效果

目录 序言一、思路二、代码实现 序言 本节内容主要来讲解一下炫彩字体的实现,主要通过使用 background-clip以及background-position来实现,那么话不多说开始本节内容的学习吧! 一、思路 添加盒子以及内容使用 background-clip属性&#x…

如何防止短信盗刷和短信轰炸?

短信盗刷和短信轰炸是项目开发中必须要解决的问题之一,它的优先级不亚于 SQL 注入的问题,同时它也是面试中比较常见的一个经典面试题,今天我们就来看下,如何防止这个问题。 1.概念介绍 短信盗刷和短信轰炸的概念如下&#xff1a…

ios逆向某新闻 md5+aes

本期的案例比较简单,也许是ios逆向算法本来就比较简单的原因,所以前面我就多扯一些爬虫和逆向的东西。之前写的文章都是js逆向和android逆向的案例,这也是首篇ios的案例,所以会从入门开始讲起。 3大逆向对比 首先爬虫工程师大部…

SpringBoot【一】零基础入门 springboot 及 idea 搭建

一、前言 springboot是什么? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。 该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解&#xff0…

2024年超大跨径钢结构桥梁创新技术论坛暨钢桥联盟年度工作会议顺利召开

12月5日,由中交公路规划设计院有限公司、装配化钢结构桥梁产业技术创新战略联盟主办,保利长大工程有限公司、中交第二航务工程局有限公司、中交第二公路工程局有限公司、中交路桥建设有限公司、中交西安筑路机械有限公司、南京现代综合交通实验室、巨力锁…

win10上部署win11记事本

win10上部署win11记事本 原因 win10的老用户们, 不肯升级win11, 绝对是有留恋的东西吧,就想win7用户那样, 但是win11在日益更新, 特别是记事本, 增加了很多好用的功能, 比如多标签页, 但是不想升级win11, 还想用, 怎么办? 我在网上找到了解决方案, 接下来, 我们来操作一下吧…

记录:ubuntu24.04源码安装nginx

一. 下载Nginx源码 两个地址二选一即可 Nginx官网Nginx官网 Github eg:nginx-1.27.3.tar.gz 下载到 ubuntu24.04 的 Downloads ,解压 cd Downloads tar -zxvf nginx-1.27.3.tar.gz二. 编译安装 Note: 编译最好用 root 权限, 使用下面命令…

【前端】深入理解 JavaScript 中的数组与对象

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: 前端 文章目录 💯前言💯数组与对象的基本概念数组(Array)数组示例 对象(Object)对象示例 💯数组与对象的对比核心区别如何选择&#…

31.下一个排列 python

下一个排列 题目题目描述示例 1:示例 2:示例 3:提示:题目链接 题解解题思路python实现代码解释:提交结果 题目 题目描述 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如,arr [1,2,3…