首页 > 其他分享 >02、数组

02、数组

时间:2024-06-02 09:59:35浏览次数:24  
标签:02 初始化 arr int 元素 数组 new

1、数组概述
数组是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理

数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型

创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址

数组的长度一旦确定,就不能修改

我们可以直接通过下标(或索引)的方式调用指定位置的元素,速度很快
2、数组的常见概念
数组名
下标(索引)
元素
数组的长度
3、一维数组
数组声明方法
	type var[]、type[] var
	Java语言中声明数组时不能指定其长度(数组中元素的数),例如:int a[5];
数组的初始化
	动态初始化:数组声明且为数组元素分配空间与赋值的操作分开进行
		int[] arr = new int[数组长度];
		arr[0] = 3;
		arr[1] = 9;
		arr[2] = 8;
	静态初始化:在定义数组的同时就为数组元素分配空间并赋值
		int arr[] = new int[]{ 3, 9, 8};
		int[] arr = {3,9,8};
数组元素引用
	定义并用运算符new为之分配空间后,才可以引用数组中的每个元素
	数组元素的引用方式:数组名[数组元素下标]
	数组元素下标从0开始;长度为n的数组合法下标取值范围: 0 —>n-1
	每个数组都有一个属性length指明它的长度,例如:a.length 指明数组a的长度(元素个数)
	数组一旦初始化,其长度是不可变的
数组元素默认初始化值
	byte、short、int:0
	long:0L
	float:0.0f
	double:0.0
	char:0或\u0000
	boolean:false
	引用类型:null
4、二维数组
定义
	对于二维数组的理解,我们可以看成是一维数组array1又作为另一个一维数组array2的元素而存在。其实,从数组底层的运行机制来看,其实没有多维数组
使用
	动态初始化
		int[][] arr = new int[3][2]
		int[][] arr = new int[3][]
	静态初始化
		int[][] arr = new int[][]{{3,8,2},{2,7},{9,0,1,6}}
5、数组中常见算法
数组元素的赋值(杨辉三角、回形数等)

求数值型数组中元素的最大值、最小值、平均数、总和等

数组的复制、反转、查找(线性查找、二分法查找

数组元素的排序算法
6、Arrays工具类的使用
boolean equals(int[] a,int[] b)
	判断两个数组是否相等
String toString(int[] a)
	输出数组信息
void fill(int[] a,int val)
	将指定值填充到数组之中
void sort(int[] a)
	对数组进行排序
int binarySearch(int[] a,int key)
	对排序后的数组进行二分法检索指定的值
7、数组使用中常见异常
数组脚标越界异(ArrayIndexOutOfBoundsException)
	访问到了数组中的不存在的脚标时发生
空指针异常(NullPointerException)
	数组引用没有指向实体,却在操作实体中的元素时

标签:02,初始化,arr,int,元素,数组,new
From: https://www.cnblogs.com/Zhao-Chen/p/18226790

相关文章

  • 复盘工作-2024-06
    1.js!=和!==//==等于//会执行类型转换,尝试使两边的值相等//当一个值是null,//另一个值是undefined,//null==undefined会返回true//因为它们都被视为“空”或“无”//===严格等于//不会进行类型转换//null和undefined是不同的//所以null===undefined返回......
  • 复盘样式-2024-06
    1.将“保存”按钮移到详情页右下角,如下代码已测试能实现需求<script>functionalert1(){alert(1);}</script><!--我一开始写的<scripttype="css"></script>有误--><!--这样写里面定义的样式更不不会被识别--><style>.save-but......
  • Windows Server 2022 中 wbadmin 工具
    WindowsServer2022中wbadmin工具的初级应用大纲:1.理解wbadmin工具介绍wbadmin工具及其作用。解释wbadmin在WindowsServer2022中的重要性和作用。2.基本备份操作学习如何使用wbadmin工具执行基本备份操作。包括备份到本地磁盘或网络共享的示例。3.......
  • 2024最新VMware Workstation Pro下载教程
    自从2024年5月份之后,VMwareworkstationplayer就不能直接在vm官网下载,需要到broadcom博通网站上下载下面介绍最新下载步骤:百度直接搜索vmware进入官网点击WorkstationPro链接博通注册对应的账号现在下载都需到博通注册对应的账号登录邮箱输入对应的验证码......
  • 楚颖i2024polarctf夏季个人挑战赛WriteUp
     PolarCTF网络安全2024夏季个人挑战赛WRITEUP参赛人员:楚颖iPolarCTF网络安全个人挑战赛组委会制目录第一部分:MISC11-1祺贵人告发11-2费眼睛的flag21-5你耳机听什么5第二部分:CRYPTO72-1pici72-2翻栅栏82-3Hello9第三部分:WEB133-2审......
  • 2024年武汉大学电信算法与数据结构期末复习随记
    期末复习易错点叶子结点以外的结点称为分支结点![img](file:///D:\qq消息记录\2844938982\nt_qq\nt_data\Pic\2024-06\Ori\9d5f4aefd34e1d8587152f79b567d05a.jpeg)时间复杂度![img](file:///D:\qq消息记录\2844938982\nt_qq\nt_data\Pic\2024-05\Ori\4cb6f5297e5f4c3c977d0e......
  • 2024 江苏省大学生程序设计大赛 2024 Jiangsu Collegiate Programming Contest(FGKI)
    题目来源:https://codeforces.com/gym/105161文章目录F-DownloadSpeedMonitor题意思路编程G-DownloadTimeMonitor题意思路编程K-NumberDeletionGame题意思路编程I-IntegerReaction题意思路编程写在前面:今天打的训练赛打的很水·····,我发现我们......
  • Pyinstaller打包exe的反编译——LitCTF 2024(公开赛道)ezpython!!!!!
    这个工具折磨了我很久,搭配题目记录一下...题目Die打包工具:PyInstaller建议下载GitHub的:GitHub-extremecoders-re/pyinstxtractor:PyInstallerExtractor单独的一个 pyInstaller.py 会很麻烦步骤:将exe拖到pyinstxtractor-master文件夹下面,打开cmdpythonpyinstx......
  • ACWing算法基础课刷题记录2024-06-01--2day
    831.KMP字符串给定一个字符串 S......
  • ACWing算法基础课刷题记录2024-05-31--1day
    ###827.双链表###C++实现原题链接:827.双链表-AcWing题库实现一个双链表,双链表初始为空,支持 55 种操作:在最左侧插入一个数;在最右侧插入一个数;将第 k......