数组

数组的定义

数组是相同类型数据的有序集合,数据类型可以为任意类型。

数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。

其中,每个数据称作一个数据元素,每个数组元素可以通过一个下标来访问它们。

数组声明创建

  1.首先必须声明数组变量,才能在程序中使用数组。语法如下;

    变量类型[ ]    变量的名字  =   变量的值;

             int[ ]   nums;

  2.Java语言使用new操作符来创建数组,语法如下

                   数据类型[ ]  变量的名字  = new 数据类型 [ 数组长度 ]

         int[] nums = new int[ ]

  3.数组的元素是通过索引访问的,数组的索引从0开始。

  4.获取数组长度:  数组名.length    arrays.length

 

 

 数组四个基本特点

其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。

其元素必须是同类型,不允许出现混合类型。

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

数据变量属于应用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。

数组的边界

下标的合法区间:[0,length-1],如果越界就会报错;

数组下标越界(调用数据,超出数组元素个数):java.lang.ArrayIndexOutOfBoundsException

 堆和栈

堆:存放new的对象和数组,可以被所有的线程共享,不会存放别的对象引用。

栈:存放基本变量类型/具体数值,引用对象的变量/存放堆里面的具体地址。

 数组的三种初始化

静态初始化、动态初始化、默认初始化

 

 1 public class ArrayLesson02 {
 2     public static void main(String[] args) {
 3         //静态初始化
 4         int[] a = {1,2,3,4,5};  //静态初始化
 5         System.out.println("静态初始化:"+a[2]);  //输出3
 6         //动态初始化
 7         int[] b = new int[10];
 8         b[0]=1;
 9         b[1]=2;
10         b[2]=3;
11         System.out.println("动态态初始化输出:"+b[0]);  //输出1
12         //默认初始化
13         System.out.println("默认初始化输出:"+b[5]);  //输出0
14     }
15 }

 

结果

 数组的使用

普通的For循环

For-Each 循环

数组作方法入参

 数组作返回值

 

 多维数组

二维数组

  System.out.println(array[3][1]);  只能输出单个元素。

 Arrays类

数组的工具类java.util.Arrays  .util(工具包)  .util.Arrays (工具类)

由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作。

查看JDK帮助文档

Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而“不用”使用对象来调用(注意:是“不用”而不是“不能”)

常用的功能:

给数组赋值:通过fill方法。

填充区间规则:左闭右开。

 

对数组排序:通过sort方法,按升序。

比较数组:通过equals方法比较数组中元素值是否相等。

 

 查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。

 

 

posted @ 2022-02-26 16:25  luckylu1983  阅读(34)  评论(0)    收藏  举报