zoukankan      html  css  js  c++  java
  • Java基础:数组的声明,循环,赋值,拷贝。

    数组的声明

    一般有两种形式的声明:

    int[] a;
    int a[];

    这两种声明都没错,但是大多数都使用第一种声明,因为变量名是独立的,不带任何符号。

    声明一个数组,并没有将a真正的初始化为一个数组。

    下面,语句就是声明了一个可以存储100个整数的数组。可以根据你的实际需求,更换int类型为你需要的数据类型。

    int[] a=new int[100];

    其中,数字数组的初始化默认为0。boolean为false。对象数组为null,如String类型的数组。

    数组的循环

    数组中的每个元素都有一个下标,下标从0开始,所以下标最大为数组的长度-1。

    当我们需要依次输出数组中的每个元素时,就需要用到循环。

    for(int i=0;i<100;i++)
    {
       System.out.println(a[i]);      
    }

    除了常规的循环,还有一种Java中的增强for循环,就相当于C#中的foreach,只是语法稍有不同。

    for(int item:a)
    {
       System.out.println(item);  
    }

    其中,int为遍历对象的类型,item为自定义的一个名字,冒号后面的a就是你遍历的对象,数组a。

    增强for循环的用途很多,而且不用在意数组的下标。

    数组的赋值

    单单只声明数组的话,数组的元素的值都只是默认值,下面的方法可以在声明的同时初始化它们的值。

    int[] a={1,2,3,4,5};

    这种声明,不需要手动限制它们的长度,它会根据值得个数,自动设置长度。

    此时,a.length=5;

    除了刚声明就给数组初始化外。还有一种可以方法可以重新初始化一个数组。

    a=new int[] {6,7,8,9,10};

    实际情况下,很少说直接初始化一个数组的值,然后只用这些值。

    一般情况下,需要声明后,根据实际的情况,给数组赋值。

    如果是单独赋值就是a[i]=n;就行了。

    还可以使用上面的for循环,给数组循环赋值。

    数组的拷贝

    Java允许将一个数组变量拷贝给另一个数组变量。

    值得注意的是,拷贝不是单纯的把a的值复制一份然后给b,而是a和b引用内存当中同一个数组。

    大家可以把内存理解成很多个房间,变量名就是门牌号。就相当于a和b两个门牌号指向同一个房间。

    int[] a={1,2,3,4,5};
    int[] b=a;

    但是这种拷贝有种缺点,就是如果a[i]变了,对应的b[i]也会变。

    如果你只是单纯的想要a中的值,可以使用copyOf方法。

    int[] b=Arrays.copyOf(a,a.lenght);
  • 相关阅读:
    [SDOI2009]学校食堂Dining
    [SCOI2005]最大子矩阵
    [AHOI2009]中国象棋
    洛谷P1850 换教室(概率dp)
    洛谷[1007]梦美与线段树(线段树+概率期望)
    洛谷P3577 [POI2014]TUR-Tourism
    CF1045G AI robots(动态开点线段树)
    洛谷P4721 【模板】分治 FFT(分治FFT)
    洛谷P4726 【模板】多项式指数函数
    洛谷P4173 残缺的字符串(FFT)
  • 原文地址:https://www.cnblogs.com/lbhym/p/11151322.html
Copyright © 2011-2022 走看看