zoukankan      html  css  js  c++  java
  • JAVA数组(一)

    这几天看了一下有关JAVA的数组部分,下面就写几个有关数组的代码利于掌握;

    ㈠复制数组;

    利用的是System.arraycopy(src, srcPos, dest, destPos, length);

    其中五个参数的意义代表 src--被复制数组,srcpos---从第几个元素开始复制,dest---要复制的数组,destpos---从第几个元素开始存储,length----一共需要复制的数组个数;

    实现的功能就是把a数组中得内容从a[0]复制到b数组中,b数组从b[2]开始接收a数组的内容,接收数目为3个,所以b[2]到b[5]就存储a数组的a[0]--a[3]的内容

    代码如下:

    package Practise;
    public class ArrayCopy {
        public static void main(String[] args){
            String[] a = {"liao", "cheng", "shi", "dou"};
            String[] b = new String[a.length + 1];//数组b的初始化,申请的长度比a大一
            System.arraycopy(a, 0, b, 2, 3);//从a的第一个元素开始复制,b从第二个元素开始接收三个元素
            for (int i = 0; i < b.length; i++){
                System.out.println(b[i]);
            }
        }
    }

    运行结果如下:

    ㈡引用Copy

    代码如下:

    package Practice;
    public class ReferenceCopyArray{
        public static void main(String[] args){
            int [] a = {2, 4, 6, 8, 10};////定义一个数组
            int [] b = a;////将a赋值给b
            a[0] = 1;
            a[1] = 3;
            a[2] = 5;
            a[3] = 7;
            a[4] = 9;
            for (int i = 0; i < b.length; i++){
                System.out.print(b[i] + " ");
            }
        }
     
    }

    运行结果:

    1 3 5 7 9

    解释:有的人说为什么不是输出的是2, 4, 6, 8, 10;因为这是引用复制,对a的操作其实就是对b的操作,a改变即b改变;相当于C++中得引用&;

    ㈢不规则数组的测试

    代码如下:

    package Practice;
    import java.util.Arrays;
    public class RaggedArray {
        public static void main(String[] arg){
            int [][] raggedArray = new int[10][];//新建一个不规则数组,一维数组元素个数为10
            for (int i = 0; i <raggedArray.length; i++){//在第一维上进行遍历
                raggedArray[i] = new int[i + 1];//初始化二维数组(长度是变化的)
                for (int j = 0; j < raggedArray[i].length; j++){
                    raggedArray[i][j] = j;//为二维数组每一个元素赋值
                }
            }
            /*
             * 第一种输出格式,转化成字符串输出
            for (int i = 0; i < raggedArray.length; i++){
                String arrayStr = Arrays.toString(raggedArray[i]);//将二维数组的每一个元素转化成字符串
                System.out.println(arrayStr);
            }*/
            //第二种输出格式,正常的输出
            for (int i = 0; i < raggedArray.length; i++){
                for (int j = 0; j < raggedArray[i].length; j++){
                    System.out.print(raggedArray[i][j] + " ");
                }
                System.out.println();
            }
        }
    }

    第一种的输出格式,转化成字符串形式输出

    第二种输出格式为:

  • 相关阅读:
    老毛桃装系统详解
    Eclipse常用快捷键
    oracle数据库查询日期sql语句(范例)、向已经建好的表格中添加一列属性并向该列添加数值、删除某一列的数据(一整列)
    java编程中Properties类的具体作用和使用!
    电感、磁珠和0欧电阻
    AXI总线(转)
    NOR Flash的学习
    allegro中如何添加安装孔(注:在PCB图纸中添加)
    转:一个计算机专业毕业的银行员工工作感受
    Allegro中常见的文件格式
  • 原文地址:https://www.cnblogs.com/lidaojian/p/2532129.html
Copyright © 2011-2022 走看看