根据上文,我们这章写到了数组,数组完了,基本我们的基础就打牢靠了,接着我们就开始更新面向对象,面向对象是中期的内容,后面的就过的更快了,我的计划,差不多六月底会更新完Java这部分的内容,然后会更新数据库,数据结构与算法等一系列的内容,大家敬请期待哦!
一 数组
二 数组的特点
三 数组的分类
四 一维数组的使用
五 一维数组的初始化
六 一维数组的使用
七 一维数组的遍历
八 数组元素的默认值
九 总结
上一章我们讲完了循环体系,让我们打开新的一系类问题,来进行探索。
提示:以下是本篇文章正文内容,下面案例可供参考
数组:是多个相同类型数据按照一定顺序排列的集合,并使用一个1名字来命名,并通过编号的方式对这些数据进行同一的管理
数组的概念:数组名 下标(也叫索引) 元素 数组的长度
在我们的印象中,我们可以想象到我们在饭店里面的菜单,点外卖的美团上,都可以想想到我们的数组,那数组的特点又有哪些呢?我们接着往下看。
1,数组本身是引用数据类型,而数中的元素可以是任何数据类型,包括数据类型和引用数据类型
2,创建数组对象会在内存内开辟一整块连续的空间,占据的空间大小取决与数组的长肚肚和数组中元素的类型
3,并且数组元素在内存中是依次紧密排列的,有序的。
4,数组一旦初始化完成,其长度是确定的,而数组一旦确定就不可以修改
5,数组名中引用的是这块连续空间的首地址
1,按照元素类型分类:
2,按照维度分
一维数组的格式:
元素的数据类型[ ] 一维数组名称
int[] arr;
int arr1[];
double[] arr2;
String[] arr3; //引用类型变量数组
数组声明:
一维数组的初始化有两种,一种静态初始化,一种动态初始化,接下来让我们来说说这两种初始化有什么区别吧!
一维数组的格式:
数据类型[ ] 数组名 = new数据类型[ ] {1,2,3,....}
或者
数据类型 [ ] 数组名;
数组名 = new 数据类型 [ ]{1,2,3,....}
其中new是关键字,创建数组使用的关键字。因为数组本身是引用数据类型,所以要用new创建数组实体
int[] arr = new int[]{1,2,3,4,5};
//或者下面这种
int[] arr;
arr = new int[]{1,2,3,4,5};
动态初始化
数组变量的初始化和数组的赋值操作分开进行,则为动态初始化。
动态初始化中,只确定了元素的个数(即数组的长度),而数组元素此时只是默认值,还并未真正赋自己期望的值,真正期望的数据需要后续一个一个赋值。
格式:
数组存储的元素的数据类型[ ] 数组名字 = new 数组存储的元素的数据类型 [长度];
或者
数组存储的数据类型 [ ]数组名字;
数组名字 = new 数组存储的数据类型[长度];
这里的长度 数组的长度,表示数组容器中最多可以存储多少个元素
数组是有长度的限定,有一定的长度,比如:我们有一个500ml的瓶子,那么它最多也就500ml,它是固定的。
数组的长度:
数组的元素总个数,即数组的长度
每个数组都有一个属性length指明它的长度,例如:arrlength指明数组arr的长度(即元素个数)
每个数组都具有长度,而且一旦初始化,其长度就是确定,且是不可变的。
如何表示数组中的一个元素?
每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号称为数组索引(index)或下标,可以通过数组的索引/下标访问到数组中的元素。
数组名[索引/下标]
数组的下标范围?
在Java中数组的下标从[0]开始,下标范围是[0,数组的长度-1],即[0,数组名.长度-1]
数组元素下标可以是整型常量或整型表达式。a[3],b[i]。
将数组中的每个元素分别获取出来,就是遍历。for循环与数组的遍历是绝配。
public class beichen{
public static void main(String[] args){
int[] arr = new int[]{1,2,3,4,5};
System.out.println("数组的长度:" + arr.length);
System.out.println("数组的元素有:")
for(int i=0; i
数组是引用类型,当我们使用动态初始化方式创建数组时,元素值只是默认
值。
public class beicheng{
public static void main(String argv[]){
int a[]=newint[5];
System.out.println(a[3]);//a[3]默认值为0
}
}
对于基本数据类型而言,默认初始化值各有不同。
对于引用数据类型而言,默认初始化值为null(注意与0不同!)
数组元素类型 元素默认初始值
数组的元素类型 |
元素默认初始值 |
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0F |
double | 0.0 |
char | 0 |
boolean | false |
引用类型 | null |
这是我们这章所写的内容,b部分我们会更新二维数组,基本我们数组的部分下一章会全部更新完,我们接下来会开面向对象,面向对象我们会由浅到深,很多都会讲到的,面向对象的部分会要很长的时间,在加上我马上要考试了,所以面向对象会放的很慢很慢,希望大家持续关注