Introduction of array:
目的:寻找一个可以同时存储多个变量的容器
数组:存储同种数据类型的多个
Tips:考虑存什么类型的数据的时候,还要考虑隐式转换的问题
即:double类型的array,放入int类型的数据也是可以的,因为其会自动转化成double类型的数据
Definition of array:
Type one:
数据类型 [] 数组名 int [] array
Type two:
数据类型 数组名 [] int array []
数据类型:定义了array能存什么类型的变量
[]:定义我们所存的数据为数组
array:数组名
Initialise of array:
初始化:在内存中,为数组容器开辟空间,并将数据存入容器中的过程
1.静态初始化
完整格式:
数据类型[]数组名 = new数据类型[]{元素1, 元素2,元素3};
eg:int []array = new int []{1,2,3};
double [] array = new double[]{11.2,66.3};
但是一般这种格式比较麻烦,所以在开发过程中,我们一般都习惯用其简化后的格式
简化后格式:
int[]array = {11,66,95}; 长度为3,且创建之后不能再改变
double [] array = {11.56,889.5};
数组的地址值:
sout(array);
打印出来的是数组容器在内存中的地址值:表示数组在内存中的位置
2.数组的元素访问
索引:从0开始,下标,角标。连续不间断
格式:数组名[索引]
获取时的两种办法:
int number = array1[0];
sout(number);
//直接获取法
sout(array[0]);
数据存储到数组中:
格式:数组名[索引] = 对应新的赋值
array[0] = 100;
由于数组的长度是不能够改变的,所以只能更改里面的值
3.数组的遍历
遍历:取出数据的整个过程
//定义数组
int array[] ={1,6,8,3,4};
//获取数组里面的所有数字
//利用循环改进代码
/*每次使用循环结构都需要思考的问题
1.开始条件:0
2.结束条件:4/最大索引=数组长度-1
*/
for(int i = 0;i<= 4;i++){
sout(array[i]);
}
array的长度属性:length
调用方法:数组名.length
for (int i = 0; i <array.length; i++){
}
快捷键:数组名.fori
自动会生成循环遍历数组的代码
task1:
定义一个数组,存储1,2,3,4,5,遍历数组得到每一个元素,求数组里面所有的数据和
//定义一个数组,并添加数据
int[]arr={}1,2,3,4,5};
//定义求和变量
因为这个变量为全局变量,是最后需要被输出的
int sum = 0;
//遍历数组得到每一个数据,累加求和
for(int i = 0; i< arr.length; i++){
sum = sum + arr[i];
}
sout(sum);
task2:
4.动态初始化
与静态初始化的应用场景不一样
动态:初始化时只定义数组长度,由系统为数组分配初始值
格式:数据类型[]数组名 = new 数据类型 [数组长度]
eg: int [] arr = new int[3];