java初学者-----数组(下)




数组初始化


1.静态初始化


自己设置初始化值,长度由系统决定


int[] nums=new int[]{1,3,5,7};



or


int[] nums={1,3,5,7};



//第二种必须声明之后马上初始化,一口气写完


system.out.println(nums.length)//数组长度


步骤


  1.声明int类型数组 nums


 int[] nums;


  2初始化数组


  newint[]{1,3,5,7};


  3.将初始化数据赋给数组;


  new关键字在堆空间开辟一块内存区域,用来存储数据


 nums可以引用数组的地址 类似于指针


 


nums=null


没有引用任何空间


若堆中的内存空间没有被引用,就会被当作垃圾而被回收


2.动态初始化


由我们设置数组元素个数,而每一个数组元素初始值由系统决定


 

  数组元素类型[] 数组名=new 数组元素类型[length]


比如



 


不同数据类型初始值不同:


  •  数值为0(0.0)

  •  Booleanfalse

  •  Char为空

  •  Stringnull


内存:


new分配空间之后,引用数组的地址,全部为0,最后赋值;


在使用nums=null之后,若查找他的长度,会出现空指针异常。


 


静态/动态初始化不能同时使用。



翻译过来说就是



什么时候使用静态初始化和动态初始化?


  • 当我们知道要存的是哪一些数据时,使用静态初始化;

  • 但当我们不知道要存的是什么,使用动态初始化;

  • 数组初始化之后不能改变长度,若需要改变,则需要重新初始化。


 


二、数组基本操作


1.获取/设置/遍历元素等


①获取元素:元素类型 变量=数组名[index]//index是索引


②设置元素:数组名[index]=


③遍历数组元素:以num1为例;



④数组长度:int len=数组名.length;//length是属性不是方法


⑤索引范围:0开始,逐一递增[0,数组名.length-1]


 


2.操作数组时常见异常


NullPointerException:空指针异常(空引用)


   当数组还未初始化,直接操作数组出现的错误,比如获取长度(不是打印)



但是打印却可以(null



ArrayIndexOutOfBoundException


   索引越界



3.获取最大/最小元素(数值型数组)


先猜第一个值为最大(小)值









4.按格式打印数组元素


直接打印数组时,打印出来的是hashcode



但我们想打印的是特殊格式元素的值


方法本体:



使用:



//null1是类名称。


5.逆序排列数组元素


①创建新数组存储逆序后数组



②索引交叉排序


 


6.元素出现索引(第一次indexof/最后一次lastindexof


①是否存在?


②第一次:从前往后,第二次反之


从前往后



 
 


同理  从后往前


 


线性查找效率低下





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值