大家好,欢迎来到IT知识分享网。
第一章 数组
假设班里有30个同学,每个同学都有一个总成绩,如果要使用变量来记录这些些同学的成绩,我们需要定义30个变量,
如果我们求出我们班所有人的总成绩,得一个一个的加。这样的操作,是非常麻烦的。
如果要把这30个成绩数据进行保存,之后要提取某个同学的成绩时,你得知道,这个同学他对应的变量名。
这也是一个非常麻烦的地方。
当数据过多的时候,如果要统一管理,保存,就可以使用Java中提供的【数组】功能。
1.1 什么是数组
数组是编程语言中最常见的数据结构。可以存储多个数据,一个数组只能存储同一种类型的数据。
简单来说,数组就是一个装同一种类型数据的容器.
这个容器是开辟在内存中的一个连续的空间,从而可以保证数据存储的顺序。这个顺序是从0开始排序,这些排序的序号叫索引,也叫角标。
可以理解为索引就是数据在数组中的位置.
数组,是引用数据类型中的一员。
生活中的小粟子:
在超市的储物柜,有很多的小柜子,每一个小柜子都有一个编号,这些小柜子是连续排列的。我们的数组,就类似于这么一个储物柜。
数组是存在于内存中的,是看不见,但是存在的。
1.2 创建数组的格式
数组的应用,有种方式。
1.2.1 动态创建
数组创建的格式:
数据类型 变量名
数据类型[] 数组名 = new 数据类型[数组的长度];
指定创建的数据,装的是什么样的数据。
在数组的定义在,这个符号[]表示一维数组。
数据类型[] :表示定义的是数组变量 ,也可以理解为数组数据类型,也是数据类型中的一种,归类于引用数据类型。
数组名 == 变量名
new :这个关键字,意思是在内存中去创建出存放数据的位置、空间
数据类型[数组的长度]:表示在内存中存放数据容器中数组。
数组的长度:表示存放数据的个数。
存放在数组中的数据,又叫做数组元素,简称元素。
示例:
我们要创建一个数组,装30个同学的成绩:
int[] chengJi = new int[30];
1.2.2 静态创建
创建格式:
数据类型[] 数组名 = new 数据类型[]{元素…};
所谓的静态,是在创建数据的同时,给出具体的数据。
一创建就直接给数据。
对于静态的数组创建的方式,还可以简写与:
数据类型[] 数组名 = {元素…};
这种格式,在开发中应用的最多。
1.3 数组的初始化&操作
初始化:数组在创建好的时候,会按数据的类型给每个元素一个【默认值】。
数组操作:就是为每个数组的元素赋值,是往这个容器中添加或修改数据。
数组的操作,最终操作的是数组中的数据。
在数组创建时,不同的数据类型在堆内存中会有不同的默认值:
u byte、short、int、long–>默认初始化值都是0整数
u float、double–>默认初始化值都是0.0 小数
u char –> 默认初始化值都是’\u0000′ (空格)
u boolean –> 默认初始化值都是false
u 引用数据类型 –> 默认初始化值都是null:
无效的,无价值的;等于零的,
在JAVA中意思是不存在的,空的
1.3.1 数组的操作
数组,是创建在内存中,连续的空间。
我们把数据装到数组中对应位置,这个位置,使用的是当前数据所在的数组中的索引来指定。
简单的一句话,索引记录、指定了数据所在的位置。
int[] chengJi = new int[30];
//把同学的成绩装到数组中
//装第1个成绩
使用数组的时候,要指定所使用的、要查找的索引位置,通过[索引]来实现,索引是从0开始计算,第1个就是0
chengJi[0] = 99;
//第2个成绩
chengJi[1] = 98;
……
chengJi[29] = …
这种方式,不管是静态的创建还是动态的创建,只要是往数组中放数据,都一样。
但是,需要注意的是,如果数组中,指定的索引上已经有数据,再装,就是覆盖。原来的数据就没了
如果要取出数组中的数据:
假设要取了第13位同学的成绩,
int t13 = chengJi[12];
System.out.println(chengJi[12]);
chengJi[12]; //这样也可以,但是没有意义。
以上,是常规的数组的操作。
如果我要把所有数组中元素,都拿来出进行计算,要怎么做??
要把数组中的元素都拿出来,最快最有效的方法,是使用for循环。使用for循环来对数据进行的操作,叫做遍历。
四个术语:索引、角标、元素、遍历
角标:上角标(最大索引)、下角标(最小索引)
1.3.2 示例
1.3.2.1 设置值和取值
示例1:设置值和取值
索引的操作:[索引值]
要操作的是哪一个数组中的哪一个索引值
操作数据的格式:数组名[索引值];
1.3.2.2 修改数据
示例2:
修改数组中的数据
修改之后,原数据将会消失。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/48015.html