java中的数组(4)

   日期:2024-12-26    作者:wzoubote 移动:http://ljhr2012.riyuangf.com/mobile/quote/55134.html

大家好,今天是java数组的最后一篇,我来为大家介绍数组中一些常见用法,那么我们直接发车。

五.作为函数的返回值.

1数组对象在堆上,不会因为局部变量的销段而销毁.

2.new开辟新空间.

3.数组对象是在堆上的.

4.引用变量目前是在main函数里面的,它属于局部变量,当函数结束时就会被回收.

5.对象被回收,是因为没有变量引用它.

注意

1.引用变量和我们平时所定义的基本变量的本质上只有一个区别,里面放的值是不一样的.引用的值是一个地址.

2.java里面没有所谓的*p.

public static void func(int[] tmp1) {.

trp 1 = new int[10]; 作用域就是在这个花括号里面. 

}

public static void func2(int[] tmp1) { 

tmp1[0]=99;

修改的是tmp1所指向的对象的内容.

}

int[] array;

array={1,2,3}; 

err,分两步写,在语法上是不支持的

int[] array = {1,2,4];  ok

整体初始化,只有一次机会,就是在定义的同时进行初始化。

int[] array = new int[] {1,2,3,4}

开辟了一块新的内存.

六.数组转字符串.

1、模拟实现tostring.

注:Java中提供了inva.util.Arrays句,其中包了一些操作数组的常用方法

.Arrays:操作数组相关的工具类.

用法:Arrays.toString(引用变量)(返回值是引用类型).

 int[]array = new int[0];

与int[] array = null;等效.

下面我们来看看代码

7、数组拷贝 注:Java定义数组时括号内可以写变量 

接贝的前提是你要有原内容产生一个一模一样的内容这叫拷贝.

持贝应该是多出来一份,而不是还是原来那一份儿。

用法:

1.copyOf (int[] original, int newlength);

扩容两倍

Arrays.copyOf ( array, 2*array.length);后面没见值的是默认值0

2.arraycopy (拷见的对象,拷贝的位置(int),拷贝内容放入的对象,开始放入的位置(int),拷贝个数).
注:拷贝长度要控制好,要不然会造成越界问题

下面是实现拷贝的代码

 七.Arrays工具类其他一些方法的使用

1.Arrays.copyOfRange(int[] originl,int form, int to )

返回类型int[]

范围:[2,5)(左闭右开)指的是数组下标

2.克隆数组

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

int[]array=tmpe.clone();

克隆tmpe数组. 产生一个副本Object 

注意:1数组当中存储的是基本类型数据时,不论怎么拷贝基本都不会出现什么问题,但如果存储的是引用数据类型,拷贝时需要考虑深浅拷贝的问题(后续会讲).

2.数组中没有负数的下标;

3. array =  {1,2,3,4};

int ret = array.length 求array数组的元素个数(长度)

4.Arrays.sort ( int[] a)排序,底层是快速排序.

返回值为void.

5.Arrays.binarySearch( int[]array, int key).

返回值为int 

如果找不到,返回一个负数(是mid最后一次位置加1)

最后再给大家分享一个简单的小游戏,猜数字游戏,大家有兴趣也可以去试试

那么今天分享就到这里,谢谢大家


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号