一.容器
1.1基础容器:
容器有大小,规定数据类型,存储的数据类型是相同类型的,数据存储到容器都有相应的位置(索引下标 index)
1.1.1一维数组
1.数组的声明:类型[]数组名;
[]在前在后无所谓,一般写在名称前方
2.数组的创建:类型[]数组名 =new 类型[数组的长度] 例如:int [] i=new int []
3.数组的访问是通过索引来访问的,索引值是从0下标开始的,没有负数。
4.数组的长度一旦被定义 不允许被修改,长度是固定的。
5.定义完数组的时候系统会给数组默认值,叫做动态初始化,不同的类型初始值不同。
5.1数组的动态初始化
类型 | 初始化值 |
---|---|
byte,short,int.long | 0 |
float,double | o.o |
char | 空格 |
boolean | false |
引用类型String | null |
5.2数组的静态初始化:
1,类型[]数组名 =new 类型[]{元素,元素,…};
2,类型[]数组名 ={元素,元素,…};一般使用第二种方法
构建一个数组 存储整数类型的值
int [] i=new int [1,2,3,4];
构建一个数组 存储文本信息的值
String [] i=new String [“张三”,“李四”,“王五”,“赵六”];
构建一个数组 存储浮点类型的值
double [] i=new double [];
6.数组的遍历:
for循环:
//存值
int[] i={18,20,22,24,26};
System.out.println(i.length);
//取值 数组名[索引下标]
int sum=0;
for (int a=0;a<i.length;a++){
System.out.println(i[a]);
sum=sum+i[a];
}
//平均数
int age=sum/i.length;
System.out.println("平均年龄是"+age+"岁");
//最大年龄:
//穷举法 假定第一个位置上的为最大值
int max=i[0];
for (int a=0;a<i.length;a++){
if (max<i[a]){
max=i[a];
}
}
System.out.println(max);
for each循环
如果以后需要遍历容器时,可以采用for each循环来获取容器当中的每个值,无需通过索引下标。
int[] i={18,20,22,24,26};
//for each 循环
for (int a:i){
System.out.println(a);
}
1.1.2二维数组
1.二维数组的声明:类型[] []数组名;
2.二维数组的赋值:数组名=new 类型[长度] [长度];
一般建议写成:类型[] [] 数组名=new 类型[长度] [长度];
[3][]: [3]表示有3个1维数组
// []表示每个一维数组的长度 为空这是默认;赋值则为固定长度
int[][]i=new int[3][];
i[0]=new int[]{1,2,3,4,5};
i[1]=new int[]{2,655,78,32,9};
i[2]=new int[]{2,5,78,2};
//简写:
int[][]i2={{1,2,3,4,5},{2,655,78,32,9},{2,5,78,2}};
//获取值
//二维数组名称[一维数组索引下标][一维数组中元素的索引下标]=对应的值
String[][]q=new String[2][3];
//把张十三 存入第二个一维数组当中的第三个位置 (下标)
q[1][2]="张十三";
//把李四 存入第一个一维数组当中的第二个位置
q[0][1]="李四";
//遍历
// for (int a=0;a<=q.length-1;a++){//a代表每个一维数组
// for (int b=0;b<=q[a].length-1;b++){//b代表每一个一维数组的元素
// System.out.println(q[a][b]);
// }
// }
//对二维数组的元素累加和计算
int[][]i3={{1,2,3,4,5},{2,655,78,32,9}};
int sum=0;
for (int a=0;a<=i3.length-1;a++){//a代表每个一维数组
for (int b=0;b<=i3[a].length-1;b++){//b代表每一个一维数组的元素
System.out.println(i3[a][b]);
sum=sum+i3[a][b];
}
}
System.out.println(sum);