关于java数组的声明及创建
我们在之前的文章中,了解方法的时候,都涉及到了数组的知识,但是没有放在前面给大家去深入,我们本篇文章中,先初步了解一下数组,数组的概念,数组的定义及创建等,还是秉持理解学习的思想,结合实际的代码去深入😀
数组的定义
- 数组是一个相同类型数据的有序集合。
这句话大家可以理解为一个足球队,或者篮球队,每个队员都有自己的编号,比如NBA的库里是30号😀
一个标准的篮球队是由12个人,12个人每个人都有自己的编号,12个人组成一个数组。
- 数组描述的相同类型的若干数据。
- 数组一定是按照先后顺序排列组合而成。
- 定义变量可以是多个,但是定义数组就一个。
public class Demo
{public static void main(String[] args){int a =1;//变量需要一个一个去定义int b =2;int[] num = new int[10];//数组定义代表一组数。具体的方法下文会说明。}
}
数组的声明及创建
- 首先,必须声明数组变量,在程序中才可以使用数组。
- 数据类型[] + 数组名; 或 数据类型 + 数组名字[];
- 上述的两种声明方式都是可以的,但是后边的那种是C和C++常用的,所以我们在声明的时候尽量用前面那种😊。
public class Demo
{public static void main(String[] args){ int[] num;//常用int num1[];//C和C++}
}
- 数组的创建:
- 数组名字 = new 数据类型[范围];
public class Demo
{public static void main(String[] args){ int[] num;num = new int[10];//存放10个int类型的数字,创建一个数组}
}
- 所以我们可以直接简化,直接声明+创建
public class Demo
{public static void main(String[] args){ int[] num = new int[10];//存放10个int类型的数字,创建一个数组 }
}
数组赋值
- 我们给数组赋值一下,但是先要了解一下数组中元素的概念。
- 每个数据在数组中都称之为数组元素,每个元素都可以通过下标去访问。
- 数组中的元素是通过索引访问的,数组的索引从0开始。
public class Demo
{public static void main(String[] args){ int[] num = new int[10];nums[0]=1;//数组的索引从0开始nums[1]=2;nums[2]=3;nums[3]=4;nums[4]=5;nums[5]=6;nums[6]=7;nums[7]=8;nums[8]=9;nums[9]=100;}
}
- 我们for循环来计算一下所有元素的合,这里就引入了一个获取数组长度的用法。
- array.length 获取数组的长度。
public class Demo
{public static void main(String[] args){ int[] num = new int[10];nums[0]=1;//数组的索引从0开始nums[1]=2;nums[2]=3;nums[3]=4;nums[4]=5;nums[5]=6;nums[6]=7;nums[7]=8;nums[8]=9;nums[9]=100;int sum=0;//声明总和变量,初始值是0for(int i=0;i<nums.length;i++)//判断i和数组长度的大小{sum=sum+num[i];}System.out.println("总和为:"+sum);}
}
因为我们定义创建数组的时候,给的范围是10,所以数组的长度就是10,但是由于从0开始,所以排序为0-9。
我们分解一下for循环中的执行语句 sum=sum+num[i];
1、当 i = 0 的时候,sum=0+num[0] = 0+1=1
2、循环,i++,i = 1 的时候,sum = 1 + num[1] = 1 + 2 = 3
3、循环,i++,i = 2 的时候,sum = 3 + num[2] = 3 + 3 =6 依次往下循环,直到结束。
我们运行一下上述的代码,可以看到执行结果是
总和为:145进程结束.....
理解数组
- 其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
- 其元素必须是相同类型,不允许出现混合类型。
- 数组中的元素可以是任何数据类型,包括基本类型和引用类型。
- 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。
- 数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。
我们在后面的文章中,会说明堆,栈等知识,数组的基本声明,创建对象,用法,就是以上的内容,大家可以多写代码反复的理解一下😀