数组介绍
数组介绍:
数组(array)是一种容器,用来存储同种数据类型的多个值。
总结:数组容器在存储数据的时候,需要结合数据类型考虑。
例如:int类型的数组容器 (boolean byte short double)
建议:容器的类型,和存储的数据类型保持一致。
格式一:
数据类型 [ ] 变量名 范例:int[ ] array
格式二:
数据类型 变量名[ ] 范例:int array[ ]
数组初始化概述:
Java中的数组必须先初始化,然后才能使用。
所谓初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程。
初始化方式:
1、动态初始化
动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。
格式:数据类型 [ ] 变量名 = new 数据类型[数组长度];
范例: int [ ] arr = new int[3];
注意:打印数组变量名,出现的是数组在内存中的地址值
案例:
public class Demo1Array {
/*
数组的动态初始化:
在初始化的时候, 需要手动指定数组的长度, 系统会为数组容器分配初始值.
动态初始化格式:
数据类型[] 数组名 = new 数据类型[数组的长度];
注意:
打印数组变量的时候, 会打印出数组的内存地址
[I@10f87f48 :
@ : 分隔符
[ : 当前的空间是一个数组类型
I : 当前数组容器中所存储的数据类型
10f87f48 : 十六进制内存地址
0 1 2 3 4 5 6 7 8 9 a b c d e f
*/
public static void main(String[] args) {
// 数据类型[] 数组名 = new 数据类型[数组的长度];
// 通过new关键字创建了一个int类型的数组容器, 该容器可以存储5个int类型的整数, 该容器被arr数组变量所记录
int[] arr = new int[5];
// [I@10f87f48
System.out.println(arr);
byte[] bArr = new byte[3];
// [B@b4c966a
System.out.println(bArr);
}
}
2、静态初始化
静态初始化:初始化时,就可以指定数组要存储的元素,系统还会自动计算出该数组长度
格式:数据类型 [ ] 变量名 = new 数据类型[ ] { 数据1 , 数据2 , 数据3 , ……} ;
范例: int [ ] arr = new int[ ] { 1 , 2 , 3 } ;
简化格式:数据类型 [ ] 变量名 = { 数据1 , 数据2 , 数据3 , ……} ;
范例: int [ ] arr = { 1 , 2 , 3 } ;
案例:
package com.itheima.array2;
public class Demo1Array {
/*
数组静态初始化 : 初始化时指定每个数组元素的初始值,由系统决定数组长度
完整格式:
数据类型[] 数组名 = new 数据类型[]{数据1,数据2,数据3...};
简化格式:
数据类型[] 数组名 = {数据1,数据2,数据3...};
*/
public static void main(String[] args) {
// 数据类型[] 数组名 = new 数据类型[]{数据1,数据2,数据3...};
int[] arr = new int[]{11,22,33};
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
// 数据类型[] 数组名 = {数据1,数据2,数据3...};
int[] arr2 = {44,55,66};
System.out.println(arr2);
System.out.println(arr2[0]);
System.out.println(arr2[1]);
System.out.println(arr2[2]);
}
}
两种初始化的区别对比:
动态初始化:手动指定数组长度,由系统给出默认初始化值。
静态初始化:手动指定数组元素,系统会根据元素个数,计算出数组的长度
数组元素访问:
数组变量访问方式:
格式:数组名 数组
内部保存的数据的访问方式:
格式:数组名[索引]
索引:
索引是数组容器中空间的编号:
特征①:索引从0开始
特征②:索引是连续的
特征③:索引逐一增加,每次加1
作用:访问数组容器中的空间位置
案例:
public class Demo1ArrayIndex {
/*
数组动态初始化:
初始化的时候, 手动指定数组长度, 系统会为数组容器分配初始值.
数组的元素访问格式:
数组名[索引]
索引: 数组中数据的编号方式, 编号从0开始
作用: 访问数组容器中的空间位置
注意:
数组在创建完毕后, 即使没有赋值, 也可以取出, 但取出的元素都是默认初始化值.
*/
public static void main(String[] args) {
int[] arr = new int[3]; // 0 1 2
System.out.println(arr); // 数组的内存地址 [I@10f87f48
// 数组名[索引] 访问数组容器中的空间位置
System.out.println(arr[0]); // 0 系统自动分配的默认初始化值
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println("--------------");
// 数组名[索引]
arr[0] = 11;
arr[1] = 22;
arr[2] = 33;
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律