| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 数组笔记. -> 正文阅读 |
|
[数据结构与算法]数组笔记. |
1.数组介绍 数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。 数组就是用来存储一组相同类型数据的数据结构。 数组本身属于引用类型 数组中的元素可以是基本数据类型也可以是引用数据类型 Java中支持多维数组,多维数组中的元素都是数组 2.数组的定义格式? ? ? ? 在定义数组时,所指定的数据类型,是用来表示数组中元素的数据类型 1.数据类型[] 数组名 示例:
2.数据类型 数组名[] 示例:
3.数组的动态初始化 数组动态初始化就是只给定数组的长度,由系统给出默认初始化值 格式: 数据类型[] 数组名 = new 数据类型[数组长度]; 示例:
4.数组元素访问 每一个存储到数组的元素,都会自动的拥有一个编号,从0开始。 这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。 数组中索引的最大值,就是数组的长度-1。 数组可以通过 数组名.length 获取数组的长度。 格式: 数组名[索引];
5.内存分配 内存概述 内存是计算机中的重要原件,临时存储区域,作用是运行程序。 我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的。 必须放进内存中才能运行,运行完毕后会清空内存。 java虚拟机要运行程序,必须要对内存进行空间的分配和管理。
程序在执行时,首先把字节码文件加载到方法区,main方法会被jvm自动调用,此时就会进入main方 法的栈内存,如果在main方法中声明并创建了一个数组对象,则数组声明的对象位于栈内存中,而当前 数组实际存放数据位于堆内存中,堆内存会产生一个地址,并且把该地址赋值给数组名,所以数组名实 际上是对堆内存地址的引用。 引用类型,对象位于栈内存,对象存储的数据都会位于堆内存 6.数组的静态初始化 格式: 数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...} 示例:
7.数组操作的两个常见问题 1.索引越界异常 数组长度为3,索引范围是0~2,但是我们却访问了一个3的索引。 程序运行后,将会抛出ArrayIndexOutOfBoundsException 数组越界异常。在开发中,数组的越 界异常是不能出现的,一旦出现了,就必须要修改我们编写的代码。 解决方案 将错误的索引修改为正确的索引范围即可! 2.空指针异常 arr = null 这行代码,意味着变量arr将不会在保存数组的内存地址,也就不允许再操作数组了,因 此运行的时候会抛出 NullPointerException 空指针异常。在开发中,空指针异常是不能出现的, 一旦出现了,就必须要修改我们编写的代码。 解决方案 给数组一个真正的堆内存空间引用即可! 8.多维数组 Java中其实并没有真正的多维数组,但是Java支持把一维数组可以作为其它数组的元素,这样就形成了多维数组 Java中只有一维数组 多维数组可以通过[]来表示,一个[]表示一维数组,几个中括号就表示几维数组 示例静态初始化:
示例动态初始化:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 12:31:12- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |