数组
数组的定义
- 数组是相同类型数据的有序集合。
- 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成(先后次序指的的下标)。
- 其中每一个数据称作一个数组元素,每个数组元素可以通过一 个下标来访问它们。
数组的声明和创建
声明数组Java有两种语法:
int[] arrays; // 首选的方法
int arrays[]; // 效果相同,但不是首选方法
创建数组使用new操作符,语法如下:
new int[10];
声明并创建数组:
int[] arrays = new int[10];
数组的初始化
动态初始化数组的语法格式:
数组语法格式:数据类型[] 数组名称 = new 数据类型[数组长度];
public class ArrayDemo {
public static void main(String[] args) {
//动态初始化数组
int[] arrayA = new int[100];
}
}
静态初始化数组的语法格式:
静态初始化省略了new直接赋值
数据类型[] 数组名称 = new 数据类型[] {元素1,元素2,... };
public class ArrayDemo {
public static void main(String[] args) {
//静态初始化数组
int[] array = {5,15,40,82,61,51};
}
}
使用动态初始化数组的时候,其中的元素将会自动拥有一个默认值。规则如下:
- 如果是整数类型,那么默认为0;
- 如果是浮点类型,那么默认为0.0;
- 如果是字符类型,那么默认为'u0000';
- 如果是布尔类型,那么默认为false;
- 如果是引用类型,那么默认为null;
注意事项
静态初始化其实也有默认值的过程,只不过系统自动马上将默认值替换成为了大括号当中的具体数值。
数组的访问获取和赋值
数组的获取根据数组名[下标]
获取,再给变量赋值。
public class ArrayDemo {
public static void main(String[] args) {
int[] array = {5,15,40};
System.out.println(array);//[I@1540e19d
System.out.println(array[0]);//5
System.out.println(array[1]);//15
System.out.println(array[2]);//40
//把一个数组值赋给int
int intArray = array[0];
System.out.println(intArray);
}
}
输出数组名打印的地址值(哈希值)解析:
[I@1540e19d
:[代表这是一个数组,I代表这是int类型,@后边是16进制;
数组的赋值根据数组名[下标]
直接给数组元素赋值。
public class ArrayDemo {
public static void main(String[] args) {
String[] strS = new String[5];//动态初始化(指定长度)
System.out.println(strS[0]);//字符串默认值为null
strS[0] = "张三";//赋值
System.out.println(strS[0]);
}
}
获取数组的长度
数组的长度就是元素的个数
用数组名点length方法可以获取数组的长度。
public class Test1 {
public static void main(String[] args) {
int[] arrayA = new int[3];
int[]arrayB={10,30,3,5,4,6,7,8,8,4,44,6,10};
int len = arrayB.length;
System.out.println("arrayB数组的长度是:"+ len);
}
}
数组的遍历
for循环遍历:
public class Test1 {
public static void main(String[] args) {
int[]arrayB={1,2,3,4,5,6,7,8,9};
for (int i = 0; i < arrayB.length; i++) {
System.out.println(arrayB[i]);
}
}
}
增强for循环遍历:
public class Test1 {
public static void main(String[] args) {
int[]arrayB={1,2,3,4,5,6,7,8,9};
for (int i : arrayB) {
System.out.println(i);
}
}
}
数组的特点
- 数组是一种引用数据类型。
- 数组当中的多个数据,类型必须统一。
- 数组的长度在程序运行期间不可改变。