Java从入门到精通第六章(数组)学习记录

数组是具有相同数据类型的一组数据的集合,在Java中同样将数组看作一个对象,基本数据类型不是对象,但由基本数据类型组成的数组却是对象,可根据数组的维数将数组分为一维数组、二维数组等等,例如das[]是一维数组,sdfa[][]是二维数组,sad[][][]是三维数组。

数组作为对象允许使用new关键字进行内存匹配,在使用数组之前,必须首先定义数组变量所属的类型。

创建一维数组:

声明一维数组有两种形式:数据元素类型  数组名字[];和数组元素类型[]  数组名字;。数组元素类型决定了这个数组里面的元素是什么类型。

要想真正的使用数组,还要为它分配内存空间,分配空间时必须指明数组的长度,格式为:数组名称 = new 数组元素的类型[数组元素的个数]。例如:

Arr = new int [3];

注:使用new关键字分配内存时,整型数组中的元素的初始值都为0。

也可以在声明的同时为内存分配空间,格式为:数组元素的类型 数组名称 = new 数组元素的类型[数组元素的个数]。例如:int arr = new int[8];

初始化数组有两种形式,如int arr[] = new int[]{1,2,4,6};和 int arr[] ={2,5,3,4};输出数组的话可以使用foreach语句,也可以使用for语句,一般来说,foreach语句比较方便。

二维数组的创建和一维数组差不多,可以在声明的同时进行分配内存和初始化,如:int arr[][] = new int [][]{{1,2},{3,4}};此时的二维数组由两个一维数组组成,且一维数组里面包含两个元素。

数组的一些基本操作:

扫描二维码关注公众号,回复: 10586195 查看本文章

现假定arr是已经声明并分配内存且初始化的一维数组。

arr.length可以获取数组的长度;

使用Arrays类之前必须导入java.util.Arrays类,如:

import java.util.Arrays;

Arrays.fill(arr,2)方法是替换数组中所有元素的值为2;

Arrays.fill{arr,1,3,6)方法是替换数组中从1到3(不包括)中的元素的值为6;

Arrays.sort(arr)方法可以实现对数组的排序(按字典顺序来排序);

Arrays.copyOf(arr,5)方法是复制数组arr中从第一个元素数到第5个元素的值给一个新的数组,若复制长度大于原数组,则自动填充0

Arrays.copyOfRange(arr,0,4)方法是复制数组arr中从下标0数到4下标(不包括)的值给一个新的数组,若复制长度大于原数组,则自动填充0;

Arrays.binarySearch(arr,4)方法是在数组arr中搜素4,用二分搜索法,搜到了返回下标,否则返回-1或-(插入点),插入点是搜索键将要插入数组的那一点,即第一个大于此键的元素索引。如果数组中的所有元素都小于指定的键,则返回arr.length。在搜索之前必须先将数组中的元素排序好,否则结果是不确定的,有多个和搜索值相同的元素,结果也是不确定的。

Arrays.binarySearch(arr,0,3,4)方法是在数组arr中从下标0开始到下标3(不包括)搜素4,搜素到了返回下标,否则返回-1或-(插入点);

冒泡排序的基本思想是对比相邻的元素值(两两比较);

 

直接选择排序的基本思想是将指定排序位置与其他数组元素分别对比,如果满足条件就交换元素值。

 

反转排序就是以相反的顺序把原有数组的内容重新排序。这里不提供截图了,别问,问就是没敲。

 

发布了7 篇原创文章 · 获赞 7 · 访问量 434

猜你喜欢

转载自blog.csdn.net/weixin_43730105/article/details/105378803
今日推荐