一、什么是数组
1.数组是一个变量,存储相同数据类型的一组数据。
声明一个变量就是在内存空间划出一块合适的空间。
声明一个数组就是在内存空间划出一串连续的空间。
2.数组基本要素
标识符:数组的名称
数组元素:数组中存放的数据
元素下标:对数组元素进行编号,数组下标从0开始,数组中的每个元素都可以通过下标来访问
元素类型:数组元素的数据类型
二、如何使用数组
1使用数组四步走
声明数组 int[ ] a;
分配空间 a = new int[5];
赋值 a[0] = 3;
处理数据 a[0] = a[0] * 10;
以下两种声明数组方式都可以使用:
数据类型 数组名[ ] ;
数据类型[ ] 数组名 ;
声明数组并分配空间:
数据类型[ ] 数组名 = new 数据类型[大小] ;
边声明边赋值:
int[ ] scores = {89, 79, 76};
int[ ] scores = new int[ ]{89, 79, 76};
从键盘录入赋值:
Scanner input = new Scanner(System.in);
for(int i = 0; i < 30; i ++){
score[i] = input.nextInt();
}
三、数组的典型应用
1.添加元素
public static void main(String[] args) { //声明数组类型,并定义数组长度及内容 String[] addArray = {"三国演义","红楼梦","史记",null ,"左传","菜根谭"}; int index = -1; //用来存储为null的数组下标 for (int i = 0; i < addArray.length; i++) { //循环比较,哪个位置为null if (addArray[i] == null){ //如果为null,就将addArray[i]的下标值赋给index,并跳出循环 index = i; break; } } if (index > -1) { addArray[index] = "西游记"; //将西游记赋给addArray[index] } for (String add : addArray) { //循环输出数组中的内容 System.out.println(add); } }
2.修改元素
public static void main(String[] args) { //声明数组类型,并定义数组长度及内容 String[] phones = { "iPhone3", "iPhone4", "iPhone5", "iPhone6", "iPhone6s","iPhone7" }; int index = -1; //用来存储为null的数组下标 for (int i = 0; i < phones.length; i++) { //循环比较,哪个位置为null if (phones[i] == "iPhone6"){ //如果为null,就将addArray[i]的下标值赋给index,并跳出循环 index = i; break; } } if (index > -1) { phones[index] = "iPhine5s"; //将西游记赋给addArray[index] } for (String add : phones) { //循环输出数组中的内容 System.out.println(add); } }
3.删除元素
public static void main(String[] args) { //声明数组类型,并定义数组长度及内容 String[] bookArray={"三国演义","红楼梦","史记","西游记","左传","菜根谭"}; int index = -1; //用来存储"左传"的数组下标 for (int i = 0;i < bookArray.length;i++){ //循环比较,哪个位置为左传 if ("左传".equals(bookArray[i])) { //如果为“左传”,就将bookArray[i]的下标值赋给index,并跳出循环 index = i; break; } } if (index > 0) { for (int i = index; i < bookArray.length - 1; i++) { //将null后面的内容前移 bookArray[i] = bookArray[i + 1]; } } bookArray[bookArray.length-1] = null; //把null赋给下标为length-1的数组中的数 for (String book : bookArray) { //循环输出数组中的内容 System.out.println(book); } }