数组
1.一维数组
定义的方式:
静态初始化:int[] arrs = new int[]{1,2,3,4,5,6,7,8,9,}
动态初始化:int[] arrs = new int[6];
数组的遍历
将数组中内容展示出来;
1.for循环
2.foreach循环
数组下标从0开始的原因
直接展示数组,所输出的地址,表示的数组第一块空间在内存中的地址
数组中全部的数据,在内存中,是连续存在的
同一种数据类型,在内存中,所占的空间大小是相同的,可以通过第一块的空间地址+第n块的倍数,获取到第n+1块的空间地址值
数组的特点:
1,查询快
2,增删慢
堆的块的大小计算
第一块:a 1 groupOne[0] xxx
第二块:a+1*1 groupOne[1] xxx+1*x
第三块:a+1*2 groupOne[2] xxx+2*x
第n块:a+1*(n-1)
Text01.java代码示例
public class Text01 {
public static void main(String[] args) {
// 数组
// 名称(对象的地址) 对象
J02Student yantao = new J02Student("yantao","man",19);
J02Student binbin = new J02Student("binbin","man",19);
J02Student xiaodong = new J02Student("xiaodong","man",19);
//静态初始化
J02Student[] groupOne = new J02Student[]{yantao,binbin,xiaodong};
//动态初始化
J02Student[] groupTow = new J02Student[8];
//多维数组动态
J02Student[][] classRoom02 = new J02Student[3][];
classRoom02[0] = new J02Student[7];
classRoom02[1] = new J02Student[9];
classRoom02[2] = new J02Student[6];
System.out.println(classRoom02[1].length);
//多维数组的遍历
for (int i = 0; i < classRoom02.length ; i++) {
System.out.println("" + i + classRoom02[i]);
for (int j = 0; j < classRoom02[i].length ; j++){
System.out.println("" + j +classRoom02[i][j]);
}
}
//多维数组静态
// J02Student[][] classRoom03 = new J02Student[][]{groupOne,groupOne,groupOne,groupOne};
//三维数组
// J02Student[][][] classRoom04 = new J02Student[7][8][3];
// 默认输出第一个数据 所输出的地址,表示的数组第一块空间在内存中的地址
// System.out.println(groupOne);
// 输出第0块数据
// System.out.println(groupOne[0]);
// 输出第一块 binbin 的数据 下面的两个输出道理一样
System.out.println(groupOne[1].name);
System.out.println(binbin.name);
// Arrays.toString(J02Student);
//数组的遍历
// for (int i = 1; i < groupOne.length ; i++) {
System.out.println(i+":"+groupOne[i]);
}
// for (J02Student student : groupOne) {
// System.out.println(student);
// }
// System.out.println(yantao);
// System.out.println(groupOne);
// System.out.println(yantao);
}
}
Jo02Studente.java 代码示例
public class J02Student {
String name;
String sex;
int age;
public J02Student(){
}
public J02Student(String name, String sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
@Override
public String toString() {
return "J02Student{" +
"name='" + name + '\'' +
", sex='" + sex + '\'' +
", age=" + age +
'}';
}
}