数组

数组概念 

数组就是存储数据长度固定的容器,保存多个数据的数据类型要一致。

数组-->容器-->装的就是数据( int double float 任何数据类型的数据)

特点:长度是固定

容器:是将多个数据存储到一起,每个数据称为该容器的元素

数组的定义

方式一:

数据类型 变量名 = 值

格式:

数组存储的数据类型[] 数组名字    =   new  数组存储的数据类型[长度];

​数组类型        变量名  = new 数组存储的数据类型[长度];

数组定义格式详解:

数组存储的数据类型: 指定创建的数组可以存储什么数据类型

[] : 表示数组。

数组名字:为定义的数组起个变量名,满足标识符规范,可以使用名字操作数组

new:关键字,创建数组使用的关键字

数组存储的数据类型: 创建的数组容器可以存储什么数据类型

[长度]:数组的长度,表示数组容器中可以存储多少个元素

 

注意:数组有定长特性,长度一旦指定,不可更改

 

方式二:

有时候定义一个数组的时候,元素是已知的,那么可以使用以下格式定义数组

格式:

数据类型[] 数组名  = new 数据类型[] {元素1,元素2,元素3...};

数组定义格式详解:

格式中不显式定义数组长度,长度由后面的元素个数决定

 

{元素1,元素2,元素3...}:提前初始化定义数组的元素,可以有任意多个,但元素的类型一定要和前面定义的类型相匹配

 

注意:这种格式定义的长度由 大括号里面的元素个数指定,不要显示的定义长度

 

方式三

格式:

数据类型[] 数组名 = {元素1,元素2,元素3...};

 

注意

​ 当数据确定时,我们可以使用格式2或者格式3进行定义数组(这两种定义方式也叫静态定义)

​ 当数据不确定,我们使用格式1定义数组(这种定义方式也叫动态定义)

 

数组的索引

索引 (角标,下标):

每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号称为数组索引,可以通过数组的索引访问到数组中的元素

 

通过索引访问数组中的元素:

数组名[索引] = 数值,为数组中的元素赋值

变量 = 数组名[索引],获取出数组中的元素

 

基本数据类型数组的初始值 ( 0值)

整数类型默认是 0

小数类型默认是0.0

字符类型默认是十进制0对应的字符,就是空

布尔类型默认为false

引用数据类型,默认是 null)

 

数组内存、

 

 

JVM(Java虚拟机)内存划分:方法栈( 栈 )、堆内存 ( 堆 )、方法区、(本地方法栈、寄存器)

方法中定义数组,变量存的是地址,内存空间在堆内存中

可以有多个变量指向相同的堆空间地址

 

数组的遍历

遍历就是将数组中的每个元素分别获取出来,就是遍历遍历也是数组操作中的基石

 

数组的最大值获取

最大值获取:从数组的所有元素中找出最大值。

实现思路:

定义变量,保存数组0索引上的元素

遍历数组,获取出数组中的每个元素

将遍历到的元素和保存数组0索引上值的变量进行比较

如果数组元素的值大于了变量的值,变量记录住新的值

数组循环遍历结束,变量保存的就是数组中的最大值

 

数组反转

数组中的元素颠倒顺序,例如原始数组为1,2,3,4,5,反转后的数组为5,4,3,2,1

 

实现思想:

对称位置数据进行交换。

定义两个变量,保存数组的最小索引和最大索引(对称位置)

两个索引上的元素交换位置

最小索引++,最大索引--,再次交换位置(保证前后位置对称)

最小索引超过了最大索引,数组反转操作结束

 

数组作为方法参数和返回值

数组作为方法参数传递,传递的参数是数组内存的地址

数组作为方法的返回值,返回的是数组的内存地址

 

基本数据类型和引用数据类型作为方法参数的区别

基本数据类型在方法的传参过程中, 仅仅只传递了值

数组是引用数据类型, 在方法的参数传递的时候, 传递的是地址

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于计算机专业的学生而言,参加各类比赛能够带来多方面的益处,具体包括但不限于以下几点: 技能提升: 参与比赛促使学生深入学习和掌握计算机领域的专业知识与技能,如编程语言、算法设计、软件工程、网络安全等。 比赛通常涉及实际问题的解决,有助于将理论知识应用于实践中,增强问题解决能力。 实践经验: 大多数比赛都要求参赛者设计并实现解决方案,这提供了宝贵的动手操作机会,有助于积累项目经验。 实践经验对于计算机专业的学生尤为重要,因为雇主往往更青睐有实际项目背景的候选人。 团队合作: 许多比赛鼓励团队协作,这有助于培养学生的团队精神、沟通技巧和领导能力。 团队合作还能促进学生之间的知识共享和思维碰撞,有助于形成更全面的解决方案。 职业发展: 获奖经历可以显著增强简历的吸引力,为求职或继续深造提供有力支持。 某些比赛可能直接与企业合作,提供实习、工作机会或奖学金,为学生的职业生涯打开更多门路。 网络拓展: 比赛是结识同行业人才的好机会,可以帮助学生建立行业联系,这对于未来的职业发展非常重要。 奖金与荣誉: 许多比赛提供奖金或奖品,这不仅能给予学生经济上的奖励,还能增强其成就感和自信心。 荣誉证书或奖状可以证明学生的成就,对个人品牌建设有积极作用。 创新与研究: 参加比赛可以激发学生的创新思维,推动科研项目的开展,有时甚至能促成学术论文的发表。 个人成长: 在准备和参加比赛的过程中,学生将面临压力与挑战,这有助于培养良好的心理素质和抗压能力。 自我挑战和克服困难的经历对个人成长有着深远的影响。 综上所述,参加计算机领域的比赛对于学生来说是一个全面发展的平台,不仅可以提升专业技能,还能增强团队协作、沟通、解决问题的能力,并为未来的职业生涯奠定坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值