数组及数组JVM内存划分day4

news/2024/11/16 4:28:02/文章来源:https://www.cnblogs.com/qiwei-bigdata/p/18333458



 java中第一个存储数据的容器:数组特点:1、数组的长度大小是固定的2、同一个数组中,存储的元素数据类型是一样的数组的定义语句格式:数据类型[] 数组名;举例:int[] arr; // 定义了一个可以存储int类型的一维数组,数组名叫做arr数组没有初始化,无法直接使用,数组是我们第一个接触到的引用数据类型如何对数组进行初始化?动态初始化:先规定数组的大小,数组中的元素先系统赋默认值,后续再自己赋值静态初始化:自己将数据赋值,大小由系统根据我们赋值的数量来决定JVM内存的划分:Java 程序在运行时,需要在内存中的分配空间。为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。栈 存储局部变量堆 存储new出来的东西方法区 (面向对象部分讲)本地方法区 (和系统相关)寄存器 (给CPU使用)动态初始化:语句定义格式:数据类型[] 数组名 = new 数据类型[数组的大小];举例:int[] arr = new int[3];白话文解释:创建了一个可以存储3个int类型元素大小的数组,数组名叫做arr专业术语解释:在堆内存中开辟一个连续空间大小为3的数组对象,将地址值赋值给栈内存中arr变量
举例:int[] arr = new int[3];左边:int: 表示存储元素的数据类型[]: 表示这是一个一维数组arr: 数组名,符合标识符的命名规则,相当于变量名右边:new: 在堆内存中开辟空间,将来看到new,就意味着在堆内存中开辟空间int: 表示存储元素的数据类型[]: 表示这是一个一维数组3: 表示该数组最多可以存储3个元素,数组长度为3如何获取数组中的元素?java中的数组具有索引下标的概念,可以通过索引获取对应位置上的元素,索引是从左向右,从0开始的索引最大值 = 长度-1语句定义格式:数组名[索引]静态初始化:语句定义格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3,....};举例:int[] arr1 = new int[]{11,22,33,44,55,66};简化格式:数据类型[] 数组名 = {元素1,元素2,元素3,....};举例: int[] arr1 = {11,22,33,44,55,66};注意:静态初始化简化写法,无法拆开进行初始化,必须将初始化与定义在同一行,由一个赋值=语句进行赋值;而非简化写法,可以拆开定义和初始化。二维数组:元素为一维数组的数组语句定义格式1:数据类型[][] 变量名 = new 数据类型[m][n];举例:int[][] arr = new int[3][4];创建了可以存储3个长度为4的一维数组的数组,元素的类型是int类型二维数组的语句定义格式2:当二维数组中的每个一维数组的长度不一样的时候,可以采用该种方式定义数据类型[][] 变量名 = new 数据类型[m][];m: 指的是二维数组中可以存储m个一维数组将来我们可以自己创建一维数组,将地址值赋值给对应的二维数组中的元素创建二维数组的同时,赋值一维数组语句定义格式3:数据类型[][] 变量名 = new 数据类型[][]{{元素1,元素2,元素3,...}, {}, {},...};简化数据类型[][] 变量名 = {{元素1,元素2,元素3,...}, {}, {},...};
二维数组的遍历
public class Array2Test1 {public static void main(String[] args) {//创建一个二维数组int[][] arr6 = {{11, 22, 33, 44}, {1, 2, 3}, {100, 200, 300, 400, 500}};for (int i = 0; i < arr6.length; i++) { // 外层循环控制的是遍历第几个一维数组元素for (int j = 0; j < arr6[i].length; j++) { // 内层循环控制的是每一个一维数组中元素的遍历if (j == 0) {System.out.print("[" + arr6[i][j] + ", ");} else if (j == arr6[i].length - 1) {System.out.print(arr6[i][j] + "]");} else {System.out.print(arr6[i][j] + ", ");}}//换行System.out.println();}}
}

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

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

相关文章

借助流程表单设计器开源为流程化办公赋能

借助流程表单设计器做好数据管理工作,为行业发展贡献整套低代码技术平台解决方案。在经济高速发展的今天,想要实现流程化办公和数字化转型,需要利用更优质的平台为其加油助力。低代码技术平台、流程表单设计器开源为各行各业流程化办公高效赋能,一起摆脱信息孤岛、部门沟通…

AI/机器学习(计算机视觉/NLP)方向面试复习1

1. 判断满二叉树 所有节点的度要么为0,要么为2,且所有的叶子节点都在最后一层。 #include <iostream> using namespace std; class TreeNode { public:int val;TreeNode* left;TreeNode* right; //创建的时候输入参数x,会把x给val,nullptr给left和right TreeNode(int…

【PlantSaver】电容式土壤湿度传感器使用及原理(并以Arduino实验)

1.湿度检测原理 关于这个传感器检测的原理,网上找的资料不多。类似传感器经典的设计是美国DECAGON 公司生产的ECH2O 系列传感器。其结构如下:式中: ε0 = 8.85410-12 为真空介电常数,单位 F/m; S 为板间遮盖面积,单位 m2 ; C 为板间电容量,单位F; δ 为板件厚度,m; ε …

九章算术与线性方程组

通过介绍《九章算术》中线性方程组理论的发展,使学生 认识到,中国古代的数学研究不仅开展的较早,在一段时间内处于世界领先地 位,此增强学生的文化自信与民族自豪感,鼓励学生探寻我国传统文化中的瑰宝 遗珠.

工单管理系统全攻略:找到你的完美匹配

国内外主流的10款项目工单管理系统对比:PingCode、Worktile、浪潮云工单管理系统、华为企业智能工单系统、金蝶云苍穹、紫光软件管理系统、Jira、Asana、ServiceNow、Smartsheet。在管理日益复杂的个人项目时,找到一款能够真正符合需求的管理软件,常常是许多人面临的难题。市…

DPDK简介

DPDK简介 DPDK(Data Plane Development Kit)数据平面开发工具包,是一个开源软件项目。DPDK通过维护一系列能够加速多核CPU数据包处理的库,提供数据处理框架。DPDK通过绕过内核进行数据处理,表现出了比内核中断处理更高的效率。 DPDK项目架构EAL EAL(Environment Abstract…

项目管理者的生存工具:顶级工时软件推荐

国内外主流的10款项目工时管理软件对比:PingCode、Worktile、Teamwork、TAPD、JIRA、明道云、云效、Monday.com、Basecamp、ClickUp。在管理项目时,工时跟踪总是一个棘手的问题,尤其是在多个项目和团队成员需要协调的情况下。选择合适的项目工时管理软件不仅可以帮助您有效监…

[python] 启发式算法库scikit-opt使用指北

scikit-opt是一个封装了多种启发式算法的Python代码库,可以用于解决优化问题。scikit-opt官方仓库见:scikit-opt,scikit-opt官网文档见:scikit-opt-doc。 scikit-opt安装代码如下:pip install scikit-opt# 调用scikit-opt并查看版本 import sko sko.__version__0.6.60 背景…

书生浦语夏令营——8G 显存玩转书生大模型 Demo

书生浦语夏令营——8G 显存玩转书生大模型 Demo 配置环境 按照教程来即可 conda create -n demo python=3.10 -y conda activate demo conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia -y # 这里合并成一个命令 p…

GPT1-3及BERT的模型概述

GPT1-3及BERT的模型概述(2020年5月之前LLMs主流模型)GPT-1(2018年6月) 📄 Paper: Improving Language Understanding by Generative Pre-Training 🌟 Highlights在NLP领域,GPT-1 开始使用大量无标签文本数据进行预训练 (Pre-training),然后通过标签文本数据针对不同的…

工时管理系统对比指南:找到适合你的

国内外主流的10款工时管理平台对比:PingCode、Worktile、Todoist、ClickUp、滴答清单、专注清单、一木清单、NarTick、Tweek、朝暮计划。在选择合适的工时管理平台时,你是否感到挑战重重?市场上的各种选项似乎都声称能够提升效率和减轻管理负担,但是真正适合你团队的系统究…

如何选择合适的待办事项软件?全面解析

国内外主流的10款待办事项软件对比:PingCode、Worktile、Teambition、Tower、阿里钉钉、飞书、Asana、Trello、Evernote、Microsoft To Do。在寻找合适的待办事项软件时,你是否感到选择众多、难以决断?一个好的待办事项工具可以大大提升你的工作效率和日常生活的组织性,但在…