java13编程基础之数组深入大纲

    技术2023-09-25  110

    java13编程基础之数组深入

    大纲

    一维数组

    概述

    数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。

    这些按序排列的同类数据元素的集合称为数组“[]”。

    特点

    定长

    长度一旦确定不可以改变。

    相同数据类型

    其元素必须是 相同 类型,不允许出现混合类型。数组中的元素可以是任何数据类型,包括基本类型和引用类型。

    位置有序

    元素所在的位置是有序的。

    数组本身属于引用类型

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

    数组中可以存储任意类型的数据

    定义

    数组声明格式

    数据类型[] 数组名称; --推荐使用 数据类型 数组名称[]; double[] arr; char arr2[];

    注意 : 引用数据类型只声明不赋值存在默认值null

    数组初始化

    动态初始化

    数组定义与为数组元素分配空间和赋值的操作分开进行

    数据类型[] 数组名=new 数据类型[长度]; int[] data = new int[5];

    注意:元素为引用数据类型的数组中的每一个元素都需要实例化。

    Person[] people; //声明说组 people = new Person[3]; //创建数组 people[0] = new Person(); //数组中元素实例化 people[1] = new Person(); people[2] = new Person();
    静态初始化

    在定义数组的同时就为数组元素分配空间并赋值

    数据类型[] 数组名=new 数据类型[]{值1,值2...}; 数据类型[] 数组名={值1,值2...}; --当面的简写方式 int[] arr=new int[]{1,3,4,6}; int[] arr2={1,2,3,4,5};

    注意: 对于返回值类型为数组类型的方法来说,我们可以return new int[3];,我们也可以return new int[]{1, 2, 3};,但我们不可以return {1, 2, 3};。即简写方式,其不能脱离数组的声明,{1, 2, 3}并不能返回一个数组对象。

    一维数组对象演示图

    数组的默认值

    数组中的元素只声明不赋值存在默认值,数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐式初始化。

    一般规律为数值型数组默认值为 0,引用型数组默认值为 null:

    数组类型默认初始值byte0short0int0long0char编码为0的字符String(引用类型)nullfloat0.0double0.0booleanfalse

    使用

    数组元素的界限

    定义并用 new 为之分配空间之后,才可以引用数组中的每个元素,数组元素的引用方式为:

    arrayName[index];

    index为数组元素下标|索引,可以是整型常量或整型表达式 , 可以根据数组元素的下标操作数组中数据。如:

    arr1[3] = 5; //为数组索引为0的空间位置赋值 arr2[0] = "张三"; //为数组索引为0的空间位置赋值 System.out.println(arr3[2]);//获取数组中索引为2的数据值

    数组元素下标从0开始;长度为n的数组的合法下标取值范围为

    0~n-1

    每个数组都有一个属性length指明它的长度

    a.length的值为数组a的长度(元素的个数)

    数组元素遍历方式

    (1)普通for循环

    for(int 索引=0;索引<长度; 索引++){ 数组名称[索引] = 值; } int[] arr={1,2,3,4}; //1.遍历数组---基本for循环 for(int i=0;i<arr.length;i++){ //变量i代表索引/元素的下标 System.out.println(arr[i]); }

    (2)增强for循环

    for(元素类型 局部变量 : 数组){ 局部变量-->为数组中的每一个元素值,从左向右以此获取 } //2.遍历数组---增强for循环 for(int i : arr){ System.out.println(i); //i中存储数组的元素值,非索引 }

    加VX了解点我扫码领取 学习更多知识,请加入QQ群:1080355292,入群暗号(33)

    Processed: 0.009, SQL: 10