1.数组:
在内存内开辟一组连续空间来存值叫数组.
1.1 数组也是一种变量,也是一种引用数据类型.
1.2 数组由四个组成部分
数组名,数据类型,元素,索引(下标).
1.3 类型
同一个数组中,元素的数据类型相同的;不同的数组数据类型可以是java中任意类型.
1.4 索引
数组的索引从0开始.
1.5 访问数组中某个空间元素
数组名[索引].
1.6 空间
数组一但分配了空间,它的长度是固定的.
1.7长度
数组的长度:数组名.length
1.8 范围
数组的索引范围在:0~数组名.length-1
数组的索引如果超过范围报:ArrayIndexOutOfBoundsException
1.9 使用
数组只要分配空间就可以使用.
1.10 默认值
数组如果分配空间后,不赋值有默认值:
String类型数组,默认值null
int类型数组,默认值0
double类型数组,默认值0.0
char类型数组,默认值/u0000,在window系统上看着像空格
boolean类型数组,默认值false
1.11 输出
数组如果直接输出,输出的是内存地址.
2.数组的使用:
2.1:声明数组语法:
数据类型[] 数组名;(推荐)
数据类型 数组名[];
eg://声明数组,存学生姓名
String[] studentNames;
//声明数组,存学生年龄
int studentAges[];
2.2:给数组分配空间:
语法:
-
给已经声明的数组分配空间:
数组名=new 数据类型[长度];
-
在声明数组的同时分配空间语法:
数据类型[] 数组名=new 数据类型[长度];
数据类型 数组名[]=new 数据类型[长度];
//eg://给已经声明的数组分配空间
studentNames=new String[3];
studentAges=new int[3];
//在声明数组的同时赋值,存学生身高
double[] studentHeight=new double[4];
2.3:给数组赋值:
2.3.1:动态赋值
适用于所有数组.
注意: 只有分配空间的数组,才可以使用动态赋值.
动态赋值的语法:数组名[索引]=值;
//eg://给数组动态赋值
studentNames1[0]="张三";
studentNames1[1]="李四";
studentNames1[2]="王五";
2.3.2:静态赋值
适用于对数组中元素已知的情况.
2.3.2.1:静态赋值的第一种语法,在声明数组的同时给数组赋值:
数据类型[] 数组名=new 数据类型[]{值1,值2…};
可以写成:
数据类型[] 数组名;
数组=new 数据类型[]{值1,值2…};
eg://声明数组的同时,静态赋值
String[] studentNames2=new String[] {"赵六","钱七","老王","马云"};
int[] studentAges2;
studentAges2=new int[] {17,18,19};
2.3.2.2:静态赋值的第二种语法,在声明数组的同时给数组赋值:
数据类型[] 数组名={值1,值2…};
eg:double[] studentHeight2= {1.7,1.8,1.9};
2.4:遍历数组:
遍历:访问数组中每个空间的元素的值.
2.4.1:用for循环遍历
//eg://用for循环遍历数组
for(int i=0;i<studentNames1.length;i++) {
System.out.println("姓名为:"+studentNames1[i]);
}
2.4.2:(扩展)用增强版for循环(foreach循环)遍历:
只用于访问数组和集合中每个元素.
语法:
for(数据类型 别名:数组/集合){
}
注意: 别名指代当前遍历集合中当前元素.数据类型指代遍历每个元素的