java-数组(1)
数组的概念:是一种类型,可以同时存放多个数据值
数组的特点:
1、数组是一种引用类型
2、数组当中的多个数据,数据类型必须统一
3、数组的长度在程序运行期间不可改变
数组的初始化,在内存中创建一个数组,并且向其中赋予一些默认值
数组的两种常见的初始化方式
1、动态初始化(指定长度):在创建数组时,指定数组中的数据元素的个数
2、静态初始化(指定内容):在创建数组时,不指定数个个数,而是将具体的数据内容进行指定
动态初始化数组的格式:
数据类型[] 数组名称=new 数据类型[数组长度];
含义:
1、左侧数据类型:数组当中全部数据是什么数据类型
2、左侧的中括号:代表这是一个数组
3、数组名称:给数组去个名字
4、右侧的new:代表创建数组的动作
5、右侧的数据类型:和左侧的数据类型保持一致
6、数组长度:数组当中,可以保存多少个数据,是一个int型
静态初始化数组的格式:
标准格式:数据类型[] 数组名称=new 数据类型[]{元素1,元素2};
省略格式:数据类型[] 数组名称={元素1,元素2};
注意事项:
1、虽静态初始化没有直接告诉长度,但是根据大括号中的元素个数,能推算出长度
2、静态初始化标准格式可以拆分成两个步骤(先定义步骤,然后给变量赋值)
3、懂态初始化标准格式可以拆分成两个步骤(先定义步骤,然后给变量赋值)
4、静态初始化的省略格式不可以拆分成两个步骤
使用建议:
不能确定数组内容时,使用动态初始化;能确定数组内容时使用静态初始化
package demo01; /* 数组的概念:是一种类型,可以同时存放多个数据值 数组的特点“ 1、数组是一种引用类型 2、数组当中的多个数据,数据类型必须统一 3、数组的长度在程序运行期间不可改变 数组的初始化,在内存中创建一个数组,并且向其中赋予一些默认值 数组的两种常见的初始化方式 1、动态初始化(指定长度):在创建数组时,指定数组中的数据元素的个数 2、静态初始化(指定内容):在创建数组时,不指定数个个数,而是将具体的数据内容进行指定 动态初始化数组的格式: 数据类型[] 数组名称=new 数据类型[数组长度]; 含义: 1、左侧数据类型:数组当中全部数据是什么数据类型 2、左侧的中括号:代表这是一个数组 3、数组名称:给数组去个名字 4、右侧的new:代表创建数组的动作 5、右侧的数据类型:和左侧的数据类型保持一致 6、数组长度:数组当中,可以保存多少个数据,是一个int型 静态初始化数组的格式: 标准格式:数据类型[] 数组名称=new 数据类型[]{元素1,元素2}; 省略格式:数据类型[] 数组名称={元素1,元素2}; 注意事项: 1、虽静态初始化没有直接告诉长度,但是根据大括号中的元素个数,能推算出长度 2、静态初始化标准格式可以拆分成两个步骤(先定义步骤,然后给变量赋值) 3、懂态初始化标准格式可以拆分成两个步骤(先定义步骤,然后给变量赋值) 4、静态初始化的省略格式不可以拆分成两个步骤 使用建议: 不能确定数组内容时,使用动态初始化;能确定数组内容时使用静态初始化 */ public class demo08 { public static void main(String[] args) { //创建动态数组 //创建一个数组,里面能存放300个int型数据 int[] a=new int[300]; //创建静态数组 //创建一个数组,里面装的都是int类型,具体是:5、15、25 //使用标准格式 int[] b=new int[]{5,15,25}; //使用省略格式 int[] c={5,15,25}; // 静态初始化标准格式可以拆分成两个步骤(先定义步骤,然后给变量赋值) int[] d; d=new int[]{1,15,25}; } }
直接打印数组的名称,得到的结果是数组对应的内存地址哈希值
访问数组元素的格式:
数组名称[索引值]
索引值:就是一个int数字,代表数组当中元素的编号,索引值从0开始,到”数组长度-1“为止
访问动态初始化数组时,其中的元素将自动拥有一个默认值
1、如果是整数类型,默认是0
2、如果是浮点类型,默认是0.0
3、如果是字符类型,默认是'\u0000'
4、如果是布尔类型,默认是false
5、如果是引用类型,默认是null
注意事项
静态初始化其实也有默认值的过程,只不过系统自动马上将默认值替换成了大括号当中的具体数值
package demo01; /* 直接打印数组的名称,得到的结果是数组对应的内存地址哈希值 访问数组元素的格式: 数组名称[索引值] 索引值:就是一个int数字,代表数组当中元素的编号,索引值从0开始,到”数组长度-1“为止 访问动态初始化数组时,其中的元素将自动拥有一个默认值 1、如果是整数类型,默认是0 2、如果是浮点类型,默认是0.0 3、如果是字符类型,默认是'\u0000' 4、如果是布尔类型,默认是false 5、如果是引用类型,默认是null 注意事项 静态初始化其实也有默认值的过程,只不过系统自动马上将默认值替换成了大括号当中的具体数值 */ public class demo09Array { public static void main(String[] args) { int[] ArrayA={10,20,30}; //直接打印数组的名称,得到的结果是数组对应的内存地址哈希值 System.out.println(ArrayA);//结果是:[I@1540e19d //打印数组中的第一个元素内容 int[] ArrayB=new int[5]; //访问动态初始化数组时,其中的元素将自动拥有一个默认值 System.out.println(ArrayB[0]); //给动态数组赋值 ArrayB[0]=10; System.out.println(ArrayB[0]); } }