数组求和:
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