数组求和:

1.

System.out.println("1+2+3+4+5="+getSum(1,2,3,4,5));  //5个参数

public static int getSum(int... numbers){ //可变长形参,
本质为数组
        int sum=0;
        for(int i=0; i<numbers.length; i++){  //按数组的方式操作
            sum+=numbers[i];
        }
        return sum;
    }

2.

int sum =getSum(new int[]{1,2,3,4,5});   //匿名数组做参数
        System.out.println("sum="+sum);

public static int getSum(int[] a){  //形参接收匿名数组
        int sum=0;
        for(int i=0;i<a.length; i++){
            sum+=a[i];
        }
        return sum;
    }

3.随机生成数组

int[] a = new int[]{32, 32, 96, 10, 29, 55};    

for(int i=0; i<a.length; i++){
            a[i] = (int)(Math.random()*100);            
       }

//int[] b=Arrays.copyOf(a,a.length);//数组的复制

b[0]=1;

System.out.println(Arrays.toString(b)); //输出[1, 29, 32, 32, 55, 96]

一、Arrays.copyOf(参数1,参数2)

参数1:int数组,例如数组a

参数2:整数数组长度

还可以有参数3:这时候参数二表示复制的数组起点,参数3表示复制的数组终点

返回值:一个新的int型数组,元素个数是4个,数组a个数大于4时,取前4个,小于4时,不足4个的补0

例:

Arrays.copyOf(a1,a2.length+10)

即可对数组长度进行改变,多出的部分全部值为0.

Arrays.copyOfRange(a1,1,2)

表示赋值数组a1的前一个字符,第二个不复制。

二、Arrays.sort(a);   //对数组a进行排序  ,默认为升序  

System.out.println(Arrays.toString(a));  //以"[32, 32, 96, 10, 29, 55]"形式打印输出      

//若想降序

Arrays.sort(a,Collections.reverseOrder());

但Arrays.sort(a,Collections.reverseOrder())不支持基本类型(int,double,char等),如果是int型需要改成Integer,float要改成Float。

三、 Arrays.toString()

将数组转换成string类型输出并用方括号,逗号形式。

直接输出数组名是地址。

a.tostring()输出地址值

注意:前面三个Arrays类里的要加前提

java.util.Arrays

四、char arr[]=s.toCharArray();

把字符串转换成字符数组

int n=scn.nextInt();
        
         String s=Integer.toString(n);

char arr[]=s.toCharArray();

五:二维数组创建方法

1.int array=new int[2][3]

2.int[][]  array=new int[][]{{1,2,3},{4,5,6}}

3.int[][]  b=new int[2][];

b[0]=new int[3];

b[1]=new int[5];

六、比较数组是否相等

两个数组名分别为a1,a2

1.Arrays.equals(a1,a2)

或boolean flag=a1.equals(a2);返回true or false

2.equalslgnoreCase()

它的用法与equals完全相同,区别就是equalslgnoreCase()比较时不区分大小写

七、数组的初始化

Arrays.fill(a1,50)

表示给数组a1全部赋值为50