Java一维数组与存储空间

Java一维数组:
(1)一维数组的定义:int []arr=new int []{1,2,3,4,5};Int []arr= new int[5];int []arr={1,2,3,4,5};
(java中可以创建数组长度为零的数组,但0不等同于null)
(2)一维数组的遍历:
for循环法:for(in t i=0;i<arr,length;i++)
System.out .println(arr[i]);
For each法:for(int element:arr)
System.out.println(element);//循环数组中的每一个元素
Arrays 类中的toString方法: Arrays.tostring(arr);
(3)一维数组的内存分布: java数组属于引用数据类型,new运算符会在JVM中的堆内存中创建一段空间,存放数组元素,并返回数组的引用;而数组变量[ ]arr则存放在栈中;
如图:int [] arr=new int[]{0,1,2,3,4,5};int []brr=new int[]{9,8,7,6,5,4};
在这里插入图片描述

(4)一维数组的拷贝:将一个数组变量拷贝给另一个数组变量,使两个变量引用同一个数组。
方法一:int[]arr=new int[]{1,2,3,4,5};int brr[]=new int[5];
For(int i=0;i<arr.length;i++)
Brr[i]=a[i];
方法二(数组扩容):int []arr=new int[]{1,2,3,4,5};
Int[] brr = Arrays.copyOf(arr,5);//第一个参数:原数组名 第二个参数:拷贝后新数组的长度;
若新数组大于原始数组的长度:如果数组元素是数值型,则多余的元素被赋值为0,如果为布尔型数组元素,则赋值为false;
若新数组的长度小于原数组的长度:则只拷贝最前面的数据元素;
int []arr = new int[]{1,2,3,4,5,6};
int []brr = new int[6];
brr= Arrays . copyOf(arr,arr.length);
arr=brr;
如图:

在这里插入图片描述

方法三:调用方法System.arraycopy()
int arr ={1,2,3,4,5};
Int brr= new int [100];
System.arraycopy( arr , 0 , brr , 0 , arr.length);//参数一:原数组;参数二:原数组中的起始拷贝位置;参数三:被拷贝数组;参数四:被拷贝数组中的拷贝起始位置;
参数五:希望拷贝的数组元素个数。
方法四:调用方法 数组名.clone()
Int []brr=arr.clone();//将arr中的数组元素拷贝进brr;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值