1.数组的定义:
数组是一种数据结构,用来储存同一类型值的集合。通过一个整型下标(index,或称索引)可以访问数组中的每一个值。例如,如果a是一个整型数组,a[i]就是数组中下标为i的整数。
2.创建数组:
基本语法:
动态初始化
数据类型[ ] 数组名称 = new 数据类型[ 这里什么也不要有 ] { 初始化数据 }
静态初始化
数据类型[ ] 数组名称 = { 初始化数据 }
数据类型[ ] 数组名称 = new 数据类型[ 数组元素的个数 ]
采用这种方法创建数组,数组会自动初始化为0
代码示例:
int[] array = new int[]{1,2,3,4,5};
int[] array = {1,2,3,4,5};
数组中个元素会初始化为零
int[] array = new int[5];
3.数组的使用
int[] array = {1,2,3,4,5};
//获取数组长度
System.out.println("length :"+array.length);//length : 5
//访问数组中单个元素
System.out.println(array[0]); // 1
System.out.println(array[1]); // 2
//更改数组中的元素
array[1] = 20;
System.out.println(array[1]); //20
- 通过数组名+ “.” +lenght 可以获取数组的长度
- 使用 [ ] 按下标取数组元素.。需要注意,,下标从 0 开始计数,下标(index)的取值范围为[ 0 , array.length-1 ]
- 如果下标值超过数组允许的下标值,编译器会出错:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at TeastDemo.main(TeastDemo.java:24)
4.遍历数组
第一种常用的方式:( for-循环)
for(int i = 0; i < array.length; i++){
System.out.println(array[i]);
}
第二种方式:( for-each循环)
for(int i : array){
System.out.println(i);
}
for-each的使用格式
for(表达式1 : 表达式2){
表达式3;
}
表达式1:数据类型 + 变量名( i )
表达式2:数组名
表达式3:一般为关于变量( i )的语句
原理:将数组中的每一个元素赋值个变量( i )
4.对数组更深的理解
学过C语言的同学都知道:数组名里储存的是数组中首元素的地址。
由于Java是面对对象的编程语言, Java 将数组设定成引用类型,但实际上数组名储存的就是数组的地址。
局部变量储存在Java虚拟机栈,每次方法的调用会在Java虚拟栈上开辟空间,方法结束后释放空间。
数组中的元素则储存在堆上,数组名中储存着数组的地址称为“引用”!