首页 > 编程语言 >Java入门:05.Java中的数组002

Java入门:05.Java中的数组002

时间:2024-07-25 13:55:55浏览次数:20  
标签:Java 变量 05 int 002 数组 类型 空间 我们

通过上篇文章,相信大家对数组应该有了一个简单的了解,并对Java中的数据类型有了一个基本的认识,不仅如此我们还明白了怎样定义一个数组类型的变量,在这之后,让我们一起来更加深入的了解一下数组吧。

三、如何创建一个数组(对其初始化)

上篇文章我们明白了怎样定义一个数组类型的变量,但只有一个变量是没有什么实际用处的,因为变量只是一个容器,我们想要对其进行一个操作,实际上是对其中的数据进行操作,就像我们定义一个int类型的i,但并未对其赋值,我们就只是得到了一个int类型的容器i而已。

数组也是一样的,我们定义一个int[]类型的arrays,我们也需要对其进行赋值。

那么基本类型的数据我们知道,它们可以直接进入栈空间,因此可以直接存进基本类型的变量当中。

引用类型数据就不一样了,我们必须使用new关键字,帮它在堆空间内开辟出一块空间,然后再将其引用地址赋给变量,我们才能对其进行操作,例:

new int[5];

这段代码代表着,我们使用new关键字,在堆中开辟了一个空间,这个空间是多大呢,有5个int类型那么大。但由于我们没有它的引用地址,因此通过栈空间,我们无法找到这片空间,所以我们所做的也仅仅是开辟了这么一片空间而已,无法对其进行操作。所以我们必须定义一个数组类型的变量,并将这片空间的引用地址赋予给它,我们才能够通过栈空间中变量所存储着的它的引用地址,所找到对应的堆空间中的真正的数据内容,即:

int[] array = new int[5];

这样我们就能够对其进行操作了,为了方便大家理解,这里给大家几个示意图:

这张图中,我们将数字5赋给了int i,因此在栈空间中开辟了一个空间,用来存储int类型的数字5

在这张图中,我们只不过是new了一个可以存储5个int类型数据的数组,并没有将其赋给任何变量,因此只是在堆空间为其开辟了一个区域,栈空间内什么都没有发生

 在这张图中,我们不仅new了一个数组,还将其赋给了变量i,因此我们在堆空间中为数组开辟了一个空间后,还把它的引用地址1001给了变量i,这样后续我们想要对数组进行操作时,程序就能通过栈中所储存的引用地址1001,精准的找到这个数组了

像这样,我们就完成了数组的定义和赋值,那么之前说数组可以用来存储一组位置连续的、类型相同的数据(变量),我们又该怎样对其进行操作呢?图中的0,1,2,3,4又代表着什么呢?不用急,在下篇文章中,我为大家一一揭晓,那么今天的内容就到这里啦,再见~

未完待续....

标签:Java,变量,05,int,002,数组,类型,空间,我们
From: https://blog.csdn.net/a2018204587/article/details/140686765

相关文章

  • 【最新最热】开源引领未来:Llama 3.1震撼发布,405B参数超越闭源GPT-4,扎克伯格宣告AI分水
    刚刚,备受瞩目的LIama3.1震撼问世,荣耀加冕为大模型领域的最新王者!在横跨150余项基准测试的挑战中,LIama3.1的405B版本以其卓越性能,不仅与当前顶尖的SOTA模型——GPT-4o及Claude3.5Sonnet并驾齐驱,更在多个维度上实现了超越,树立了新的性能标杆。这一里程碑式的成就标志着,LIama3......
  • java 注解
    内置注解注解作用描述@Override用于标记方法覆盖父类的方法@Deprecated标记已过时的方法或类,建议不再使用@SafeVarargs用于抑制参数安全性警告注解只能用于静态方法或final实例方法@FunctionalInterface标记接口为函数式接口只有一个抽象方法的接口......
  • java学习4
    我感觉我这一个月学下来就是在闭门造车,网上找的学习路线,以及一些学习建议,或者说抄项目去学习就好像自己在迷雾中探索一样看不清方向这周我和上周一样,打算通过从网上抄项目进行结构化学习。但实际上不过是把代码抄过来而已如果没有人去指导,没有人告诉我,这个代码为什么要这样写,什......
  • Java毕业设计:基于Springboot+vue的电影院管理系统
    【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行!博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端、后台、数据库、项目案例等相关知识点总结,感谢你的阅读和关注,希望我的博客能帮助到更多的人,分享......
  • Java毕业设计:基于SpringBoot+Vue的养老院系统
    一、选题背景意义......
  • JavaWeb(7) DOM编程
    目录一、什么是DOM编程二、获取页面元素的API1.在整个文档范围内查找元素结点2.在具体元素节点范围内查找子节点3.查找指定子元素节点的父节点4.查找指定元素节点的兄弟节点5.整体代码演示三、操作元素属性值API1.属性操作2.内部文本操作3.整体代码演示 四、增......
  • Llama3.1以405B参数领先GPT-4o
    Llama3.1以405B参数规模领先GPT-4o,并在多项基准测试中展现出强大的性能,尤其是在通用常识、可操纵性、数学、工具使用和多语言翻译等方面。Llama3.1的参数规模和性能参数规模Llama3.1系列模型包括8B、70B和405B三种参数规模,其中405B模型包含4050亿个参数,是近年来规模最大LLM......
  • Java编程指南:高级技巧解析 - Excel单元格样式的编程设置
    最新技术资源(建议收藏)https://www.grapecity.com.cn/resources/前言在Java开发中,处理Excel文件是一项常见的任务。在处理Excel文件时,经常需要对单元格进行样式设置,以满足特定的需求和美化要求,通过使用Java中的相关库和API,我们可以轻松地操作Excel文件并设置单元格的样式。在......
  • JAVA集合 day7.24
    一.Collections类1.1Collections常用功能常用方法:publicstaticvoidshuffle(List<?>list):打乱集合顺序。publicstaticvoidsort(Listlist):将集合中元素按照默认规则排序。publicstaticvoidsort(Listlist,Comparator<?superT>com):将集合中元素......
  • 数据结构与算法从淬体到元婴day05之栈
    栈数据结构栈(Stack)是一种遵循后进先出(LIFO,LastInFirstOut)原则的有序集合。栈只能在一端(称为栈顶,Top)进行插入(push)和删除(pop)操作,另一端(称为栈底,Bottom)是固定的。这种特性使得栈在解决具有后进先出特性的问题时非常有用,比如函数调用、括号匹配、撤销操作等。栈的基本操作p......