Java数组

一、数组定义和初始化

JAVA数组是用来保存固定大小的同类型数据的一种数据结构。

1、数组的定义

1.1 一维数组

T[] 数组名 = new T[N];

(1)T表示数组用来保存哪类数据,可以是基础类型,也可以是对象类型。

(2)N是明确的大于0的自然数,用来表示数组的长度。

具体示例:

//基础类型
int[] intArray = new int[10];
char[] charArray = new char[20];
		
//对象类型
Integer[] integerArray = new Integer[100];
String[] stringArray = new String[1000];
Object[] objectArray = new Object[10000];

1.2 多维数组

多维数组可以理解为数组中存储的数据仍是数组——二维数组是一维数组中保存一维数组,三维数组中保存的每个元素是二维数组。但是多维数组在实际中应用比较少。我们以二维数组和三维数组为例:

//二维数组
int array[][] = {{1,2}, {3,4}};
int[][] array2 = {{1,2}, {3,4}, {5,6,7}};
int[][] array3 = new int[2][4];
int[][] array4 = new int[3][];
//三维数组
int[][][] array5 = new int[3][4][2];
int[][][] array6 = {{{1,2}, {3,4}}, {{5,6}, {7,8}}, {}};

2、数组的初始化

数组的初始化可以在定义时完成,也可以在定义之后在初始化。

定义时初始化:

//基础类型
int[] intArray = {1,2,3};
char[] charArray = {'1','f','c'};

//对象类型
Integer[] integerArray = {1, new Integer(20)};
String[] stringArray = {"abc", "qq"};

//所有对象的根类都是Object类,所以定义一个Object数组可以存放所有类型
//但实际中不会这样使用
Object[] objectArray = {"abc", new ArrayList<>()};

定义之后初始化:

//基础类型
int[] intArray = new int[10];
intArray[0] = 12;
intArray[9] = 22;

char[] charArray = new char[20];
charArray[0] = 'd';
charArray[19] = 'z';

//对象类型
Integer[] integerArray = new Integer[100];
integerArray[2] = 2;
integerArray[99] = 99;

String[] stringArray = new String[1000];
stringArray[2] = "java";
stringArray[99] = "python";

//所有对象的根类都是Object类,所以定义一个Object数组可以存放所有类型
//但实际中不会这样使用
Object[] objectArray = new Object[10000];
objectArray[2] = new ArrayList<>();
objectArray[99] = new int[10];

二、数组的使用

//元素的访问通过下标,下标从0开始,最大值为数组长度-1
System.out.println(programArray[2]);
System.out.println(programArray[999]);

//数组的长度通过Array.length获取
System.out.println(programArray.length);

//遍历数组,可以用for-each,也可以用下标
for(String program : programArray) {
	System.out.println(program);
}
for(int i=0; i<programArray.length; i++) {
	System.out.println(programArray[i]);
}
//所有对象的根类都是Object类,所以定义一个Object数组可以存放所有类型
//但实际中不会这样使用
Object[] objectArray = new Object[10000];
objectArray[2] = new ArrayList<>();
objectArray[99] = new int[10];
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值