找回密码
 会员注册
查看: 43|回复: 0

Java数组(这一篇就够了)(超详细)

[复制链接]

6

主题

0

回帖

19

积分

新手上路

积分
19
发表于 2024-9-3 19:39:06 | 显示全部楼层 |阅读模式
文章内容仅代表个人理解,如有错误欢迎到评论区指点,文章内容仅供参考——本篇对java中的数组进行详细的讲解目录:本期会分成一下五部分进行讲解:认识数组数组常见的问题Java中的数组有哪些独特之处?数组的应用场景数组中用到的算法一、认识数组1.数组的定义文字定义:数组是一种数据结构,用于存储多个相同类型的数据。java中"类型[]" 即数组,并且索引下标从0开始。2.数组的创建及初始化在java中如何创建数组呢?(1)静态创建(2)动态创建运行结果(3)遍历数组1.常规遍历2.foreach遍历这里看起来foreach更加简洁,但是ta不能修改数组的值,和单独访问下标索引。二、数组常见的问题1.数组越界通常小白初学尝尝会遇到的问题就是数组越界认识什么是数组越界 简单的例子,创建只有5个大小的整形数组,但是for循环却访问了下标索引为5(索引从0开始)的位置,导致数组越界,下面就是数组越界的异常提示!小白看到这一大堆,心都快烦死了,其实要学会认识异常(1)数组的拷贝(扩容)通常我们在给数组添加元素时经常发生越界异常,所以要判断是否越界,那么越界又该如何处理呢首先我们创建一个返回值为数组类型的方法用来添加元素只需返回数组的引用即可——copyOf是Arrays类中的方法,一般扩容都用ta~运行一下可以看到并没有出现异常,而是扩容了1.5倍~说到扩容System类下也有一个,简单认识一下吧~2.空指针异常在二维数组中会出现空指针异常,这里简单认识一下埋下伏笔,在多维数组详细讲解——3.数组作为传参,调用该方法时,是否改变原数组?这里有两个方法,猜测一下,哪个会改变原本数组的值?揭晓答案其实在new的时候底层大概是这样的三、Java中的数组有哪些独特之处?1.数组是引用类型,可以使用new来创建2.拥有封装好的Arrays类,可以数组排序、数组转字符串等。Arrays中有许多方法,如上面学到的 扩容 Arrays.copyOf还有比如sort排序、binarySearch二分查找(有序数组)、toString等方法还有很多,大家要努力哦~四、数组的应用场景1.多维数组(不规则数组)数组我们可以有一维数组、二维、三维...我们拿常用的二维数组举例,创建一个不规则数组先认识一下什么是二维数组,长什么样子 形如 类型[][]的数组为二维数组这是静态创建,大家结合一维数组想一下动态二维数组如何创建呢?代码实现如下那么究竟怎样出现的空指针异常呢?没有给内层设置空间的时候会出现空指针异常当你执行array2[i]=newint[i+1];这行代码时,你为array2的第i个内层数组分配了空间。如果不执行这行代码,内层数组的引用仍然为null,在尝试访问该内层数组时就会导致空指针异常。因此,需要在循环中为每个内层数组分配空间,以避免空指针异常的发生。2.ArrayListArrayList内部使用数组作为底层的数据结构来存储元素。3.数组作为方法的返回值这个在拷贝数组的时候我们见到过五、数组中用到的算法1.二分查找这里我没有返回-1,而是抛出没找到的异常。快速排序和归并排序也尝尝用到哦~好啦看到这里想必您对Java中的数组有了新的认知和了解,如果对您有帮助的话请帮我点个一件三连!谢谢!谢谢!谢谢!我只是个初学者——
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-13 09:48 , Processed in 0.980325 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表