1.数组
数组,是一组数据的集合,数组中的每个数据被称为元素。
int[] arr = {
1,2,3,4,5};
//这里就是使用了一个数组,来保存这五个数据
1.1 数组类型
任意类型 + [] = 相应的数组类型
byte + [] ----> byte[]
short + [] ---> short[]
int + [] ---> int[]
long + [] ---> long[]
float + [] ---> float[]
double+ [] ---> double[]
char + [] ---> char[]
boolean+[] ---> boolean[]
String + [] ---> String[]
Action + [] ---> Action[] //Action假设是一个接口
int[] + [] ---> int[][] //一维数组+[] 变为二维数组
数组中可以存放一组数据,要求这一组数据的类型是一样(或者兼容的,兼容就表示可以自动转换)。
例如,int类型数组(int[])中,也是可以存放byte数据的,因为byte可以自动转换为int(兼容)
1.2 数组变量
两种方式声明一个数组类型的变量:
-
int[] a;
-
int a[];
推荐使用第一种声明的方式
其他:
String[] str;
Student[] stus;
Object[] objs;
long[] arr;
int[][] arrOfArr;
1.3 数组对象
使用new关键字,来创建数组对象,中括号里面的数字,就是数组的长度。
int[] a = new int[4]; //数组对象a中,最多存放4个int类型的数据
String[] s = new String[2]; //数组对象s中,最多存放2个String类型的数据
char[] c = new char[1]; //数组对象c中,最多存放1个char类型的数据
思考,数组对象中都有哪些属性和方法可以使用?
数组对象中只有一个属性(length),表示数组的长度。
数组对象中的方法,只有从父类型Object中继承过来的方法。
除此之外,数组对象中就没有其他属性和方法了。
1.4 数组长度
数组对象的长度:
- 数组长度,是指在一个数组对象中,最多可以存放多少个同一类型的数据
- 数组长度,必须在创建数组对象的时候就明确指定
- 数组长度,一旦确定,就无法再改变
- 数组长度,可以为0,但是不能为负数
例如,错误的一些情况
//编译报错,因为没指定数组的长度
byte[] b = new byte[];
//编译通过,但是运行报错,因为数组的长度不能为负数
byte[] b = new byte[-1];
例如,使用length属性,获取数组对象的长度
int[] a = new int[4];
System.out.println(a.length);
1.5 数组下标
数组的下标的区间为,[0,arr.length-1],假如数组的长度为length的话,那么数组下标的最小值为0,数组下