Java从入门到精通笔记20230107--数组

一、创建数组

(一)一维数组

1、数组声明有以下两种方式:

数组元素类型 数组名字[];

数组元素类型[] 数组名字;

2、数组分配内存:

数组名字 = new 数组元素的类型[数组元素的个数]

3、数组初始化有以下两种方式:

数组名字 = new 数组元素的类型{元素1, 元素2, 元素3, ...}

数组名字 = {元素1, 元素2, 元素3, ...}

4、一维数组声明、分配及初始化可以参考以下截图:

Java从入门到精通笔记20230107--数组_第1张图片

(二)二维数组

1、数组声明有以下两种方式:

数组元素类型 数组名字[][];

数组元素类型[][] 数组名字;

2、数组分配内存有以下两种方式:

Java从入门到精通笔记20230107--数组_第2张图片

3、数组初始化有以下两种方式:

数组数据类型 数组名称 [][] = {{元素1,元素2,...}, {元素1,元素2,...}}

Java从入门到精通笔记20230107--数组_第3张图片

二、遍历数组

1、for循环:

for循环可以查看数组声明部分截图

2、foreach循环:

Java从入门到精通笔记20230107--数组_第4张图片

三、数组相关操作

1、填充

填充主要是使用Arrays类的静态方法fill()来替换数组元素。

填充数组所有元素:

Java从入门到精通笔记20230107--数组_第5张图片

填充数组部分元素:

Java从入门到精通笔记20230107--数组_第6张图片

2、排序数组

排序主要是使用Arrays类的静态方法sort()。

Java从入门到精通笔记20230107--数组_第7张图片

2、复制数组

复制主要是使用Arrays类的静态方法copyOf()和copyOfRange()。愚以为copyOf()是从原数组第一个元素还是复制到指定长度;而copyRangeOf()是从原数组指定下标元素开始复制

copyOf(arr, int newlength):arr为指定被复制的数组,newlength为新数组长度(本段后简称为:n),当n值小于arr长度时,新数组为{arr[0], arr[1], arr[2}, ..., arr[n-1]},即原数组第一个元素到长度n为止;当n值大于arr长度时,新数组为{arr[0], arr[1], arr[2}, ..., arr[n-1],0...},即超出原数组部分,由0或者null填充,直至长度满足。(整型数组用0填充,char型数组用null填充)

Java从入门到精通笔记20230107--数组_第8张图片

copyRangeOf(arr, int fromIndex, int toIndex):从原数组指定下标复制构成新数组

Java从入门到精通笔记20230107--数组_第9张图片
Java从入门到精通笔记20230107--数组_第10张图片
Java从入门到精通笔记20230107--数组_第11张图片
Java从入门到精通笔记20230107--数组_第12张图片
Java从入门到精通笔记20230107--数组_第13张图片

3、查询数组

查询数组使用的时Arrays类的binarySerach()方法,该方法可以查询指定元素下标(索引),也可以查询指定索引的元素。

Java从入门到精通笔记20230107--数组_第14张图片

以上截图其实是错误的,留着不删用于提醒自己学习函数可以直接ctrl+左键查看函数。其实Arrays.binarySearch一直查询的都只能是索引,返回值一直都是int型。按照原图第19行代码,其实等价于int dex2 = Arrays.binaySearch(arr, 0, arr.length, 7)。

你可能感兴趣的:(Java学习,java)