JAVA零基础学习之路(十七)

发布于:2023-01-05 ⋅ 阅读:(142) ⋅ 点赞:(0)

数组常见操作

数组常见的两种操作:遍历、拷贝

1.遍历指的就是“通过循环遍历数组的所有元素”。

2.拷贝指的是将某个数组的内容拷贝到另一个数组中

注:实质上,后面大家学容器的扩容就是“数组的拷贝”。

数组的遍历

数组元素下标的合法区间:[0,length-1]。我们可以通过下标来遍历数组中的元素,遍历时可以读取元素的值或者修改元素的值。

【例】使用循环初始化和遍历数组

public class Test {
    public static void main(String[] args) {
        int[]a = new int[4];
        //初始化数组元素的值
        for(int i=0;i<a.length;i++){
            a[i] = 100*i;
        }
        ∥读取元素的值
        for(int i=0;i<a.length;i++){
           System.out.println(a[i]);
        }
    }
}
执行结果:
0
100
200
300

for-each循环

for-each专门用于读取数组或容器中所有的元素

【示】使用增强for循环遍历数组

public class Test {
    public static void main(String[] args) {
        String[] ss ={"aa", "bbb","ccc","ddd" };
        for (String temp : ss) {
          System.outprintln(temp);
        }
    }
}

执行结果:

aa
bbb
CcC
ddd

注意

  • for-each增强for循环在遍历数组过程中不能修改数组中某元素的值。
  • for-each仅适用于遍历,不涉及有关索引(下标)的操作。

数组的拷贝

System.arraycopy (object src, int srcpos, object dest, int destpos, int length)

  • src-源数组。
  • srcPos-源数组中的起始位置。
  • dest-目标数组。
  • destPos-目标数据中的起始位置。
  • length-要复制的数组元素的数量。

该方法可以将src数组里的元素值赋给dest数组的元素,其中srcpos指定从src数组的第几个元素开始赋值,length参数指定将src数组的多少个元素赋给dest 数组的元素。

【例】数组的拷贝

public class Test {
    public static void main(String args[]){
        String[]s={"阿里","尚学堂","京东","搜狐","网易"};
        String[] sBak = new String[6];
        System.arraycopys,0,sBak,0,s.length);
        for (int i = 0; i < sBak.length; i++){
            System.out.print(sBak[i]+ "\t");
        }
    }
}

执行结果:

阿里尚学堂 京东 搜狐 网易 null

java.util.Arrays 类

Arrays类包含了:排序、查找、填充、打印内容等常见的数组操作。

【例】使用Arrays类输出数组中的元素

import java.util.Arrays;
public class Test {
    public static void main(String args[]){
        int[] a ={1,2};
        System.out.println(a);/∥打印数组引用的值;
        System.out.println(Arrays.toString(a));//打印数组元素的值;
    }
}

执行结果:

[1@15db9742
[1,2]

多维数组

多维数组可以看成以数组为元素的数组。可以有二维、三维、甚至更多维数组,但是实际开发中用的非常少。最多到二维数组(学习容器后,我们一般使用容器,二维数组用的都很少)。

【例】二维数组的声明

public class Test {
    public static void main(String[ ] args) {
        //Java中多维数组的声明和初始化应按从低维到高维的顺序进行
        int[][] a = new int[3][];
        a[0] = new int[2];
        a[1] = new int[4];
        a[2] = new int[3];
        ∥ int a1[][]=new int[][4];//非法
    }
}

【例】二维数组的静态初始化

public class Test {
    public static void main(String[ ] args) {
        int[][]a ={{1,2,3},{3,4},{3,5, 6,7}};
        System.outprintln(a[2][3]);
    }
}

【例】二维数组的动态初始化

import java.util.Arrays;
public class Test {
    public static void main(String[] args) {
        int[][]a = new int[3][];
I       //a[0]={1,2,5};//错误,没有声明类型就初始化
        a[0] = new int[]{1,2 };
        a[1]= new int[]{2,2};
        a[2] = new int[]{2, 2,3, 4};
        System.out.println(a[2][3]);
        System.out.println(Arrays.toString(a[0])); 
        System.out.println(Arrays.toString(a[1]));
        System.out.println(Arrays.toString(a[2]));
    }
}

执行结果:

4
[1,2]
[2,2]
[2,2,3,4]

分享一个全面学习JAVA的视频教程

以上就是小编为大家整理的关于JAVA的知识。

后续持续更新,还望诸君多多学习,早日上岸!

需要学习具体教程的可以关注私信我哦!

 


网站公告

今日签到

点亮在社区的每一天
去签到