数组
1、数组的含义
一组能够存储相同数据类型值的变量集合。如果我们有很多个相同类型的变量需要存除,如果每一个变量都单个定义,那么就会非常繁琐,而且不便于后期代码的维护。
就比如生活中的衣柜,如果给每一件衣服都放在一个衣柜里,那么不仅存放衣服这一过程会非常复杂,需要不停开门关门,对有限的空间资源占用也很大,所以我们会选择将所有的衣服放在同一个衣柜里,此时的衣服就相当于相同类型的变量,衣柜就相当于一个数组。
2、定义数组的几种方式
(1)使用默认的初始值来初始化数组中的每一个元素。
定义格式:数组元素类型〔〕数组名new数组元素类型〔数组中元素个数(数组的长度)〕
示例publicclassTest01{publicstaticvoidmain(String〔〕args){1、定义一个名为array的数组int〔〕arraynewint〔10〕;}}
(2)先声明,然后再赋予默认的初始值,就是将(1)中的进行拆分
定义格式:数组元素类型〔〕数组名;数组名new数组元素类型〔数组中元素个数(数组的长度)〕;
示例publicclassTest01{publicstaticvoidmain(String〔〕args){2、定义一个名为array的数组int〔〕array;arraynewint〔10〕;}}
(3)先声明,再使用指定的值进行初始化
定义格式数组元素类型〔〕数组名new数组元素类型〔〕{元素1,元素2,元素3,。。。}
示例publicclassTest01{publicstaticvoidmain(String〔〕args){3、定义一个名为array的数组int〔〕arraynewint〔〕{1,2,3,4,5,6,7};}}
(4)将第三种写法简写,直接给数组赋值
定义格式数组元素类型〔〕数组名{元素1,元素2,元素3,。。。}
示例publicclassTest01{publicstaticvoidmain(String〔〕args){4、定义一个名为array的数组int〔〕array{1,2,3,4,5,6,7};}}
注意
数组中的每一个数据称为元素,数组元素的位置从0开始,数组中的位置称为下标;
数组一定要有长度,在定义时指定长度或者直接给定数组的元素个数,即为长度;
3、遍历数组
(1)利用for循环遍历数组publicclassTest01{publicstaticvoidmain(String〔〕args){定义一个名为array的数组int〔〕array{1,2,3,4,5,6,7};for循环遍历数组intlengtharray。length;for(inti0;ilength;i){System。out。println(array〔i〕);}}}控制台输出:1234567
(2)利用foreach遍历数组
语法格式for(数组中的元素类型变量:数组名){对变量需要进行的操作}
这种遍历方式不能控制下标,会遍历数组中所有的数据;
示例publicclassTest01{publicstaticvoidmain(String〔〕args){定义一个名为array的数组int〔〕array{1,2,3,4,5,6,7};foreach循环遍历数组for(intarr:array){System。out。println(arr);}}}控制台输出:1234567
(3)利用可变参数遍历数组
语法publicstaticvoidtraversal(int。。。变量名){遍历操作}
示例publicclassTest01{publicstaticvoidmain(String〔〕args){traversal(1,2,3,4);}publicstaticvoidtraversal(int。。。array){intlengtharray。length;for(inti0;ilength;i){System。out。println(array〔i〕);}}}
注意点
可变参数相当于一个数组,作为数组使用,传值的时候直接传数组;
可变参数只能是参数列表中的最后一个,如果可变参数后面还有参数,会把传递的参数全部赋值到可变参数中,会导致可变参数后面的参数接收不到值。
4、遍历数组时的异常
(1)空指针异常(NullPointerException)
当一个变量为null时,即没有赋值时,调用该变量的属性和方法
示例publicclassTest02{publicstaticvoidmain(String〔〕args){int〔〕arraynull;for(inti0;iprepdatatrack218
pdatatrack219em(2)数组下标越界异常(ArrayIndexOutOfBoundsException)empdatatrack220遍历数组时超出了数组的实际长度,就会导致数组下标越界异常pdatatrack221示例precodepublicclassTest03{publicstaticvoidmain(String〔〕args){int〔〕array{1,2,3,4};for(inti0;i5;i){System。out。println(array〔i〕);}}}控制台输出:1234Exceptioninthreadmainjava。lang。ArrayIndexOutOfBoundsException:4atstudy。Test03。main(Test03。java:8)
5、数组内存结构
数组内存结构
在内存中分栈内存和堆内存,
栈内存大小固定,用于存储局部变量、基本数据类型的临时变量和引用类型变量;
堆内存大小不固定,存储的是对象。数组是引用类型,会存储在堆内存中;
存储数组时,实际是在栈内存中存入了一个地址,这个地址指向堆中一块特定的内存区域。
6、二维数组
Java中没有真正的多维数组,多维数组的表示方式是数组中的元素还是数组,遍历二维数据就是将利用两次for循环,外层for循环遍历外层数组,内层for循环遍历数组中的数组,完成要完成的操作即可。
示例:publicclassTest04{publicstaticvoidmain(String〔〕args){int〔〕〔〕array{{1,2,3},{4,5,6},{7,8,9}};inttemp0;intlength1array。length;for(inti0;ilength1;i){intlength2array〔i〕。length;for(intj0;jlength2;j){temparray〔0〕〔0〕;}}System。out。println(temp);}}
7、数组的最大值与最小值publicclassTeat05{publicstaticvoidmain(String〔〕args){int〔〕array{25,435,245,24,5};getMax(array);getMin(array);}publicstaticvoidgetMax(int〔〕array){intmaxarray〔0〕;intlengtharray。length;for(inti0;ilength;i){if(array〔i〕max){maxarray〔i〕;}}System。out。println(数组中最大值是max);}publicstaticvoidgetMin(int〔〕array){intminarray〔0〕;intlengtharray。length;for(inti0;ilength;i){if(array〔i〕min){minarray〔i〕;}}System。out。println(数组中最小值是min);}}控制台输出:数组中最大值是435数组中最小值是5
互联网项目新的风口在哪里基于共富理念的共享营销平台模式设计互联网已经在很多领域造就了新型的商业模式,例如电商平台即时通讯打车外卖共享单车短视频搜索引擎等。那么互联网新的风口在哪里?是元宇宙VRWeb3还是其他?也许基于区块链的web3和元
花西子品牌分析报告互联网平台报告微博小红书天猫淘宝知乎百度公众号视频号小程序微信快手B站抖音营销传播报告品牌营销社群营销内容营销达人营销社媒营销私域营销电商行业报告跨境电商微信电商社群电商社区电商快
这三款手机值得入手十月份这三款手机值得入手第一款OPPOFindX5优势外观外观设计辨识度颇高影像5000万像素双主摄马里亚纳影像芯片哈苏调色,拍照和视频录制能力出色续航80W有线快充30W无线快充
国产旗舰开始降价,目前这三款值得入手,都比入门版iPhone14便宜国产旗舰开始降价,目前这三款值得入手,都比入门版iPhone14便宜第一款红米K50Pro2449起红米K50Pro可以说是当代神机,天玑9000处理器,堆积3950m的VC液冷散
为了打击中国新能源车,美国要与韩国为敌?最近笔谈君看到一件事,还挺魔幻的。作为美国坚定盟友的韩国和欧盟,可能要被美国出卖了,目的是为了在新能车上能和中国有一争之力。这可不是笔谈君瞎说的,就在前段时间,拜登签署通过了通胀削
(3)Golang导入本地包gomodule是Go1。11版本之后官方推出的版本管理工具,并且从Go1。13版本开始,gomodule将是Go语言默认的依赖管理工具。到今天Go1。14版本推出之后Gomodu
用于破解无阳极锂金属电池体积膨胀问题的高可逆锂主体材料研究背景锂金属阳极因其高比容量(3860mAhg1)和低氧化还原电位(3。040VvsSHE)而受到研究人员的广泛关注。然而,目前锂金属电池仍然受到锂枝晶生长循环寿命和电池安全等问
摩托罗拉MotoE32印度新版发布IT之家10月5日消息,联想摩托罗拉在今年5月份于欧洲发布了MotoE32,配备紫光展锐T606芯片,90HzHDLCD屏幕,1600万像素后置摄像头,以及5000mAh电池。现在
继续下滑?瑞银全球手机出货量约12。3亿部,只有苹果增长今年智能手机行业遭遇寒冬,过去几个月全球出货量持续下滑,国产品牌无一幸免,这种情况可能还会持续下去。瑞银证券发布最新预测,今年全球手机销量将下滑9,总出货量可能只有12。3亿部,除
Windchime实验可以利用重力来寻找暗物质风有朝一日,这可能是第一次仅使用重力直接探测暗物质提议的Windchime暗物质探测器的工作方式有点像后院的风铃。数十亿个传感器将被吹过地球的暗物质微风的重力推动,而不是在微风中摆动
售价28。86万!续航610km,比亚迪汉EV算高性价比的新能源车型吗?在当下所有拥有新能源汽车的品牌当中,比亚迪的地位不可忽视,毕竟其销量占据了我国总需求的大头,称得上是新能源汽车的巨头,今天我们就用这款倍受有钱人喜爱的汉EV2022款创世版610K
GDP增速全国第三,甘肃做对了什么?今天一个数据令人振奋,根据地区生产总值统一核算结果,2022年,甘肃全省地区生产总值11201。6亿元,比上年名义增长9。5,按不变价格计算,比上年增长4。5,增速居全国第三,位次
我3000元打工人炒股获利多年谈谈股票先看看我真实20192023。2。8数据炒股中最好的状态就是见好就收这话没毛病!股市里的钱好不好赚,看心态看本金,人的精力是有限的,将有限的精力投入到自己擅长的模式当中去,
哪些情形属于非因本人意愿中断就业?失业保险金申领答疑来了劳动者在职期间参加失业保险的失业后符合有关条件的可以领取失业保险金哪些情形属于非因本人意愿中断就业?失业保险金只能领一次吗?有时间限制吗?关于失业保险金申领你是否也有这些疑惑?看这
抖音试水外卖,2023电商的战场攻入本地?作者把青编辑袁佳琦抖音的触手终于伸到了超市。自从布局本地生活业务以来,从到店业务再到试水外卖,抖音迈着大步,深入美团腹地。日前,抖音将在北京上海成都试点外卖业务的消息登上微博热搜榜
遥感瞰创新走近我国的大科学装置国家重大科技基础设施,又称大科学装置,是推动科技创新突破关键核心技术的利器。春节过后,我国科研工作者满怀热情地投入到新一年的工作中,下面我们就通过遥感卫星数字地球技术一起去我国的几
桃源九中举行高一年级期考总结大会大会现场。红网时刻常德2月9日讯(通讯员张智慧裴以杰)2月8日晚,桃源九中高一年级期末考试总结大会在学校大礼堂隆重举行。高一年级主任黄建华德育主任刘兴文以及全体高一师生参加了本次表
黑土地上玉米香黑土地上玉米香斯雄南方人习惯吃大米,玉米和面食相对吃得少。我老家江汉平原主要种植水稻,记得在上世纪六七十年代的时候,也种过玉米,但基本只是吃着玩儿。再往后,好像就很少见到种玉米的了
张小泉法定代表人变更,张国标卸任张小泉董事长!近日,记者从天眼查App获悉,张小泉股份有限公司发生工商变更,张国标卸任法定代表人董事长,由张樟生接任。张小泉股份有限公司成立于2008年9月,注册资本1。56亿人民币,经营范围含
芙蓉国评论春风送岗促就业,多措并举保民生王森春回大地,万象更新,兔年春节刚过,各地企业生产线均纷纷吹响复工复产号角,劳动力市场也呈现加速回暖局面。全国各地的春风行动如火如荼开展,通过线上线下招聘会,为企业和劳动者搭建平台
为期两天!全国单板滑雪平行项目冠军赛在张家口开赛图为比赛现场。河北日报通讯员张利国摄纵览客户端讯(河北日报记者赵瑞雪通讯员李海璐)2月8日,为期两天的20222023赛季全国单板滑雪平行项目冠军赛在张家口市崇礼区云顶滑雪公园开赛
动作真快,ChatGPT客户端来了这个客户端的GitHub地址是httpsgithub。comlencxChatGPTdownloads支持MacWindowsLinux。截止写文的时候,客户端已经更新到0。7。0