java中的一维数组

数组是一种引用数据类型,是相同的数据元素的集合

定义:

//声明整形数组arr,包含10个元素.每个元素都是int类型,默认值是0
int[] arr=new int[10];

初始化:--------初始化的是数组中的元素
int[] arr=new int[3];//0,0,0
int[] arr={2,5,8};//2,5,8
int[] arr=new int[]{2,5,80};//2,5,8

int[] arr;
//arr={2,5,8};编译错误,此方式只能声明同时初始化
arr=new int[]{2,5,8}//正确

访问--------访问的是数组的元素

--通过(数组名.length)可以获取数组的长度(元素的个数)

int[] arr=new int[8];//0,0,0,0,0,0,0,0
System.out.println(arr.length);//8

通过下标来访问数组中的元素,下标从0开始,最大到(数组的长度-1)

arr[arr.length-1]是数组中的最后一个元素

int[] arr=new int[3];
arr[0]=100;//给arr中的第一个元素赋值为100
arr[1]=50;//给arr中的第二个元素赋值为50
arr[2]=25;//给arr中的三个元素赋值为25
arr[3]=300;//运行时发生ArrayIndexOutOfBoundsException数组下标越界异常
System.out.println(arr[arr.length-1]);//输出数组中的最后一个元素;arr[2]的值25

遍历/迭代:从头到尾挨个走一遍(for循环)

int[] arr=new int[10];
for(int i=0;i<arr.length;i++){//遍历数组arr
  arr[i] =(int)(Math.random()*100);//给每个元素赋值为0到99的随机数
System.out.println(arr[i]);//输出每个元素的值
 
}

System.out.println("倒着输出")
for(int i=arr.length-1;i>=0;i--){
System.out.println(arr[i]);
}

数组的复制

int[] a={10,20,30,40,50};
int[] b=new int[6];//0,0,0,0,0,0
//a:原数组
//1:原数组的起始下标
//2:目标数组
//0:目标数组的起始下标
//4:要复制的元素个数
System.arraycopy(a,1,b,0,4);//灵活性好
for(int i=0;i<b.length;i++){
System.out.println(b[i]);
}//20,30,40,50,0,0


 int[] c = {10,20,30,40,50};
       //c:源数组
       //d:目标数组
       //6:目标数组的长度(元素个数)
       //----若目标数组长度>源数组长度,则末尾补默认值
       //----若目标数组长度<源数组长度,则将末尾的截掉
       int[] d= Arrays.copyOf(c,6); //灵活性差
       for(int i=0;i<d.length;i++){
           System.out.println(d[i]);
       }//10,20,30,40,50,0

数组的扩容与缩容

int[] a={10,20,30,40,50};
//数组的扩容(创建了一个更大的新的数组,并将数据复制进去)
a=Arrays.copyOf(a,a.length+1);
for(int i=0;i<a.length;i++){
 System.out.println(a[i]);
}//10,20,30,40,50,0


int[] b={10,20,30,40,50};
//数组的缩容
b=Arrays.copyOf(a,a.length-1){
  System.out.println(b[i])
}//10,20,30,40

排序

Arrays.sort(arr);//对arr进行升序排列

int[] arr-new int[10];
for(int i=0;i<arr.length;i++){
 arr[i] =(int)(Math.random()*100);
 System.out.println(arr[i]);
}

Arrays.sort(arr);//对arr进行升序排列

//排列后在进行输出
for(i=0;i<arr.length;i++){
System.out.println(arr[i]);
}

//这个也可以到这输出,输出后的数据没有变化,只是倒着输出,
//就是再一次输出arr数组,还是原来的数值,而不是倒着输出后的数值.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Galaxy@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值