| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 一维数组二数维组 -> 正文阅读 |
|
[数据结构与算法]一维数组二数维组 |
目??? 录 ?一.数组(一维数组)1.什么是数组,为什么要有数组以及数组的基本格式数组可以看作是一个容器,可以存储多个数据类型一致的元素.当需要定义许多个相同数据类型的变量时,一个一个的定义就很麻烦!所以就出现了数组.可以定义多个数据类型一致的元素.? 例如需要存入学生的成绩:
格式: 数据类型[ ]? 数组名? ?(数组必须先初始化,才能使用.初始化也就是new一下就ok啦!) 数组的初始化:在内存中为数组元素开辟空间,并为数组元素赋值!? ?(数组的初始化分为两种哟!) 2.数组的初始化动态初始化
(由我们自己规定数组长度,由系统为数组元素赋值,数组元素会有排序的序号,称为索引.从0开始)
动态初始化是系统给数组元素赋值,我们要是想重新定义数组中的元素的值,也是很欧克的啦!
(查看栈和jvm的内存简图? ?---------->? ?!点击这里!) 静态初始化
(由我们为数组元素赋值,由系统计算数组长度! 上述格式也可以简写为: int[ ] arr={10,20,30};)
?(方法用完依然会弹栈的哈!由于小编的粗心,给整忘了!) ?二.二维数组1.什么是二维数组,为什么要有二维数组二维数组的数组元素是一维数组的数组.也就是数组嵌套着数组.那么为什么要有二维数组呢? ?假如我们现在需要统计学校每个班的学生的姓名!用一维数组时:第一个班级创建一个数组来装名字,第二个班级再创建一个数组来装名字,有多少个班级就需要多少个一维数组来装.而二维数组就只需要创建一个用来装每个班名字的一维数组就可以了!
2.定义格式:动态初始化
还有其他定义格式:int arr[ ][ ]=new int[3][2];或int[ ] arr[ ]=new int[3][2];(不建议使用这两种形式)
?int[ ][ ] arr=new int[3][ ];这样也是可以的.第二个中括号不定义长度. 此时System.out.println(arr[0][0]);? ?输出的是null.这是为什么呢?
如果定义二维数组时,指定了一维数组的长度,就会开始自动初始化一维数组的长度.内存图如下: ?由图中可知,如果给一维数组定义了长度,就会自动初始化一维数组的长度.如果没有定义,就会成为最开始开辟出来的空间,里面没有初始化一维数组的长度.也就是所有的初始值为null! 如果此时按照arr[0][0]=10;这样进行赋值的话,就会报空指针异常.因为此时指向的是null.如果想手动赋值:可以给二维数组赋值相应的以为数组.如下面的代码所示:
静态初始化格式: Int[ ][ ] arr=new int{{1,2,3},{4,3,5}};? ? ? 可以简写为? ? ? int[ ][ ] arr={{1,2,3},{4,3,5}};? 三.数组常遇到的异常和数组习题1.数组角标越界异常数组一旦定义,其长度就固定不变了!也就是访问的数组元素索引不存在!越出数组范围了!
?2.空指针异常空指针异常针对所有引用数据类型,都有可能出现(所指向的对象为空时,就会出现空指针异常):
如果这个对象用完之后置为null,更加有利于该对象尽快回收的哈!!!
3.数组习题遍历数组:(将数组中的所有的元素都输出就是遍历!)
想要查看更多习题,?"点击这里"? (小编也在努力学习更多哟!以后会多多分享哒!) 希望对友友们有所帮助!!!!? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 10:00:49- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |